├── .gitignore ├── .vscode └── settings.json ├── FFF.md ├── LICENSE ├── PM ├── readme.md └── 提效.md ├── README.md ├── algorithm ├── binary-tree.md ├── bloom-filter.md ├── data-structure.md ├── divide_and_conquer.md ├── dynamic-programming.md ├── hash.md ├── heap.md ├── images │ └── recursion-tree.png ├── linked-list.md ├── log.md ├── queue.md ├── readme.md ├── recursion.md ├── red-black-tree.md ├── stack.md ├── string_mtach.md └── 算法图解 │ ├── chapter-03.md │ └── readme.md ├── architecture-design ├── draft.md ├── images │ └── Architecture-design-01.drawio.svg ├── item-design.md ├── readme-summary.md └── readme.md ├── arthas └── readme.md ├── blog └── readme.md ├── c_plus_plus ├── c_plus_plus_point_and_array.md ├── imgaes │ └── c_p_p_pointer_arry.png └── readme.md ├── clang ├── c_address_test.md └── readme.md ├── cloud-native └── readme.md ├── code-review.md ├── css ├── CSS权威指南 │ ├── chap-001.md │ ├── chap-002.md │ ├── chap-003.md │ ├── chap-004.md │ ├── chap-005.md │ ├── chap-006.md │ ├── chap-007.md │ ├── chap-008.md │ ├── chap-009.md │ ├── images │ │ ├── box-mode.png │ │ ├── css-child-el.png │ │ ├── display-2.png │ │ ├── display.png │ │ ├── element-box.png │ │ ├── rate-cal.png │ │ └── white-space.png │ └── readme.md └── readme.md ├── day-day-year-year ├── 2018.md ├── 2019.md ├── 2020.md ├── 2021.md ├── 2022.md └── 2023.md ├── ddd ├── readme.md └── 领域驱动设计 │ ├── ddd-01.md │ ├── ddd-02.md │ ├── ddd-03.md │ ├── ddd-04.md │ ├── ddd-05.md │ ├── ddd-06.md │ ├── ddd-07.md │ ├── ddd-08.md │ ├── ddd-09.md │ ├── ddd-10.md │ ├── ddd-core.md │ ├── images │ ├── ddd-05-01.png │ ├── ddd-05-02.png │ └── ddd-06-01.png │ └── readme.md ├── design-patterns ├── abstract-factory-pattern.md ├── builder-pattern.md ├── chain-of-responsibility-pattern.md ├── composite-pattern.md ├── decorator-pattern.md ├── factory-method-pattern.md ├── gang-of-four-patterns.md ├── images │ └── design-pattern.png ├── multiton-pattern.md ├── observer-pattern.md ├── reactor-pattern.md ├── readme.md ├── singleton-pattern.md ├── state-pattern.md ├── strategy-pattern.md └── template-method-pattern.md ├── designing-data-intensive-appliactins ├── ddia-01.md ├── ddia-02.md ├── ddia-03.md ├── ddia-04.md ├── ddia-05.md ├── ddia-06.md ├── ddia-07.md ├── ddia-08.md ├── ddia-09.md └── readme.md ├── docker ├── base │ ├── namespace.md │ └── readme.md ├── demo │ ├── docker-http-server.md │ ├── docker-mysql.md │ ├── nginx.md │ └── redis.md ├── docker-cgroup.md ├── docker-changeset.md ├── docker-chroot.md ├── docker-cmd.md ├── docker-compose.md ├── docker-dockerfile.md ├── docker-images.md ├── docker-install.md ├── docker-jenkins.md ├── docker-log.md ├── docker-moby.md ├── docker-namespace.md ├── docker-network.md ├── docker-stack.md ├── docker-swarm.md ├── docker-systemd.md ├── docker-volume.md ├── docker-volumes.md ├── rancher.md └── readme.md ├── draw ├── draw-1F2130.png ├── draw-25B88F.png ├── draw-47BBE7.png ├── draw-F5BD41.png ├── draw.md └── ece6e2.drawio.svg ├── dubbo ├── dobbo-stream.md ├── draw.io │ └── router-tag.xml ├── dubbo-annotation.md ├── dubbo-async.md ├── dubbo-channel-buffer.md ├── dubbo-channel-handler.md ├── dubbo-cluster.md ├── dubbo-codec2.md ├── dubbo-dispatcher.md ├── dubbo-dynamic-configuration.md ├── dubbo-exchanger.md ├── dubbo-exporter.md ├── dubbo-extension-loader.md ├── dubbo-filter.md ├── dubbo-generic.md ├── dubbo-get-start.md ├── dubbo-hashed-wheel-timer.md ├── dubbo-init.md ├── dubbo-input-output-stream.md ├── dubbo-invocation.md ├── dubbo-invoker.md ├── dubbo-load-balance.md ├── dubbo-moudes.md ├── dubbo-protocol-dubbo-protocol.md ├── dubbo-protocol-registry-protocol.md ├── dubbo-protocol.md ├── dubbo-proxy.md ├── dubbo-registry-zookeeper.md ├── dubbo-registry.md ├── dubbo-reset.md ├── dubbo-router.md ├── dubbo-rpc-context.md ├── dubbo-rpc-invocation.md ├── dubbo-rpc.md ├── dubbo-serialization.md ├── dubbo-spi.md ├── dubbo-spring.md ├── dubbo-thread-pool.md ├── dubbo-transporter.md ├── dubbo-triple.md ├── dubbo-url.md ├── dubbo.3.0.md ├── images │ ├── TCP-IP-17-2.png │ ├── TCP-IP-17-2.svg │ ├── TCP-IP-3-1.png │ ├── TCP-IP-3-1.svg │ ├── TCP-IP-dubbo.drawio.svg │ ├── TCP-IP-dubbo.png │ ├── dubbo-AllChannelHandler.png │ ├── dubbo-AppResponse.png │ ├── dubbo-AsyncRpcResult.png │ ├── dubbo-ChannelBuffer.png │ ├── dubbo-DecodeHandler.png │ ├── dubbo-DecodeableRpcInvocation.png │ ├── dubbo-DecodeableRpcResult.png │ ├── dubbo-DubboCodec.png │ ├── dubbo-ExchangeHandler.png │ ├── dubbo-HeaderExchangeChannel.png │ ├── dubbo-HeaderExchangeClient.png │ ├── dubbo-HeaderExchangeServer.png │ ├── dubbo-Invoker.png │ ├── dubbo-JavassistProxyFactory.png │ ├── dubbo-JdkProxyFactory.png │ ├── dubbo-NettyClient.png │ ├── dubbo-NettyServer.png │ ├── dubbo-ReferenceBean.png │ ├── dubbo-RouterFactory.png │ ├── dubbo-ServiceBean.png │ ├── dubbo-TelnetHandler.png │ ├── dubbo-asyn.png │ ├── dubbo-channel-handler-all.png │ ├── dubbo-cluster.png │ ├── dubbo-codec2-protocol.png │ ├── dubbo-codec2.png │ ├── dubbo-config-center-useage.png │ ├── dubbo-customer-invoker.png │ ├── dubbo-customer-registry.png │ ├── dubbo-framework.jpg │ ├── dubbo-invoker-stack.png │ ├── dubbo-moudes.png │ ├── dubbo-overrideSubscribeUrl-vs-providerUrl.png │ ├── dubbo-protocol-export.png │ ├── dubbo-protocol-registry-protocol.png │ ├── dubbo-protocol.drawio.svg │ ├── dubbo-registry-multicast.png │ ├── dubbo-registry-zookeeper.png │ ├── dubbo-router-tag.png │ ├── dubbo-variable-part.drawio.svg │ ├── input-stream.png │ ├── invoke-arch.jpeg │ └── output-stream.png └── readme.md ├── es ├── ElasticSearch-权威指南-中文版 │ ├── es-01.md │ ├── es-02.md │ ├── es-03.md │ ├── es-04.md │ ├── es-05.md │ ├── es-06.md │ ├── es-07.md │ ├── es-08.md │ ├── es-09.md │ ├── es-10.md │ ├── es-11.md │ ├── es-12.md │ ├── es-13.md │ ├── es-14.md │ ├── es-15.md │ ├── images │ │ ├── es-per-segment-search.drawio.svg │ │ └── readme.md │ └── readme.md ├── es-agg.md ├── es-api.md ├── es-cerebro.md ├── es-core.md ├── es-data-version.md ├── es-index.md ├── es-inverted-index.md ├── es-query.md ├── es-script.md ├── es-sort.md ├── images │ ├── es-token.drawio.svg │ └── es-uri-search.md ├── readme.md └── sort.json ├── etcd └── etcd-install.md ├── golang ├── go-array.md ├── go-func.md ├── go-goroutine.md ├── go-interface.md ├── go-method.md ├── go-mod.md ├── go-modules.md ├── go-proxy.md ├── go-source.md ├── go-struct.md ├── go-vendor.md ├── head-first-go │ ├── head-first-go-01-syntax-basics.md │ ├── head-first-go-02-conditionals-and-loops.md │ ├── head-first-go-03-functions.md │ ├── head-first-go-04-packages.md │ ├── head-first-go-05-arrays.md │ ├── head-first-go-06-slices.md │ ├── head-first-go-07-maps.md │ ├── head-first-go-08-structs.md │ ├── head-first-go-09-defined-types.md │ ├── head-first-go-10-encapsulation-and-embedding.md │ ├── head-first-go-11-interfaces.md │ └── readme.md ├── images │ └── 8srJD8LWg.png ├── readme.md └── the-go-programming-language │ ├── go-pl-01.md │ ├── go-pl-02.md │ ├── go-pl-03.md │ ├── go-pl-04.md │ ├── go-pl-05.md │ ├── go-pl-06.md │ ├── go-pl-07.md │ └── readme.md ├── hardware ├── PCB │ └── readme.md ├── readme.md ├── 全彩图解电子工程师入门手册 │ ├── images │ │ └── readme.md │ └── readme.md ├── 新概念模拟电路-1-晶体管 │ ├── chapter-00.md │ ├── chapter-01-section-01.md │ ├── chapter-01-section-02.md │ ├── chapter-01-section-03.md │ ├── chapter-01.md │ ├── images │ │ ├── section-1-7.png │ │ ├── 新概念模拟电路-1-section-1-5.drawio.svg │ │ ├── 新概念模拟电路-1-section-1-6.drawio.svg │ │ └── 新概念模拟电路-1-section-1-7.drawio.svg │ └── readme.md ├── 模拟电子技术基础-第四版 │ ├── chatper-00.md │ ├── chatper-01.md │ ├── chatper-02.md │ ├── chatper-03.md │ ├── chatper-04.md │ ├── images │ │ ├── 0-2-1.png │ │ ├── 2.2.1.drawio.svg │ │ ├── analog-digital-signal.png │ │ └── 载流子.png │ ├── readme.md │ └── todo.md └── 电工电子技术基础知识 │ └── readme.md ├── heiheihei └── readme.md ├── idea ├── idea.md ├── images │ ├── git-commit.png │ ├── git-log.gif │ ├── git-log.png │ ├── git-merge.gif │ ├── hot-reload-main.gif │ ├── idea-tool-bar.png │ ├── live-template-config.png │ ├── main.gif │ ├── tomcat-hot-reload-demo.gif │ └── tomcat-hot-reload.gif └── readme.md ├── istio └── readme.md ├── java ├── agent.md ├── aqs.md ├── assert.md ├── atomic.md ├── base-type.md ├── blocking-queue.md ├── cas.md ├── charset.md ├── class.md ├── classloader.md ├── clh.md ├── collection.md ├── complement.md ├── completable-future.md ├── concurrency.md ├── concurrent-hash-map.md ├── concurrent-modification-exception.md ├── condition.md ├── copy-on-write.md ├── cors.md ├── count-down-latch.md ├── cyclic-barrier.md ├── deque.md ├── draw.io │ ├── ThreadPoolExecutor.xml │ ├── aqs.drawio │ ├── linked-bloking-queue.xml │ ├── list.xml │ └── writer-reader.xml ├── druid │ ├── druid.xml │ └── readme.md ├── exception.md ├── executor.md ├── fork-join-pool.md ├── future.md ├── hashmap-get-put.md ├── hashmap-init-and-resize.md ├── hashmap-treebin.md ├── hashmap.md ├── images │ ├── ArrayBlockingQueue.png │ ├── ArrayBlockingQueue02.png │ ├── Channel.png │ ├── CopyOnWriteArrayList.png │ ├── DelayedWorkQueue.png │ ├── FutureTask.png │ ├── LinkedBlockingQueue.png │ ├── LinkedHashMap.png │ ├── NioBuffer.png │ ├── ScheduledFutureTask.png │ ├── ScheduledThreadPoolExecutor.png │ ├── ServerSocketChannel.png │ ├── SocketChannel.png │ ├── Sync.png │ ├── SynchronousQueue.png │ ├── ThreadPoolExecutor.png │ ├── asq-wait-status-2.png │ ├── asq-wait-status.png │ ├── atomic.png │ ├── class-loader.png │ ├── concurrent-hash-map-node.png │ ├── deque.png │ ├── executor.png │ ├── future.png │ ├── hash-demo.png │ ├── hashmap-bit-array.png │ ├── hashmap-element-move.png │ ├── hashmap-new-array.png │ ├── hashmap-node-to-tree.png │ ├── hashmap-tree-mock.png │ ├── hashmap-tree-node.png │ ├── hashmap-tree-rotate-left.png │ ├── hashmap-tree-rotate-right.png │ ├── hashmap-tree-x-node.png │ ├── hashmap-tree-x.png │ ├── hashmap-tree.png │ ├── int-to-byte.png │ ├── io-stream.png │ ├── left-rotate.gif │ ├── linked-blocking-queue-put.png │ ├── list.png │ ├── map.png │ ├── queue.png │ ├── reader.png │ ├── right-rotate.gif │ ├── set.png │ ├── thread-pool-ctl.png │ ├── threads-state.gif │ └── writer.png ├── instrumentation │ └── instrumentation.md ├── int-to-byte-and-byte-to-int.md ├── invocation-handler.md ├── io.md ├── java-blog.md ├── jdk-source-code.md ├── list.md ├── lock-support.md ├── lock.md ├── map.md ├── monitor.md ├── nio-byte-buffer.md ├── nio-channel.md ├── nio-mapped-byte-buffer.md ├── nio-selectable-channel.md ├── nio-selection-key.md ├── nio-selector-socket-demo.md ├── nio-socket.md ├── nio.md ├── nio │ ├── nio.chapter-01.md │ ├── nio.chapter-06.md │ ├── nio.chapter-07.md │ ├── nio.chapter-13.md │ ├── nio.chapter-14.md │ └── readme.md ├── queue.md ├── readme.md ├── reentrant-lock.md ├── reentrant-read-write-lock.md ├── reflect.md ├── scheduled-thread-pool-executor.md ├── serializable.md ├── servlet.md ├── set.md ├── socket-option.md ├── synchronized.md ├── thread-local.md ├── thread-pool-executor-constructor.md ├── thread-pool-executor.md ├── thread.md └── volatile.md ├── java8 ├── collector.md ├── collectors.md ├── completable-future.md ├── default-method.md ├── file.md ├── function.md ├── future.md ├── graceful-java8.md ├── images │ ├── CompletableFuture.png │ ├── java8-complate-future-stream.png │ └── stream.png ├── java8-in-action.md ├── lambda.md ├── localdatetime.md ├── optional.md ├── pipeline.md ├── spliterator.md ├── stream-impl.md ├── stream-map.md └── stream.md ├── jvm ├── HotSopt实战 │ ├── chapter-01.md │ ├── chapter-02.md │ ├── chapter-03.md │ ├── chapter-04.md │ ├── chapter-05.md │ ├── chapter-06.md │ ├── chapter-07.md │ ├── chapter-08.md │ ├── chapter-09.md │ ├── images │ │ ├── 2.7-main函数执行流程.svg │ │ ├── 4-1-内存区域划分.drawio.svg │ │ ├── JavaMain程序流程.drawio.svg │ │ ├── hossopt实战-3-3.drawio.svg │ │ ├── hossopt实战-3-4.drawio.svg │ │ ├── jvm-g1-heap-Layout.drawio.svg │ │ └── jvm-gc-log-2023-01-11.drawio.svg │ └── readme.md ├── Java并发编程的艺术 │ ├── 01.md │ ├── 02.md │ ├── 03.md │ └── readme.md ├── gc-log.md ├── images │ ├── chapter-03-6.drawio.svg │ ├── jvm-g1-2023-01-09-colored-pointer.drawio.svg │ ├── jvm-g1-2023-01-09-mark-relocate-remap.drawio.svg │ ├── jvm-g1-heap-Layout.drawio.svg │ ├── jvm-gc-log-2023-01-11.drawio.svg │ ├── jvm-gc-parallel-heap-layout.drawio.svg │ ├── jvm-heap.drawio.svg │ ├── jvm_op_code-load-store-ldc.drawio.svg │ ├── jvm_op_code-load-store.drawio.svg │ ├── jvm_op_code.png │ ├── load-store.png │ └── memory-analyze │ │ ├── dominator-tree-2.png │ │ ├── dominator-tree.png │ │ ├── leak-suspect.png │ │ ├── report.png │ │ ├── thread-stack.png │ │ └── visualvm-hprof.png ├── jvm-asm.md ├── jvm-blog.md ├── jvm-config.md ├── jvm-gc-cms.md ├── jvm-gc-g1-config.md ├── jvm-gc-g1.md ├── jvm-gc-parallel-scavenge.md ├── jvm-gc-utils.md ├── jvm-gc-zgc.md ├── jvm-gc.md ├── jvm-iinr.md ├── jvm-itable-vtable.md ├── jvm-javassist.md ├── jvm-jmm.md ├── jvm-jni.md ├── jvm-klass.md ├── jvm-lock.md ├── jvm-mermory.md ├── jvm-native-memory.md ├── jvm-opcode.md ├── jvm-safe-point.md ├── jvm-switch-case.md ├── jvm-synchronized.md ├── jvm-thread-create.md ├── jvm-thread.md ├── jvm-tlab.md ├── jvm.md ├── readme.md ├── 深入JVM虚拟机-JVM-G1算法与实现 │ ├── chapter-01.md │ ├── chapter-02.md │ ├── chapter-03.md │ ├── chapter-04.md │ ├── chapter-05.md │ ├── chapter-06.md │ ├── chapter-07.md │ ├── chapter-08.md │ ├── chapter-09.md │ ├── chapter-10.md │ ├── chapter-11.md │ ├── chapter-12.md │ ├── chapter-13.md │ ├── chapter-14.md │ ├── chapter-15.md │ ├── chapter-16.md │ ├── chapter-17.md │ ├── chapter-18.md │ ├── chapter-19.md │ ├── chapter-20.md │ ├── images │ │ ├── GangWorker.drawio.svg │ │ ├── card-table.drawio.svg │ │ ├── hotspot-thread.drawio.svg │ │ ├── mset-card-table.drawio.svg │ │ └── mutator-and-gc.drawio.svg │ └── readme.md ├── 深入剖析Java虚拟机源码剖析与实例详解-基础卷-马智 │ ├── chapter-01.md │ ├── chapter-02.md │ ├── chapter-03.md │ ├── chapter-04.md │ ├── chapter-05.md │ ├── chapter-06.md │ ├── chapter-07.md │ ├── chapter-08.md │ ├── chapter-09.md │ ├── chapter-10.md │ ├── chapter-11.md │ ├── chapter-12.md │ ├── chapter-13.md │ ├── images │ │ ├── CollectedHeap.drawio.svg │ │ ├── CollectorPolicy.drawio.svg │ │ ├── ConstantMethod.drawio.svg │ │ ├── ConstantPoolCacheEntry-method.drawio.svg │ │ ├── Generation.drawio.svg │ │ ├── HandleArea.drawio.svg │ │ ├── Method.drawio.svg │ │ ├── Serial-layout.drawio.svg │ │ ├── chapter-03-6.drawio.svg │ │ ├── handle-reference.drawio.svg │ │ ├── handle.drawio.svg │ │ ├── java-heap.drawio.svg │ │ ├── jvm-class-load.drawio.svg │ │ ├── jvm-class-loader.drawio.svg │ │ ├── kclass.drawio.svg │ │ ├── klass-vtable.drawio.svg │ │ ├── klcass-itable.drawio.svg │ │ ├── memory-layout.drawio.svg │ │ ├── memory-offset-table.drawio.svg │ │ ├── oopDesc-layout.drawio.svg │ │ ├── oopDesc.drawio.svg │ │ ├── saved-mark.drawio.svg │ │ └── vm-thread.drawio.svg │ └── readme.md ├── 深入理解Java虚拟机 │ ├── chapter-02.md │ ├── chapter-03.md │ ├── chapter-04.md │ ├── chapter-05.md │ ├── chapter-06.md │ ├── chapter-07.md │ ├── chapter-08.md │ ├── chapter-09.md │ ├── chapter-10.md │ ├── chapter-11.md │ ├── chapter-12.md │ ├── chapter-13.md │ ├── images │ │ ├── chapter-03-3.3.5.drawio.svg │ │ ├── chapter-03-6.drawio.svg │ │ └── jvm-class-loader.drawio.svg │ └── readme.md └── 深入理解jvm字节码 │ ├── 01.md │ ├── 02.md │ ├── 03.md │ └── readme.md ├── kafka ├── readme.md └── 深入理解kafka-核心设计与实践原理 │ ├── chapter-01.md │ ├── chapter-02.md │ ├── chapter-03.md │ ├── chapter-04.md │ ├── chapter-05.md │ ├── chapter-06.md │ ├── chapter-07.md │ ├── chapter-08.md │ ├── images │ ├── consumer-offset.png │ ├── kafka-consumer-group.png │ └── kafka-producer.png │ └── readme.md ├── kubernetes ├── demo │ └── demo.md ├── images │ ├── k8s-bin.png │ ├── k8s-controller.png │ ├── k8s-master.png │ ├── k8s-node.png │ ├── k8s-tech.png │ ├── k8s.png │ └── minikube.png ├── kubenetes-dashboard.md ├── kubernetes-components.md ├── kubernetes-configmap.md ├── kubernetes-controller.md ├── kubernetes-crd.md ├── kubernetes-cri.md ├── kubernetes-daemon-set.md ├── kubernetes-deployment.md ├── kubernetes-flannel.md ├── kubernetes-helm.md ├── kubernetes-infromer.md ├── kubernetes-install-bin.md ├── kubernetes-install.md ├── kubernetes-job.md ├── kubernetes-lables.md ├── kubernetes-pod.md ├── kubernetes-probe-spec.md ├── kubernetes-pv-pvc.md ├── kubernetes-replicaset.md ├── kubernetes-runtime-class.md ├── kubernetes-schedule.md ├── kubernetes-service.md ├── kubernetes-statefuleset.md ├── kubernetes-ui.md ├── kubernetes-volume.md ├── kubernetes.md ├── kuboard.md ├── minikube.md └── readme.md ├── linux ├── Linux设备驱动开发详解 │ ├── 001-linux-env-build.md │ ├── 002-linux-base.md │ ├── 003-linux-kconfig.md │ ├── 004-linux-module.md │ ├── 005-linux-udev.md │ ├── 006-linux-cdev.md │ ├── 007-linux-concurrency.md │ ├── 008-linux-select-poll.md │ ├── 009-linux-aio.md │ ├── 010-linux-irq.md │ ├── 011-linux-io.md │ ├── 012-linux-device-drive-arch.md │ ├── 013-linux-block-device.md │ ├── 014-linux-net-device.md │ ├── 015-linux-i2c.md │ ├── 016-linux-usb.md │ ├── 017-linux-i2c-spi-usb.md │ ├── 018-linux-arm-dts.md │ ├── 019-linux-power.md │ ├── 020-linux-soc.md │ ├── 021-linux-debug.md │ ├── images │ │ ├── 006-linux-file_operations.png │ │ ├── 008-linux-select-pool.png │ │ ├── 008-linux-wait-queue-wait-queue-head-t.png │ │ ├── 009-linux-async-sig.png │ │ ├── 009-linux-eagain-sync-io.png │ │ ├── 010-linux-top-half.png │ │ ├── 011-linux-32-mem.png │ │ ├── 011-linux-dma-cache-2.png │ │ ├── 011-linux-dma-cache.png │ │ ├── 011-linux-io-port-flow.png │ │ ├── 011-linux-io-port.png │ │ ├── 011-linux-io.png │ │ ├── 011-linux-mem.png │ │ ├── 011-linux-virtual-mem.png │ │ ├── 011-mmu-arm.png │ │ ├── 011-mmu-table.png │ │ ├── 012-linux-deivce-layer.png │ │ ├── 012-linux-device-1.png │ │ ├── 012-linux-framebuffer.png │ │ ├── 012-linux-tty.png │ │ ├── 013-linux-bio-vec.png │ │ ├── 013-linux-io-schedule.png │ │ ├── 014-linux-net-device-layer.png │ │ ├── 014-linux-net-sk-buff.png │ │ ├── 015-linux-ic2-arch.png │ │ ├── 016-linux-sub-point.png │ │ ├── 016-linux-usb-arch.png │ │ ├── 017-linux-i2c-usb-spi.png │ │ ├── 018-linux-dts-arch.png │ │ └── 019-linux-power-arch.png │ └── readme.md ├── linux-fork.md ├── linux-memeory.md └── readme.md ├── mac ├── iterm.md ├── readme.md └── telnet.md ├── mathematics ├── readme.md └── 数学之美 │ ├── chapter-01.md │ ├── chapter-02.md │ ├── chapter-03.md │ ├── chapter-04.md │ ├── chapter-05.md │ ├── chapter-12.md │ ├── chapter-13.md │ ├── chapter-14.md │ ├── chapter-15.md │ └── readme.md ├── micro-services ├── distributed-tx.md ├── readme.md └── service-discovery.md ├── mybatis ├── images │ ├── DataSourceTransactionManager.png │ ├── SqlSessionFactoryBean.png │ ├── mybatis-exe.draw.png │ ├── mybatis-mapper-factory-bean.png │ ├── mybatis-mapper-scanner-configurer.png │ ├── mybatis-ms.png │ └── mybatis.png ├── mybatis-bound-sql.md ├── mybatis-cache.md ├── mybatis-configuration.md ├── mybatis-executor.md ├── mybatis-interceptor.md ├── mybatis-key-generator.md ├── mybatis-mapped-statement.md ├── mybatis-mapper-factory-bean.md ├── mybatis-mapper-method.md ├── mybatis-mapper-proxy.md ├── mybatis-mapper-scanner-configurer.md ├── mybatis-plugin.md ├── mybatis-pooled-data-source.md ├── mybatis-result-set-handler.md ├── mybatis-spring.md ├── mybatis-sql-session-factory-bean.md ├── mybatis-sql-session-template.md ├── mybatis-sql-session.md ├── mybatis-statement-handler.md ├── mybatis-tx.md ├── mybatis-type-handler.md ├── mybatis-xml-statement-builder.md ├── mybstis-xml-config-builder.md └── readme.md ├── mysql ├── MySQL技术内幕(InnoDB存储引擎)第2版 │ ├── chapter-01.md │ ├── chapter-02.md │ ├── chapter-03.md │ ├── chapter-04.md │ ├── chapter-05.md │ ├── chapter-06.md │ ├── chapter-07.md │ ├── chapter-08.md │ ├── chapter-09.md │ ├── chapter-10.md │ ├── images │ │ ├── mysql-innodb-chapter-02-05.drawio.svg │ │ ├── mysql-innodb-chapter-03-01.drawio.svg │ │ ├── mysql-innodb-chapter-03-02.drawio.svg │ │ ├── mysql-innodb-chapter-03-03.drawio.svg │ │ ├── mysql-innodb-chapter-04-01.drawio.svg │ │ ├── mysql-innodb-chapter-04-02.drawio.svg │ │ ├── mysql-innodb-chapter-04-03.drawio.svg │ │ ├── mysql-innodb-chapter-04-04.drawio.svg │ │ ├── mysql-innodb-chapter-04-05.drawio.svg │ │ ├── mysql-innodb-chapter-05-06.drawio.svg │ │ ├── mysql-innodb-chapter-06-4.drawio.svg │ │ ├── mysql-innodb-chapter-07-21.drawio.svg │ │ ├── mysql-innodb-chapter-07-23.drawio.svg │ │ └── mysql-innodb-chapter-07-24.drawio.svg │ └── readme.md ├── MySQL是怎么运行的 │ ├── images │ │ ├── MySQL-page.drawio.svg │ │ ├── MySQL-事务-01.drawio.svg │ │ ├── MySQL-事务-02.drawio.svg │ │ ├── innodb-architecture.png │ │ └── mysql-innodb-chapter-04-01.drawio.svg │ ├── mysql-01.md │ ├── mysql-02.md │ ├── mysql-03.md │ ├── mysql-04.md │ ├── mysql-05.md │ ├── mysql-06.md │ ├── mysql-07.md │ ├── mysql-08.md │ ├── mysql-09.md │ ├── mysql-10.md │ ├── mysql-11.md │ ├── mysql-12.md │ ├── mysql-13.md │ ├── mysql-14.md │ ├── mysql-15.md │ ├── mysql-16.md │ ├── mysql-17.md │ ├── mysql-18.md │ ├── mysql-19.md │ ├── mysql-20.md │ ├── mysql-21.md │ ├── mysql-22.md │ ├── mysql-23.md │ ├── mysql-24.md │ ├── mysql-25.md │ ├── mysql-26.md │ └── readme.md ├── images │ ├── MySQL-6-3.drawio.svg │ ├── innodb-architecture.png │ ├── innodb-buffer-pool-list.png │ ├── innodb-data-struct.png │ └── mysql-innodb-chapter-06-4.drawio.svg ├── mysql-Innodb-row-formats.md ├── mysql-blog.md ├── mysql-cmd.md ├── mysql-data-type.md ├── mysql-group-by.md ├── mysql-index.md ├── mysql-innodb-locking.md ├── mysql-innodb.md ├── mysql-join.md ├── mysql-limit.md ├── mysql-lock-dead.md ├── mysql-lock-summary.md ├── mysql-lock.md ├── mysql-mmvc.md ├── mysql-page.md ├── mysql-profile.md ├── mysql-redo-undo.md ├── mysql-temporary-table.md ├── mysql-tokudb.md ├── mysql-transaction.md ├── mysql-xa.md └── readme.md ├── nacos ├── images │ ├── nacos-arch.png │ ├── nacso-Nacos⼀致性协议.drawio.svg │ ├── nacso-服务的分级模型.drawio.svg │ └── nacso-服务的逻辑隔离模型.drawio.svg ├── nacos-aliyun.md ├── nacos-config-service.md ├── nacos-config.md ├── nacos-distro.md ├── nacos-nacos-factory.md ├── nacos-naming-factory.md ├── nacos-naming-service.md ├── nacos-spring.md ├── nacos.md └── readme.md ├── netty ├── draw.io │ └── netty-in-action.xml ├── images │ ├── Bootstrap.png │ ├── ChannelHandlerContext.png │ ├── ChannelHandlers.png │ ├── DefaultChannelPromise.png │ ├── EventExecutorGroup.png │ ├── EventLoop.png │ ├── FullHttpRequest.png │ ├── FullHttpResponse.png │ ├── Interface-EventLoop.png │ ├── LengthFieldBasedFrameDecoder.png │ ├── MarshallingDecoder.png │ ├── MarshallingEncoder.png │ ├── NioEventLoop.png │ ├── NioEventLoopGroup.png │ ├── NioServerSocketChannel.png │ ├── NioSocketChannel.png │ ├── ObjectDecoder.png │ ├── ObjectEncoder.png │ ├── PooledByteBufAllocator.png │ ├── ProtobufDecoder.png │ ├── ProtobufEncoder.png │ ├── ServerBootstrap.png │ ├── SimpleChannelInboundHandler.png │ ├── UnpooledByteBufAllocator.png │ ├── channel-adapter.png │ ├── channel-context.png │ ├── channel-state.png │ ├── components.png │ ├── eventLoop-and-hannel.png │ ├── java-nio-selector.png │ ├── netty-4.1-module.svg │ ├── netty-4.1-modules.png │ ├── netty-DefaultChannelHandlerContext.png │ ├── netty-in-action-channel-pipe-line.png │ ├── netty-in-action-components-and-design.png │ ├── netty-in-action.png │ ├── netty-pipeline-channel.png │ ├── poolarena-poolarena.svg │ ├── unix-network-1-4-1.png │ └── unix-network-1-4-1.svg ├── netty-base.md ├── netty-bootstrap.md ├── netty-byte-buf-allocator.md ├── netty-byte-buf.md ├── netty-byte-to-message-decoder.md ├── netty-channel-future.md ├── netty-channel-handler-context.md ├── netty-channel-handler.md ├── netty-channel-outbound-buffer.md ├── netty-channel-pipeline.md ├── netty-channel.md ├── netty-core.md ├── netty-event-executor-chooser.md ├── netty-event-loop.md ├── netty-fast-thread-local.md ├── netty-guid.md ├── netty-hash-wheel-timer.md ├── netty-inaction │ ├── netty-in-action-chapter-01.md │ ├── netty-in-action-chapter-02.md │ ├── netty-in-action-chapter-03.md │ ├── netty-in-action-chapter-04.md │ ├── netty-in-action-chapter-05.md │ ├── netty-in-action-chapter-06.md │ ├── netty-in-action-chapter-07.md │ ├── netty-in-action-chapter-08.md │ ├── netty-in-action-chapter-09.md │ ├── netty-in-action-chapter-10.md │ ├── netty-in-action-chapter-11.md │ ├── netty-in-action-chapter-12.md │ ├── netty-in-action-chapter-13.md │ ├── netty-in-action-chapter-14.md │ ├── netty-in-action-summary.md │ ├── netty-inaction.md │ └── readme.md ├── netty-message-to-message-codec.md ├── netty-mpsc-queue.md ├── netty-pool-arena.md ├── netty-pool-chunk.md ├── netty-pool-thread-cache.md ├── netty-read-data.md ├── netty-recycler.md ├── netty-size-classes.md ├── netty-write-data.md ├── readme.md └── socket-base.md ├── operating-system ├── 0xFF.md ├── Unix环境高级编程 │ ├── readmed.md │ └── unix-chapter-12.md ├── assembly │ ├── __asm__.md │ ├── assembly_links.md │ ├── c_asm_demo.md │ ├── 汇编语言-基于X86处理器 │ │ └── readme.md │ └── 汇编语言-第三版 │ │ ├── demo │ │ ├── 1.asm │ │ ├── 123X236.asm │ │ ├── abc.asm │ │ ├── jmp0.asm │ │ ├── offest.asm │ │ ├── p3.asm │ │ ├── p4.asm │ │ ├── ret.asm │ │ ├── ss0.asm │ │ └── t1.asm │ │ └── readme.md ├── binary_bit_byte.md ├── bit.md ├── cpu.md ├── cpu_cache.md ├── demos │ └── malloc_demo.c ├── fs.md ├── gc.md ├── images │ ├── linux-memory-layout.drawio.svg │ └── memory.drawio.svg ├── interrupt.md ├── mmap.md ├── page_memory.md ├── process-thread-coroutine.md ├── readme.md ├── register.md ├── stack.md ├── vm.md ├── volatile.md ├── 垃圾回收算法手册 │ ├── chapter-01.md │ ├── chapter-02.md │ ├── chapter-03.md │ ├── chapter-04.md │ ├── chapter-05.md │ ├── chapter-07.md │ ├── chapter-15.md │ ├── drawio │ │ └── 垃圾回收算法手册.drawio │ ├── images │ │ ├── chapter-02-1.drawio.svg │ │ └── chapter-07-1.drawio.svg │ └── readme.md ├── 深入理解Linux内核 │ ├── chapter-01.md │ ├── chapter-02.md │ ├── chapter-08.md │ ├── chapter-09.md │ ├── chapter-12.md │ ├── images │ │ ├── 2-1.drawio.svg │ │ ├── 2-12.drawio.svg │ │ ├── 2-13.drawio.svg │ │ ├── 2-2.drawio.svg │ │ ├── 2-7.drawio.svg │ │ ├── 32-page.drawio.svg │ │ ├── 深入理解Linux内核-12-2.drawio.svg │ │ └── 第二章-内存寻址.svg │ └── readme.md └── 深入理解计算机系统-第三版 │ ├── chapter-01.md │ ├── chapter-02.md │ ├── chapter-03.md │ ├── images │ ├── CSAPP-2-32.svg │ ├── CSAPP-2-33.svg │ └── CSAPP-算数右移.drawio.svg │ └── readme.md ├── other ├── css │ └── readme.md ├── jms │ └── jms-blog.md ├── js │ ├── ==and===.md │ ├── IIFEs.md │ ├── apply.md │ ├── arguments.md │ ├── arrow-function.md │ ├── ast.md │ ├── async.md │ ├── await.md │ ├── babel │ │ └── readme.md │ ├── bind.md │ ├── call.md │ ├── class.md │ ├── closure.md │ ├── constructor.md │ ├── event-loop.md │ ├── export.md │ ├── extends.md │ ├── flow │ │ ├── flow.md │ │ ├── flowconfig.md │ │ └── types.md │ ├── function.md │ ├── generator.md │ ├── hoisting.md │ ├── import.md │ ├── introduction.md │ ├── iterable.md │ ├── map.md │ ├── method.md │ ├── new.md │ ├── nodejs │ │ ├── export.md │ │ ├── import.md │ │ ├── module.md │ │ └── readme.md │ ├── object.md │ ├── promise.md │ ├── prototype.md │ ├── reactjs │ │ ├── react-lifecycle.md │ │ ├── react-redux.md │ │ ├── react-state.md │ │ └── readme.md │ ├── readme.md │ ├── static.md │ ├── strict.md │ ├── super.md │ ├── this.md │ ├── undefined.md │ ├── vuejs │ │ └── readme.md │ ├── webpack.md │ └── xmlhttprequest.md ├── nginx.md ├── readme.md ├── todo │ ├── 2017-03-22-code-review.md │ └── todo.md ├── typescript │ ├── class.md │ └── readme.md ├── utils │ └── readme.md └── zzz │ └── readme.md ├── plan └── 2023-08.md ├── read.md ├── redis ├── Redis核心 │ ├── images │ │ ├── redis-collection.png │ │ ├── redis-data-type.png │ │ ├── redis-global-hash-table.drawio.svg │ │ ├── redis-redis-object.drawio.svg │ │ └── redis.drawio.svg │ ├── readme.md │ ├── redis-acid.md │ ├── redis-atomic.md │ ├── redis-cmd.md │ ├── redis-collection.md │ ├── redis-data-struct.md │ ├── redis-fork.md │ └── redis-thread.md ├── Redis的设计与实现 │ └── readme.md ├── demo │ └── readme.md ├── jedis.md ├── readme.md ├── redis-blog.md ├── redis-cmd.md ├── redis-config.md └── redis-io.md ├── rocketmq ├── images │ ├── idea-quick-go-to-line.png │ ├── mapped-file-queue-new.png │ ├── rmq-basic-arc.png │ ├── rocket-mq-customer-head-trac.png │ ├── rocket-mq-customer-head.png │ ├── rocket-mq-tx.png │ ├── rocket-netty-async.png │ ├── rocket-store-msg-seralize.drawio.svg │ ├── rocket-store-msg-seralize.png │ ├── rocket-store-msg.png │ ├── rocket-store-store.drawio.svg │ ├── rocket-store.png │ ├── rocketmq-consumer-AllocateMessageQueueAveragely.png │ ├── rocketmq-consumer-AllocateMessageQueueAveragely.svg │ ├── rocketmq-consumer-consumer-simple.png │ ├── rocketmq-consumer-consumer-simple.svg │ ├── rocketmq-consumer-create-consumer.png │ ├── rocketmq-consumer-create-consumer.svg │ ├── rocketmq-consumer-create-topic.png │ ├── rocketmq-consumer-msg-serialize.drawio.svg │ ├── rocketmq-consumer-nameserver.png │ ├── rocketmq-consumer-route-info.png │ ├── rocketmq-consumer-send-msg.png │ ├── rocketmq-consumer-start.png │ ├── rocketmq-consumer-start.svg │ ├── rocketmq-consumer.png │ ├── rocketmq-consumer.svg │ ├── rocketmq-consumerqueue.drawio.svg │ ├── rocketmq-delete-tags.png │ ├── rocketmq-message-id.drawio.svg │ ├── rocketmq-messgae-flow.png │ ├── rocketmq-mqadmin.png │ ├── rocketmq-msg-serialize.png │ ├── rocketmq-nameserver-info.png │ ├── rocketmq-nameserver.drawio.svg │ ├── rocketmq-ns.drawio.svg │ ├── rocketmq-processer.png │ ├── rocketmq-producer.png │ ├── topic-config.png │ └── tpoic-route-data.png ├── readme-todo.md ├── readme.md ├── rocketmq-FAQ-100.md ├── rocketmq-HA.md ├── rocketmq-admin.md ├── rocketmq-architecture.md ├── rocketmq-base.md ├── rocketmq-broker-cluster.md ├── rocketmq-broker-start.md ├── rocketmq-broker.md ├── rocketmq-commit-log.md ├── rocketmq-config.md ├── rocketmq-consume-queue.md ├── rocketmq-consumer-orderly.md ├── rocketmq-consumer-push-pull.md ├── rocketmq-consumer-send-msg-back.md ├── rocketmq-consumer.md ├── rocketmq-delay-message.md ├── rocketmq-filter.md ├── rocketmq-index.md ├── rocketmq-mapped-file.md ├── rocketmq-message-ext.md ├── rocketmq-message-id.md ├── rocketmq-message-queue.md ├── rocketmq-message-store.md ├── rocketmq-name-server.md ├── rocketmq-namespace.md ├── rocketmq-netty.md ├── rocketmq-process-queue.md ├── rocketmq-producer.md ├── rocketmq-rebalance.md ├── rocketmq-remoting-command.md ├── rocketmq-route-info.md ├── rocketmq-route.md ├── rocketmq-serialize.md ├── rocketmq-store.md ├── rocketmq-tags.md ├── rocketmq-topic.md └── rocketmq-tx.md ├── seata ├── images │ ├── seata-BranchStatus.png │ ├── seata-GlobalStatus.png │ ├── seata-commit-failed.drawio.svg │ ├── seata-commit-failed.png │ ├── seata-rollback-failed.drawio.svg │ ├── seata-rollback-failed.png │ ├── seata-seata.png │ ├── seata-session-manager.png │ ├── seata-tm-tm-tc.drawio.svg │ ├── seata-tm-tm-tc.png │ ├── seata-try-failed.drawio.svg │ └── seata-try-failed.png ├── readme.md ├── seata-default-coordinator.md ├── seata-global-session.md ├── seata-global-transaction-scanner.md ├── seata-global-transaction.md ├── seata-lock.md ├── seata-resource-manager.md ├── seata-session-manager.md ├── seata-status.md ├── seata-tcc-and-ocketmq.md ├── seata-tcc-interceptor.md ├── seata-tcc-resource-manager.md ├── seata-tcc.md ├── seata-trans-status.md ├── seata-transaction-manager.md ├── seata-transactional-template.md ├── seatat-at.md └── seatat-request.md ├── shell └── readme.md ├── software-architecture └── readme.md ├── spring-boot ├── readme.md ├── spring-boot-application.md ├── spring-boot-auto-configuration.md ├── spring-boot-enable-auto-configuration.md ├── spring-boot-logging.md ├── spring-boot-spring-application.md └── spring-boot-starter.md ├── spring-cloud ├── readme.md ├── spring-cloud-bus.md ├── spring-cloud-config.md ├── spring-cloud-sleuth.md └── zuul.md ├── spring ├── images │ ├── DataAccessException.gif │ ├── aop-proxy-call.png │ ├── aop-proxy-plain-pojo-call.png │ ├── container-magic.png │ ├── kotlin-error.png │ ├── mvc-context-hierarchy.png │ ├── mvc-root-context.png │ ├── mvc.png │ ├── overview-full.png │ ├── oxm-exceptions.png │ ├── prototype.png │ ├── singleton.png │ ├── spring-ClassPathXmlApplicationContext.png │ ├── spring-StandardEnvironment.png │ ├── spring-bean-init.png │ ├── spring-bean-load.png │ ├── spring-jdbc-vs-you.png │ ├── spring-servlet.png │ ├── transaactional-settings.png │ ├── tx-methond.png │ ├── tx.png │ ├── tx_prop_required.png │ └── tx_prop_requires_new.png ├── readme.md ├── spring-FAQ.md ├── spring-annotation │ ├── readme.md │ ├── spring-alias-for.md │ ├── spring-bean.md │ ├── spring-component-scan.md │ └── spring-configuration.md ├── spring-bean │ ├── readme.md │ ├── spring-abstract-bean-factory.md │ ├── spring-autowire.md │ ├── spring-autowired-annotation-bean-post-processor.md │ ├── spring-bean-definition-registry-post-processor.md │ ├── spring-bean-definition-registry.md │ ├── spring-bean-definition.md │ ├── spring-bean-factory-post-processor.md │ ├── spring-bean-factory.md │ ├── spring-bean-parse.md │ ├── spring-bean-post-processor.md │ ├── spring-factory-bean.md │ ├── spring-generic-bean-definition.md │ ├── spring-initializing-bean.md │ └── spring-instantiation-aware-bean-post-processor.md ├── spring-context │ ├── readme.md │ ├── spring-annotation-config-application-context.md │ ├── spring-annotation.md │ ├── spring-application-context.md │ ├── spring-class-path-bean-definition-scanner.md │ ├── spring-class-path-xml-application-context.md │ ├── spring-context.xml │ ├── spring-generic-application-context.md │ └── spring-web-application-context.md ├── spring-core │ ├── readme.md │ ├── spring-aop.md │ ├── spring-factories-loader.md │ ├── spring-ioc.md │ └── spring-util │ │ └── spring-util.md ├── spring-faq │ ├── spring-faq-001.md │ ├── spring-faq-002.md │ └── spring-faq-003.md ├── spring-issues.md ├── spring-mvc │ ├── readme.md │ ├── spring-handler-exception.md │ ├── spring-mvc-dispatcher-servlet.md │ ├── spring-mvc-handier-interceptor-adapter.md │ ├── spring-web-annotation.md │ ├── spring-web-context-loader-listener.md │ ├── spring-web-handler-adapter.md │ ├── spring-web-handler-mapping.md │ ├── spring-web-http-request-handler-servlet.md │ ├── spring-web-request-condition.md │ ├── spring-web-request-mapping-handler-adapter.md │ ├── spring-web-request-mapping-handler-mapping.md │ ├── spring-web-request-mapping.md │ └── spring-web-web-mvc-configuration-support.md ├── spring-reference │ ├── spring-reference-001.md │ ├── spring-reference-007.md │ ├── spring-reference-008.md │ ├── spring-reference-011.md │ ├── spring-reference-012.md │ ├── spring-reference-013.md │ ├── spring-reference-014.md │ ├── spring-reference-015.md │ ├── spring-reference-016.md │ ├── spring-reference-017.md │ ├── spring-reference-018.md │ ├── spring-reference-019.md │ ├── spring-reference-020.md │ ├── spring-reference-021.md │ ├── spring-reference-022.md │ ├── spring-reference-023.md │ ├── spring-reference-024.md │ ├── spring-reference-025.md │ ├── spring-reference-026.md │ ├── spring-reference-027.md │ ├── spring-reference-028.md │ ├── spring-reference-030.md │ ├── spring-reference-033.md │ ├── spring-reference-034.md │ ├── spring-reference-036.md │ ├── spring-reference-042.md │ └── spring-reference.md └── spring-tx │ └── spring-transaction.md ├── swagger └── readme.md ├── tcp-ip ├── HTTP权威指南 │ ├── chap-001.md │ ├── chap-002.md │ ├── chap-003.md │ ├── chap-004.md │ ├── chap-005.md │ ├── chap-006.md │ ├── chap-007.md │ ├── chap-008.md │ ├── chap-009.md │ ├── chap-010.md │ ├── chap-011.md │ ├── chap-012.md │ ├── chap-013.md │ ├── chap-014.md │ ├── chap-015.md │ ├── chap-016.md │ ├── chap-017.md │ ├── chap-018.md │ ├── chap-019.md │ ├── chap-020.md │ ├── chap-021.md │ ├── images │ │ ├── http-ch-01-Http-Message.drawio.svg │ │ ├── http-ch-01-netowrk-layout.drawio.svg │ │ └── http-ch-04-4-3.drawio.svg │ └── readme.md ├── TCP-IP-详解-卷1 │ ├── chapter-01.md │ ├── chapter-02.md │ ├── chapter-03.md │ ├── chapter-04.md │ ├── chapter-05.md │ ├── chapter-06.md │ ├── chapter-07.md │ ├── chapter-08.md │ ├── chapter-09.md │ ├── chapter-10.md │ ├── chapter-11.md │ ├── chapter-12.md │ ├── chapter-13.md │ ├── chapter-14.md │ ├── chapter-15.md │ ├── chapter-16.md │ ├── chapter-17.md │ ├── chapter-18.md │ ├── chapter-19.md │ ├── chapter-20.md │ ├── chapter-21.md │ ├── chapter-22.md │ ├── chapter-23.md │ ├── chapter-24.md │ ├── images │ │ ├── TCP-IP-1-1.png │ │ ├── TCP-IP-1-1.svg │ │ ├── TCP-IP-1-2.png │ │ ├── TCP-IP-1-2.svg │ │ ├── TCP-IP-1-3.png │ │ ├── TCP-IP-1-3.svg │ │ ├── TCP-IP-1-4.png │ │ ├── TCP-IP-1-4.svg │ │ ├── TCP-IP-1-5.png │ │ ├── TCP-IP-1-5.svg │ │ ├── TCP-IP-1-6.png │ │ ├── TCP-IP-1-6.svg │ │ ├── TCP-IP-1-7.png │ │ ├── TCP-IP-1-7.svg │ │ ├── TCP-IP-10-1.png │ │ ├── TCP-IP-10-1.svg │ │ ├── TCP-IP-10-2.drawio.svg │ │ ├── TCP-IP-10-2.png │ │ ├── TCP-IP-10-2.svg │ │ ├── TCP-IP-11-1.png │ │ ├── TCP-IP-11-1.svg │ │ ├── TCP-IP-11-2.png │ │ ├── TCP-IP-11-2.svg │ │ ├── TCP-IP-12-1.png │ │ ├── TCP-IP-12-1.svg │ │ ├── TCP-IP-13-1.png │ │ ├── TCP-IP-13-1.svg │ │ ├── TCP-IP-13-2.png │ │ ├── TCP-IP-13-2.svg │ │ ├── TCP-IP-14-3.png │ │ ├── TCP-IP-14-3.svg │ │ ├── TCP-IP-16-1.png │ │ ├── TCP-IP-16-1.svg │ │ ├── TCP-IP-17-1.png │ │ ├── TCP-IP-17-1.svg │ │ ├── TCP-IP-17-2.png │ │ ├── TCP-IP-17-2.svg │ │ ├── TCP-IP-18-10.png │ │ ├── TCP-IP-18-10.svg │ │ ├── TCP-IP-18-12.png │ │ ├── TCP-IP-18-12.svg │ │ ├── TCP-IP-18-13.png │ │ ├── TCP-IP-18-13.svg │ │ ├── TCP-IP-18-20.png │ │ ├── TCP-IP-18-20.svg │ │ ├── TCP-IP-18-3.png │ │ ├── TCP-IP-18-3.svg │ │ ├── TCP-IP-18-4.png │ │ ├── TCP-IP-18-4.svg │ │ ├── TCP-IP-2-1.png │ │ ├── TCP-IP-2-1.svg │ │ ├── TCP-IP-2-4.png │ │ ├── TCP-IP-2-4.svg │ │ ├── TCP-IP-20-4.png │ │ ├── TCP-IP-20-4.svg │ │ ├── TCP-IP-20-5.drawio.svg │ │ ├── TCP-IP-20-5.png │ │ ├── TCP-IP-20-5.svg │ │ ├── TCP-IP-3-1.png │ │ ├── TCP-IP-3-1.svg │ │ ├── TCP-IP-3-7.png │ │ ├── TCP-IP-3-7.svg │ │ ├── TCP-IP-4-1.drawio.svg │ │ ├── TCP-IP-4-1.png │ │ ├── TCP-IP-4-1.svg │ │ ├── TCP-IP-4-3.drawio.svg │ │ ├── TCP-IP-4-3.png │ │ ├── TCP-IP-4-3.svg │ │ ├── TCP-IP-6-1.png │ │ ├── TCP-IP-6-1.svg │ │ ├── TCP-IP-6-10.png │ │ ├── TCP-IP-6-10.svg │ │ ├── TCP-IP-6-2.png │ │ ├── TCP-IP-6-2.svg │ │ ├── TCP-IP-6-9.png │ │ ├── TCP-IP-6-9.svg │ │ ├── TCP-IP-dubbo.svg │ │ └── little-big-endian.jpg │ └── readme.md ├── Unix网络编程-卷1 │ ├── chapter-01.md │ ├── chapter-02.md │ ├── chapter-03.md │ ├── chapter-04.md │ ├── chapter-05.md │ ├── chapter-06.md │ ├── chapter-07.md │ ├── chapter-14.md │ ├── chapter-15.md │ ├── chapter-16.md │ ├── chapter-25.md │ ├── images │ │ ├── unix-1.jpg │ │ ├── unix-network-1-4-1.png │ │ ├── unix-network-1-4-1.svg │ │ ├── unix-network-1-6-1.png │ │ ├── unix-network-1-6-1.svg │ │ ├── unix-network-1-6-2.png │ │ ├── unix-network-1-6-2.svg │ │ ├── unix-network-1-6-3.png │ │ ├── unix-network-1-6-3.svg │ │ ├── unix-network-1-6-4.png │ │ ├── unix-network-1-6-4.svg │ │ ├── unix-network-1-6-5.png │ │ ├── unix-network-1-6-5.svg │ │ ├── unix-network-1-6-6.png │ │ └── unix-network-1-6-6.svg │ └── readme.md ├── images │ └── Tcp_state_diagram.png ├── readme.md └── zzz.md ├── todo └── 2022-03.md ├── vscode └── readme.md └── zookeeper ├── curator.md ├── images └── zookeeper-zxid.drawio.svg ├── paxos.md ├── readme.md ├── zab-vs-raft.md ├── zab.md ├── zooKeeper-overview.md ├── zooKeeper.md ├── zookeeper-barriers.md ├── zookeeper-blog.md ├── zookeeper-lock.md ├── zookeeper-programmers.md └── zookeeper-queues.md /.gitignore: -------------------------------------------------------------------------------- 1 | .class 2 | target 3 | .DS_Store 4 | .classpath 5 | .settings 6 | bin 7 | .project 8 | test-output 9 | .idea 10 | *.iml 11 | *.patch -------------------------------------------------------------------------------- /.vscode/settings.json: -------------------------------------------------------------------------------- 1 | { 2 | "editor.wordWrap": "on" 3 | } -------------------------------------------------------------------------------- /PM/提效.md: -------------------------------------------------------------------------------- 1 | # 提效 2 | 3 | - 个人如何提效 4 | - 自己好的编程习惯 5 | - 团队如何提效 6 | - 团队的沟通 7 | - 团队规范,公约 8 | - 公司如何提效 9 | - 公司流程 -------------------------------------------------------------------------------- /algorithm/binary-tree.md: -------------------------------------------------------------------------------- 1 | # binary tree 2 | 3 | ## Links 4 | 5 | - [红黑树](https://zhuanlan.zhihu.com/p/37470948) 6 | - [红黑树](https://blog.csdn.net/weixin_43790276/article/details/106042360) 7 | - [2-3树](https://www.cnblogs.com/tiancai/p/9072813.html) -------------------------------------------------------------------------------- /algorithm/bloom-filter.md: -------------------------------------------------------------------------------- 1 | # 布隆过滤器 2 | 3 | - [https://www.cnblogs.com/ysocean/p/12594982.html](https://www.cnblogs.com/ysocean/p/12594982.html) -------------------------------------------------------------------------------- /algorithm/data-structure.md: -------------------------------------------------------------------------------- 1 | # data structure 2 | 3 | 数据结构 4 | 5 | ## 数组 6 | 7 | ## 链表 8 | 9 | ## Hash 表 10 | 11 | ## 平衡树 12 | 13 | ## Log-Structured 14 | 15 | ## SSTable 16 | 17 | Sorted String Table 18 | 19 | ## LSM 树 20 | 21 | ## 红黑树 22 | -------------------------------------------------------------------------------- /algorithm/dynamic-programming.md: -------------------------------------------------------------------------------- 1 | # dynamic programming 2 | 3 | **动态规划** 4 | 5 | 最优子结构、无后效性和重复子问题 6 | -------------------------------------------------------------------------------- /algorithm/hash.md: -------------------------------------------------------------------------------- 1 | # 散列 2 | 3 | - 如何设计散列函数 4 | - 如何根据装载因子动态扩容 5 | - 以及如何选择散列冲突解决方法 6 | - 如何缩容 7 | - LinkedHashMap LRU -------------------------------------------------------------------------------- /algorithm/heap.md: -------------------------------------------------------------------------------- 1 | # 堆 2 | 3 | 最大堆,最小堆: 堆的应用:优先级队列、求 Top K 和求中位数。 -------------------------------------------------------------------------------- /algorithm/images/recursion-tree.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/web1992/read/e9bb6047aa256512630be9a0d7ced96a7cdbfa72/algorithm/images/recursion-tree.png -------------------------------------------------------------------------------- /algorithm/linked-list.md: -------------------------------------------------------------------------------- 1 | # 链表 2 | 3 | ## Links 4 | 5 | - [链表的虚拟头节点好处](https://blog.csdn.net/HFGD2019/article/details/108760391) 6 | -------------------------------------------------------------------------------- /algorithm/log.md: -------------------------------------------------------------------------------- 1 | # log 2 | -------------------------------------------------------------------------------- /algorithm/queue.md: -------------------------------------------------------------------------------- 1 | # 队列 2 | 3 | - 入队 enqueue() 4 | - 出队 dequeue() 5 | - 顺序队列(用数组实现)和链式队列(用链表实现) 6 | - 循环队列 7 | - 阻塞队列和并发队列 8 | - 关键:如果判断,队列为空,队列已满 9 | -------------------------------------------------------------------------------- /algorithm/red-black-tree.md: -------------------------------------------------------------------------------- 1 | # 红黑树 2 | 3 | 红黑树中的节点,一类被标记为黑色,一类被标记为红色。除此之外,一棵红黑树还需要满足这样几个要求: 4 | 5 | - 根节点是黑色的; 6 | - 每个叶子节点都是黑色的空节点(NIL),也就是说,叶子节点不存储数据; 7 | - 任何相邻的节点都不能同时为红色,也就是说,红色节点是被黑色节点隔开的; 8 | - 每个节点,从该节点到达其可达叶子节点的所有路径,都包含相同数目的黑色节点; 9 | 10 | ## Links 11 | 12 | - [https://www.cnblogs.com/tiancai/p/9072813.html](https://www.cnblogs.com/tiancai/p/9072813.html) -------------------------------------------------------------------------------- /algorithm/stack.md: -------------------------------------------------------------------------------- 1 | # 栈 2 | 3 | > 栈的特点:具有`记忆`功能 4 | 5 | - 栈是一种“操作受限”的线性表,只允许在一端插入和删除数据 6 | - 当某个数据集合只涉及在一端插入和删除数据,并且满足后进先出、先进后出的特性,这时我们就应该首选“栈”这种数据结构 7 | - 用数组实现的栈,我们叫作顺序栈,用链表实现的栈,我们叫作链式栈 8 | - 栈的应用:表达式求值 9 | - 栈的应用:函数调用栈 10 | - 栈的应用:栈在括号匹配中的应用 11 | - 入栈 push()和出栈 pop() -------------------------------------------------------------------------------- /algorithm/string_mtach.md: -------------------------------------------------------------------------------- 1 | # 字符串匹配 2 | 3 | - Trie 树和 AC 自动机 4 | - RK 算法是 BF 算法 5 | - Brute Force 暴力匹配算法 6 | - -------------------------------------------------------------------------------- /architecture-design/draft.md: -------------------------------------------------------------------------------- 1 | # 草稿 2 | 3 | ## 架构 4 | 5 | 技术-架构-业务 6 | 7 | 判断+取舍 8 | 9 | 服务化+容器化+网格化+云产品 -------------------------------------------------------------------------------- /architecture-design/readme.md: -------------------------------------------------------------------------------- 1 | # 系统设计 2 | 3 | [系统设计总结](readme-summary.md) -------------------------------------------------------------------------------- /c_plus_plus/imgaes/c_p_p_pointer_arry.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/web1992/read/e9bb6047aa256512630be9a0d7ced96a7cdbfa72/c_plus_plus/imgaes/c_p_p_pointer_arry.png -------------------------------------------------------------------------------- /c_plus_plus/readme.md: -------------------------------------------------------------------------------- 1 | # C++ 相关 -------------------------------------------------------------------------------- /clang/readme.md: -------------------------------------------------------------------------------- 1 | # CLang 2 | 3 | ## Links 4 | 5 | - [void*](https://zhuanlan.zhihu.com/p/163676489) 6 | -------------------------------------------------------------------------------- /cloud-native/readme.md: -------------------------------------------------------------------------------- 1 | # cloud native 2 | 3 | iaas 4 | paas 5 | saas 6 | serverless 7 | -------------------------------------------------------------------------------- /css/CSS权威指南/images/box-mode.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/web1992/read/e9bb6047aa256512630be9a0d7ced96a7cdbfa72/css/CSS权威指南/images/box-mode.png -------------------------------------------------------------------------------- /css/CSS权威指南/images/css-child-el.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/web1992/read/e9bb6047aa256512630be9a0d7ced96a7cdbfa72/css/CSS权威指南/images/css-child-el.png -------------------------------------------------------------------------------- /css/CSS权威指南/images/display-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/web1992/read/e9bb6047aa256512630be9a0d7ced96a7cdbfa72/css/CSS权威指南/images/display-2.png -------------------------------------------------------------------------------- /css/CSS权威指南/images/display.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/web1992/read/e9bb6047aa256512630be9a0d7ced96a7cdbfa72/css/CSS权威指南/images/display.png -------------------------------------------------------------------------------- /css/CSS权威指南/images/element-box.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/web1992/read/e9bb6047aa256512630be9a0d7ced96a7cdbfa72/css/CSS权威指南/images/element-box.png -------------------------------------------------------------------------------- /css/CSS权威指南/images/rate-cal.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/web1992/read/e9bb6047aa256512630be9a0d7ced96a7cdbfa72/css/CSS权威指南/images/rate-cal.png -------------------------------------------------------------------------------- /css/CSS权威指南/images/white-space.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/web1992/read/e9bb6047aa256512630be9a0d7ced96a7cdbfa72/css/CSS权威指南/images/white-space.png -------------------------------------------------------------------------------- /css/CSS权威指南/readme.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/web1992/read/e9bb6047aa256512630be9a0d7ced96a7cdbfa72/css/CSS权威指南/readme.md -------------------------------------------------------------------------------- /css/readme.md: -------------------------------------------------------------------------------- 1 | # CSS 2 | -------------------------------------------------------------------------------- /day-day-year-year/2019.md: -------------------------------------------------------------------------------- 1 | # 2019 2 | 3 | - [Dubbo 源码解析](../dubbo/readme.md) -------------------------------------------------------------------------------- /day-day-year-year/2020.md: -------------------------------------------------------------------------------- 1 | # 2020 2 | 3 | - golang `两本` 4 | - rocketmq `一本` 5 | - 算法 `两本` 6 | - spring boot `一本` 7 | 8 | - 《Java高并发编程详解:多线程与架构设计》 9 | - [《汇编语言 第三版》](../assembly/汇编语言-第三版.md)王爽 10 | - [《深入理解jvm字节码》](../jvm/深入理解jvm字节码.md) 张亚 11 | - [golang 解析Java class 文件](https://github.com/web1992/goclass) -------------------------------------------------------------------------------- /day-day-year-year/2021.md: -------------------------------------------------------------------------------- 1 | # 2021 2 | 3 | |框架|完成情况| 4 | |-----|-----| 5 | RocketMQ | 看了消息的整体流转流程,存储,消息消费+负载均衡 6 | Nacos | 无 7 | XXLJOB | 无 8 | Netty | 看了Netty 的内存管理 9 | Dubbo | 无 10 | TCP/IP | 看了《TCP-IP-详解-卷1》大部分内容,看了《Unix网络编程-卷1》小部门内容 11 | Seata | 看了源码的整体架构,项目中应用了TCC事物模式 12 | -------------------------------------------------------------------------------- /day-day-year-year/2022.md: -------------------------------------------------------------------------------- 1 | # 2022 2 | 3 | - golang 实践,参与开源 4 | - 算法 刷题+实践 5 | - 网络/存储 实践 6 | - JVM G1,ZGC 学习 7 | - Linux 学习 8 | - NACOS 9 | - ES 10 | -------------------------------------------------------------------------------- /day-day-year-year/2023.md: -------------------------------------------------------------------------------- 1 | # 2023 2 | 3 | - 架构 4 | - Spring Cloude 5 | - 算法 6 | - Http 权威指南 7 | -------------------------------------------------------------------------------- /ddd/领域驱动设计/ddd-01.md: -------------------------------------------------------------------------------- 1 | # 01 2 | -------------------------------------------------------------------------------- /ddd/领域驱动设计/ddd-02.md: -------------------------------------------------------------------------------- 1 | # 02 2 | 3 | 提出有力的问题: 4 | 5 | 这个系统的需求来自何处? 6 | 这个系统如何为业务提供价值? 7 | 如果不构建这个系统会发生什么? 8 | -------------------------------------------------------------------------------- /ddd/领域驱动设计/ddd-03.md: -------------------------------------------------------------------------------- 1 | # 03 2 | 3 | 01. 核心域 4 | 02. 通用域 5 | 03. 支撑域 6 | 04. 专注于核心域 7 | 05. 并不是所有的系统都有核心域 8 | -------------------------------------------------------------------------------- /ddd/领域驱动设计/ddd-04.md: -------------------------------------------------------------------------------- 1 | # 04 2 | 3 | 模型驱动设计 4 | 5 | - 领域模型的定义 6 | - 代码模型和分析模型保持同步 7 | 8 | 限制你的抽象: 9 | 10 | - 在存在变体的时候才进行抽象 11 | - 将你的抽象重点放在合适的抽象层级 12 | - 对行为而非实现进行抽象 13 | - 进早频繁的在代码中实现建模 14 | - 不要止步于第一个好想法 15 | -------------------------------------------------------------------------------- /ddd/领域驱动设计/ddd-05.md: -------------------------------------------------------------------------------- 1 | # 05 2 | 3 | 领域模型实现模式 4 | 5 | - DDD 的重点是管理复杂性 6 | - 活动记录模式 7 | - 贫血领域模型 8 | - 函数模式 9 | - 表模块 10 | 11 | > 领域层在代码中的位置 12 | 13 | ![ddd-05-01.png](./images/ddd-05-01.png) 14 | 15 | > 领域模型模式 16 | 17 | ![ddd-05-02.png](./images/ddd-05-02.png) 18 | -------------------------------------------------------------------------------- /ddd/领域驱动设计/ddd-06.md: -------------------------------------------------------------------------------- 1 | # 06 2 | 3 | ## 使用有界上下文维护领域模型的完整性 4 | 5 | ![ddd-06-01.png](./images/ddd-06-01.png) 6 | -------------------------------------------------------------------------------- /ddd/领域驱动设计/ddd-07.md: -------------------------------------------------------------------------------- 1 | # 07 2 | 3 | ## 上下文映射 4 | -------------------------------------------------------------------------------- /ddd/领域驱动设计/ddd-08.md: -------------------------------------------------------------------------------- 1 | # 08 2 | 3 | ## 应用程序架构 4 | -------------------------------------------------------------------------------- /ddd/领域驱动设计/ddd-09.md: -------------------------------------------------------------------------------- 1 | # 09 2 | -------------------------------------------------------------------------------- /ddd/领域驱动设计/ddd-10.md: -------------------------------------------------------------------------------- 1 | # 10 2 | -------------------------------------------------------------------------------- /ddd/领域驱动设计/ddd-core.md: -------------------------------------------------------------------------------- 1 | # ddd 核心 2 | 3 | - 统一语言 4 | - 领域划分 5 | - 领域建模 6 | -------------------------------------------------------------------------------- /ddd/领域驱动设计/images/ddd-05-01.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/web1992/read/e9bb6047aa256512630be9a0d7ced96a7cdbfa72/ddd/领域驱动设计/images/ddd-05-01.png -------------------------------------------------------------------------------- /ddd/领域驱动设计/images/ddd-05-02.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/web1992/read/e9bb6047aa256512630be9a0d7ced96a7cdbfa72/ddd/领域驱动设计/images/ddd-05-02.png -------------------------------------------------------------------------------- /ddd/领域驱动设计/images/ddd-06-01.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/web1992/read/e9bb6047aa256512630be9a0d7ced96a7cdbfa72/ddd/领域驱动设计/images/ddd-06-01.png -------------------------------------------------------------------------------- /design-patterns/builder-pattern.md: -------------------------------------------------------------------------------- 1 | # Builder pattern 2 | 3 | ## The Builder design pattern solves problems like 4 | 5 | - How can a class (the same construction process) create different representations of a complex object? 6 | - How can a class that includes creating a complex object be simplified? -------------------------------------------------------------------------------- /design-patterns/composite-pattern.md: -------------------------------------------------------------------------------- 1 | # Composite pattern 2 | 3 | - [Composite pattern](https://en.wikipedia.org/wiki/Composite_pattern) 4 | -------------------------------------------------------------------------------- /design-patterns/gang-of-four-patterns.md: -------------------------------------------------------------------------------- 1 | # Gang of Four patterns 2 | -------------------------------------------------------------------------------- /design-patterns/images/design-pattern.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/web1992/read/e9bb6047aa256512630be9a0d7ced96a7cdbfa72/design-patterns/images/design-pattern.png -------------------------------------------------------------------------------- /design-patterns/multiton-pattern.md: -------------------------------------------------------------------------------- 1 | # Multiton pattern 2 | 3 | - [Multiton pattern](https://en.wikipedia.org/wiki/Multiton_pattern) 4 | 5 | 多实例设计模式,相对单例而言,一个经典的设计就是`线程池`(object pool) 6 | 7 | The pattern simplifies retrieval of shared objects in an application. 8 | 9 | ## Drawbacks 10 | -------------------------------------------------------------------------------- /designing-data-intensive-appliactins/ddia-01.md: -------------------------------------------------------------------------------- 1 | # 第1章 可靠、可扩展与可维护的应用系统 2 | -------------------------------------------------------------------------------- /designing-data-intensive-appliactins/ddia-02.md: -------------------------------------------------------------------------------- 1 | # 第2章 数据模型与查询语言 2 | -------------------------------------------------------------------------------- /designing-data-intensive-appliactins/ddia-03.md: -------------------------------------------------------------------------------- 1 | # 第3章 数据存储与检索 2 | 3 | 关键字: 4 | 5 | - 针对事物型工作负载 的存储引擎 6 | - 针对分析型负载 的存储引擎 7 | - 事物处理与分析处理 8 | - 面向列的存储 9 | - 关系型 数据库 10 | - NoSQL 数据库 11 | - 日志结构的存储引擎 12 | - 面向页面的存储引擎 (B-tree) 13 | - 哈希索引 14 | - Bitcask (Riak 中的默认存储引擎) 15 | - 日志的压缩与合并 16 | - SSTable 和 LSM-Tree 17 | -------------------------------------------------------------------------------- /designing-data-intensive-appliactins/ddia-04.md: -------------------------------------------------------------------------------- 1 | # 第4章 数据编码与演化 2 | -------------------------------------------------------------------------------- /designing-data-intensive-appliactins/ddia-05.md: -------------------------------------------------------------------------------- 1 | # 第5章 数据复制 2 | -------------------------------------------------------------------------------- /designing-data-intensive-appliactins/ddia-08.md: -------------------------------------------------------------------------------- 1 | # 第 8 章 分布式系统的挑战 2 | 3 | - 不可靠的网络 4 | - 不可靠的时钟 5 | -------------------------------------------------------------------------------- /designing-data-intensive-appliactins/ddia-09.md: -------------------------------------------------------------------------------- 1 | # 第9章 一致性与共识 2 | -------------------------------------------------------------------------------- /docker/base/namespace.md: -------------------------------------------------------------------------------- 1 | # namespace 2 | 3 | - mount 4 | - uts 5 | - pid 6 | - network 7 | - user 8 | - ipc 9 | - cgroup 10 | -------------------------------------------------------------------------------- /docker/demo/docker-mysql.md: -------------------------------------------------------------------------------- 1 | # mysql 2 | 3 | ```sh 4 | docker run -itd --name mysql-test -p 3306:3306 -e MYSQL_ROOT_PASSWORD=root mysql:5.7 5 | ``` -------------------------------------------------------------------------------- /docker/demo/redis.md: -------------------------------------------------------------------------------- 1 | # redis 2 | 3 | ./redis-cli -h 127.0.0.1 -p 7001 -a 123456 cluster addslots {0..5461} 4 | ./redis-cli -h 127.0.0.1 -p 7002 -a 123456 cluster addslots {5462..10922} 5 | ./redis-cli -h 127.0.0.1 -p 7003 -a 123456 cluster addslots {10923..16383} -------------------------------------------------------------------------------- /docker/docker-cgroup.md: -------------------------------------------------------------------------------- 1 | # cgroup 2 | 3 | ## cgroup 驱动 4 | 5 | systemed cgroup drover 6 | cgroupfs cgroup driver 7 | 8 | ## 容器中常用的cgroup 9 | 10 | - cpu cpuset cpuacct 11 | - memory 12 | - device 13 | - freezer 14 | - blkio 15 | - pid 16 | 17 | ## 不常用的cgruop 18 | 19 | - net_cls 20 | - net_prio 21 | - hugetlb 22 | - perf_event 23 | - rdma 24 | -------------------------------------------------------------------------------- /docker/docker-changeset.md: -------------------------------------------------------------------------------- 1 | # changeset 2 | -------------------------------------------------------------------------------- /docker/docker-chroot.md: -------------------------------------------------------------------------------- 1 | # chroot 2 | -------------------------------------------------------------------------------- /docker/docker-cmd.md: -------------------------------------------------------------------------------- 1 | # docker cmd 2 | 3 | ```shell 4 | docker build -t xxx-app:$TAG ./xxx-app/ 5 | docker tag xxx-app:$TAG xxx.com/xxx/xxx-app:$TAG 6 | docker push xxx.com/xxx/xxx-app:$TAG 7 | docker rmi xxx-app:$TAG 8 | docker rmi xxx.com/xxx/xxx-app:$TAG 9 | ``` 10 | -------------------------------------------------------------------------------- /docker/docker-images.md: -------------------------------------------------------------------------------- 1 | # docker images 2 | 3 | - 基于联合文件系统 4 | - 不同的层可以被其他镜像服用 5 | - 容器的可写层可以做成容器的新一层 6 | -------------------------------------------------------------------------------- /docker/docker-jenkins.md: -------------------------------------------------------------------------------- 1 | # jenkins 2 | 3 | - [https://github.com/jenkinsci/docker](https://github.com/jenkinsci/docker) 4 | 5 | ```sh 6 | # 下载镜像 7 | docker pull jenkins 8 | 9 | # 启动 10 | docker run -d -v /Users/zl/Documents/dev/dockers/jenkins/jenkins_home:/var/jenkins_home -p 8080:8080 -p 50000:50000 jenkins/jenkins:lts 11 | ``` 12 | -------------------------------------------------------------------------------- /docker/docker-log.md: -------------------------------------------------------------------------------- 1 | # docker log 2 | 3 | - [www.cnblogs.com/operationhome/p/10907591.html](www.cnblogs.com/operationhome/p/10907591.html) 4 | -------------------------------------------------------------------------------- /docker/docker-moby.md: -------------------------------------------------------------------------------- 1 | # mody 2 | -------------------------------------------------------------------------------- /docker/docker-namespace.md: -------------------------------------------------------------------------------- 1 | # namespace 2 | 3 | - mount 4 | - uts 5 | - pid 6 | - network 7 | - user 8 | - ipc 9 | - cgroup 10 | -------------------------------------------------------------------------------- /docker/docker-network.md: -------------------------------------------------------------------------------- 1 | # docker network 2 | -------------------------------------------------------------------------------- /docker/docker-stack.md: -------------------------------------------------------------------------------- 1 | # docker stack 2 | 3 | docker 提供了大规模部署容器集群的支持,类似 k8s 4 | -------------------------------------------------------------------------------- /docker/docker-swarm.md: -------------------------------------------------------------------------------- 1 | # Swarm 2 | 3 | docker 集群和编排 4 | 5 | ## Link 6 | 7 | - [https://docs.docker.com/get-started/part4/](https://docs.docker.com/get-started/part4/) 8 | -------------------------------------------------------------------------------- /docker/docker-systemd.md: -------------------------------------------------------------------------------- 1 | # systemd 2 | 3 | - [http://www.ruanyifeng.com/blog/2016/03/systemd-tutorial-commands.html](http://www.ruanyifeng.com/blog/2016/03/systemd-tutorial-commands.html) 4 | -------------------------------------------------------------------------------- /docker/docker-volume.md: -------------------------------------------------------------------------------- 1 | # docker volume 2 | -------------------------------------------------------------------------------- /docker/docker-volumes.md: -------------------------------------------------------------------------------- 1 | # volumes 2 | 3 | - [https://docs.docker.com/storage/volumes/](https://docs.docker.com/storage/volumes/) 4 | -------------------------------------------------------------------------------- /docker/rancher.md: -------------------------------------------------------------------------------- 1 | # rancher 2 | -------------------------------------------------------------------------------- /docker/readme.md: -------------------------------------------------------------------------------- 1 | # docker 2 | 3 | ## List 4 | 5 | - [docker-compose.md](docker-compose.md) 6 | - [docker-swarm.md](docker-swarm.md) 7 | - [docker-dockerfile.md](docker-dockerfile.md) 8 | -------------------------------------------------------------------------------- /draw/draw-1F2130.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/web1992/read/e9bb6047aa256512630be9a0d7ced96a7cdbfa72/draw/draw-1F2130.png -------------------------------------------------------------------------------- /draw/draw-25B88F.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/web1992/read/e9bb6047aa256512630be9a0d7ced96a7cdbfa72/draw/draw-25B88F.png -------------------------------------------------------------------------------- /draw/draw-47BBE7.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/web1992/read/e9bb6047aa256512630be9a0d7ced96a7cdbfa72/draw/draw-47BBE7.png -------------------------------------------------------------------------------- /draw/draw-F5BD41.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/web1992/read/e9bb6047aa256512630be9a0d7ced96a7cdbfa72/draw/draw-F5BD41.png -------------------------------------------------------------------------------- /dubbo/dobbo-stream.md: -------------------------------------------------------------------------------- 1 | # dubbo stream 2 | 3 | Dubbo 中对于 IO 流的封装。 4 | 5 | - ChannelBufferOutputStream 输出流 6 | - ChannelBufferInputStream 输入流 7 | 8 | - [x] [dubbo-channel-buffer.md](dubbo-channel-buffer.md) 9 | - [x] [dubbo-input-output-stream.md](dubbo-input-output-stream.md) 10 | -------------------------------------------------------------------------------- /dubbo/dubbo-annotation.md: -------------------------------------------------------------------------------- 1 | # Dubbo Annotation 2 | -------------------------------------------------------------------------------- /dubbo/dubbo-get-start.md: -------------------------------------------------------------------------------- 1 | # dubbo get start 2 | 3 | ## 工具 4 | 5 | - Git 6 | - jdk 7 | - MAVEN 8 | - idea/eclipse 9 | 10 | `maven` 阿里的镜像,下载速度较快 11 | 12 | ```xml 13 | 14 | nexus-aliyun 15 | * 16 | Nexus aliyun 17 | http://maven.aliyun.com/nexus/content/groups/public 18 | 19 | ``` 20 | -------------------------------------------------------------------------------- /dubbo/dubbo-moudes.md: -------------------------------------------------------------------------------- 1 | # dubbo-moudes 2 | 3 | Dubbo 的模块介绍。 4 | -------------------------------------------------------------------------------- /dubbo/dubbo-reset.md: -------------------------------------------------------------------------------- 1 | # dubbo reset 2 | 3 | `dubbo` `reset(http)` 服务集成 4 | 5 | `dubbo` 对 `protocl` 进行了抽象,默认的协议是 `DubboProtocol`,是面向 `TCP` 的协议 6 | 7 | 而 `dubbo reset` 是 `RestProtocol` 是面向 `http` 协议 `RestProtocol` 底层依赖 `jetty` -------------------------------------------------------------------------------- /dubbo/dubbo-rpc-context.md: -------------------------------------------------------------------------------- 1 | # RpcContext 2 | 3 | ## InternalThreadLocal -------------------------------------------------------------------------------- /dubbo/dubbo-rpc.md: -------------------------------------------------------------------------------- 1 | # rpc -------------------------------------------------------------------------------- /dubbo/dubbo-spring.md: -------------------------------------------------------------------------------- 1 | # dubbo spring 2 | 3 | `dubbo` 中 `spring` 的使用 4 | 5 | ## dubbo-config 6 | 7 | `dubbo-config` 模块提供 dubbo 配置相关的处理,`dubbo-config-spring` 基于 spring 的配置 8 | 9 | ## spring bean 10 | 11 | - ConfigCenterBean 12 | - ReferenceBean 13 | - ServiceBean 14 | -------------------------------------------------------------------------------- /dubbo/dubbo-url.md: -------------------------------------------------------------------------------- 1 | # dubbo url 2 | -------------------------------------------------------------------------------- /dubbo/images/TCP-IP-17-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/web1992/read/e9bb6047aa256512630be9a0d7ced96a7cdbfa72/dubbo/images/TCP-IP-17-2.png -------------------------------------------------------------------------------- /dubbo/images/TCP-IP-3-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/web1992/read/e9bb6047aa256512630be9a0d7ced96a7cdbfa72/dubbo/images/TCP-IP-3-1.png -------------------------------------------------------------------------------- /dubbo/images/TCP-IP-dubbo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/web1992/read/e9bb6047aa256512630be9a0d7ced96a7cdbfa72/dubbo/images/TCP-IP-dubbo.png -------------------------------------------------------------------------------- /dubbo/images/dubbo-AllChannelHandler.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/web1992/read/e9bb6047aa256512630be9a0d7ced96a7cdbfa72/dubbo/images/dubbo-AllChannelHandler.png -------------------------------------------------------------------------------- /dubbo/images/dubbo-AppResponse.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/web1992/read/e9bb6047aa256512630be9a0d7ced96a7cdbfa72/dubbo/images/dubbo-AppResponse.png -------------------------------------------------------------------------------- /dubbo/images/dubbo-AsyncRpcResult.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/web1992/read/e9bb6047aa256512630be9a0d7ced96a7cdbfa72/dubbo/images/dubbo-AsyncRpcResult.png -------------------------------------------------------------------------------- /dubbo/images/dubbo-ChannelBuffer.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/web1992/read/e9bb6047aa256512630be9a0d7ced96a7cdbfa72/dubbo/images/dubbo-ChannelBuffer.png -------------------------------------------------------------------------------- /dubbo/images/dubbo-DecodeHandler.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/web1992/read/e9bb6047aa256512630be9a0d7ced96a7cdbfa72/dubbo/images/dubbo-DecodeHandler.png -------------------------------------------------------------------------------- /dubbo/images/dubbo-DecodeableRpcInvocation.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/web1992/read/e9bb6047aa256512630be9a0d7ced96a7cdbfa72/dubbo/images/dubbo-DecodeableRpcInvocation.png -------------------------------------------------------------------------------- /dubbo/images/dubbo-DecodeableRpcResult.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/web1992/read/e9bb6047aa256512630be9a0d7ced96a7cdbfa72/dubbo/images/dubbo-DecodeableRpcResult.png -------------------------------------------------------------------------------- /dubbo/images/dubbo-DubboCodec.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/web1992/read/e9bb6047aa256512630be9a0d7ced96a7cdbfa72/dubbo/images/dubbo-DubboCodec.png -------------------------------------------------------------------------------- /dubbo/images/dubbo-ExchangeHandler.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/web1992/read/e9bb6047aa256512630be9a0d7ced96a7cdbfa72/dubbo/images/dubbo-ExchangeHandler.png -------------------------------------------------------------------------------- /dubbo/images/dubbo-HeaderExchangeChannel.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/web1992/read/e9bb6047aa256512630be9a0d7ced96a7cdbfa72/dubbo/images/dubbo-HeaderExchangeChannel.png -------------------------------------------------------------------------------- /dubbo/images/dubbo-HeaderExchangeClient.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/web1992/read/e9bb6047aa256512630be9a0d7ced96a7cdbfa72/dubbo/images/dubbo-HeaderExchangeClient.png -------------------------------------------------------------------------------- /dubbo/images/dubbo-HeaderExchangeServer.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/web1992/read/e9bb6047aa256512630be9a0d7ced96a7cdbfa72/dubbo/images/dubbo-HeaderExchangeServer.png -------------------------------------------------------------------------------- /dubbo/images/dubbo-Invoker.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/web1992/read/e9bb6047aa256512630be9a0d7ced96a7cdbfa72/dubbo/images/dubbo-Invoker.png -------------------------------------------------------------------------------- /dubbo/images/dubbo-JavassistProxyFactory.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/web1992/read/e9bb6047aa256512630be9a0d7ced96a7cdbfa72/dubbo/images/dubbo-JavassistProxyFactory.png -------------------------------------------------------------------------------- /dubbo/images/dubbo-JdkProxyFactory.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/web1992/read/e9bb6047aa256512630be9a0d7ced96a7cdbfa72/dubbo/images/dubbo-JdkProxyFactory.png -------------------------------------------------------------------------------- /dubbo/images/dubbo-NettyClient.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/web1992/read/e9bb6047aa256512630be9a0d7ced96a7cdbfa72/dubbo/images/dubbo-NettyClient.png -------------------------------------------------------------------------------- /dubbo/images/dubbo-NettyServer.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/web1992/read/e9bb6047aa256512630be9a0d7ced96a7cdbfa72/dubbo/images/dubbo-NettyServer.png -------------------------------------------------------------------------------- /dubbo/images/dubbo-ReferenceBean.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/web1992/read/e9bb6047aa256512630be9a0d7ced96a7cdbfa72/dubbo/images/dubbo-ReferenceBean.png -------------------------------------------------------------------------------- /dubbo/images/dubbo-RouterFactory.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/web1992/read/e9bb6047aa256512630be9a0d7ced96a7cdbfa72/dubbo/images/dubbo-RouterFactory.png -------------------------------------------------------------------------------- /dubbo/images/dubbo-ServiceBean.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/web1992/read/e9bb6047aa256512630be9a0d7ced96a7cdbfa72/dubbo/images/dubbo-ServiceBean.png -------------------------------------------------------------------------------- /dubbo/images/dubbo-TelnetHandler.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/web1992/read/e9bb6047aa256512630be9a0d7ced96a7cdbfa72/dubbo/images/dubbo-TelnetHandler.png -------------------------------------------------------------------------------- /dubbo/images/dubbo-asyn.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/web1992/read/e9bb6047aa256512630be9a0d7ced96a7cdbfa72/dubbo/images/dubbo-asyn.png -------------------------------------------------------------------------------- /dubbo/images/dubbo-channel-handler-all.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/web1992/read/e9bb6047aa256512630be9a0d7ced96a7cdbfa72/dubbo/images/dubbo-channel-handler-all.png -------------------------------------------------------------------------------- /dubbo/images/dubbo-cluster.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/web1992/read/e9bb6047aa256512630be9a0d7ced96a7cdbfa72/dubbo/images/dubbo-cluster.png -------------------------------------------------------------------------------- /dubbo/images/dubbo-codec2-protocol.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/web1992/read/e9bb6047aa256512630be9a0d7ced96a7cdbfa72/dubbo/images/dubbo-codec2-protocol.png -------------------------------------------------------------------------------- /dubbo/images/dubbo-codec2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/web1992/read/e9bb6047aa256512630be9a0d7ced96a7cdbfa72/dubbo/images/dubbo-codec2.png -------------------------------------------------------------------------------- /dubbo/images/dubbo-config-center-useage.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/web1992/read/e9bb6047aa256512630be9a0d7ced96a7cdbfa72/dubbo/images/dubbo-config-center-useage.png -------------------------------------------------------------------------------- /dubbo/images/dubbo-customer-invoker.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/web1992/read/e9bb6047aa256512630be9a0d7ced96a7cdbfa72/dubbo/images/dubbo-customer-invoker.png -------------------------------------------------------------------------------- /dubbo/images/dubbo-customer-registry.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/web1992/read/e9bb6047aa256512630be9a0d7ced96a7cdbfa72/dubbo/images/dubbo-customer-registry.png -------------------------------------------------------------------------------- /dubbo/images/dubbo-framework.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/web1992/read/e9bb6047aa256512630be9a0d7ced96a7cdbfa72/dubbo/images/dubbo-framework.jpg -------------------------------------------------------------------------------- /dubbo/images/dubbo-invoker-stack.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/web1992/read/e9bb6047aa256512630be9a0d7ced96a7cdbfa72/dubbo/images/dubbo-invoker-stack.png -------------------------------------------------------------------------------- /dubbo/images/dubbo-moudes.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/web1992/read/e9bb6047aa256512630be9a0d7ced96a7cdbfa72/dubbo/images/dubbo-moudes.png -------------------------------------------------------------------------------- /dubbo/images/dubbo-overrideSubscribeUrl-vs-providerUrl.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/web1992/read/e9bb6047aa256512630be9a0d7ced96a7cdbfa72/dubbo/images/dubbo-overrideSubscribeUrl-vs-providerUrl.png -------------------------------------------------------------------------------- /dubbo/images/dubbo-protocol-export.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/web1992/read/e9bb6047aa256512630be9a0d7ced96a7cdbfa72/dubbo/images/dubbo-protocol-export.png -------------------------------------------------------------------------------- /dubbo/images/dubbo-protocol-registry-protocol.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/web1992/read/e9bb6047aa256512630be9a0d7ced96a7cdbfa72/dubbo/images/dubbo-protocol-registry-protocol.png -------------------------------------------------------------------------------- /dubbo/images/dubbo-registry-multicast.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/web1992/read/e9bb6047aa256512630be9a0d7ced96a7cdbfa72/dubbo/images/dubbo-registry-multicast.png -------------------------------------------------------------------------------- /dubbo/images/dubbo-registry-zookeeper.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/web1992/read/e9bb6047aa256512630be9a0d7ced96a7cdbfa72/dubbo/images/dubbo-registry-zookeeper.png -------------------------------------------------------------------------------- /dubbo/images/dubbo-router-tag.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/web1992/read/e9bb6047aa256512630be9a0d7ced96a7cdbfa72/dubbo/images/dubbo-router-tag.png -------------------------------------------------------------------------------- /dubbo/images/input-stream.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/web1992/read/e9bb6047aa256512630be9a0d7ced96a7cdbfa72/dubbo/images/input-stream.png -------------------------------------------------------------------------------- /dubbo/images/invoke-arch.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/web1992/read/e9bb6047aa256512630be9a0d7ced96a7cdbfa72/dubbo/images/invoke-arch.jpeg -------------------------------------------------------------------------------- /dubbo/images/output-stream.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/web1992/read/e9bb6047aa256512630be9a0d7ced96a7cdbfa72/dubbo/images/output-stream.png -------------------------------------------------------------------------------- /es/ElasticSearch-权威指南-中文版/es-09.md: -------------------------------------------------------------------------------- 1 | # 09 分布式搜索 2 | 3 | - 查询然后取回(query then fetch) 4 | - 查询阶段 5 | - 取回阶段 6 | - 强烈不建议使用深分页 (form:10000 size:50000) 7 | - preference(偏爱) 8 | - 结果震荡(Bouncing Results) 随机字符串 9 | - scroll(滚屏) 10 | - scan(扫描) 11 | -------------------------------------------------------------------------------- /es/ElasticSearch-权威指南-中文版/es-15.md: -------------------------------------------------------------------------------- 1 | # 15 模糊匹配 2 | 3 | - 段落匹配(phrase matching)或者模糊匹配(proximity matching) 4 | -------------------------------------------------------------------------------- /es/ElasticSearch-权威指南-中文版/images/readme.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/web1992/read/e9bb6047aa256512630be9a0d7ced96a7cdbfa72/es/ElasticSearch-权威指南-中文版/images/readme.md -------------------------------------------------------------------------------- /es/ElasticSearch-权威指南-中文版/readme.md: -------------------------------------------------------------------------------- 1 | # Elastic Search-权威指南-中文版 2 | 3 | 此文已经不建议阅读,版本太低 4 | 5 | 这里的翻译文档,有些搜索语法是过时的,注意 ES 版本!!! 6 | 7 | - [Elastic Search-权威指南-中文版.pdf](https://www.aliyundrive.com/s/wQVsSFCrycZ) -------------------------------------------------------------------------------- /es/es-agg.md: -------------------------------------------------------------------------------- 1 | # ES agg 聚合 2 | 3 | 4 | - bucket 5 | - stats 6 | - count 7 | - min 8 | - max 9 | - avg 10 | - sum 11 | - terms 12 | - -------------------------------------------------------------------------------- /es/es-api.md: -------------------------------------------------------------------------------- 1 | # ES 常用的命令 2 | 3 | - GET _cluster/health 4 | - _cat/nodes 5 | - _cat/shards 6 | - 批量的API 7 | - POST _bulk 8 | - GET /_mget 9 | - GET /test/_mget 10 | - GET /_mget 11 | - POST kibana_sample_data_ecommerce/_msearch 12 | 13 | -------------------------------------------------------------------------------- /es/es-cerebro.md: -------------------------------------------------------------------------------- 1 | # cerebro 2 | 3 | https://github.com/lmenezes/cerebro -------------------------------------------------------------------------------- /es/es-data-version.md: -------------------------------------------------------------------------------- 1 | # ES 数据更新 2 | 3 | 4 | ES中的文档是不可变更的。如果你更新一个文档,会将就文档标记为删除,同时增加一个全新的文档。同时文档的version字段加1 5 | 6 | 内部版本控制. 7 | - If_seq_no + If_primary_term 8 | 9 | 使用外部版本(使用其他数据库作为主要数据存储) 10 | - version + version_type=external 11 | 12 | ## Links 13 | 14 | - [If_seq_no + If_primary_term](https://developer.aliyun.com/article/789071) -------------------------------------------------------------------------------- /es/es-sort.md: -------------------------------------------------------------------------------- 1 | # ES 排序 2 | 3 | ES 中聚合+排序的实现技术 `Doc Values` + `fielddata` 4 | 5 | - Doc Values 基于磁盘 6 | - fielddata 基于内存 7 | - 8 | 9 | ## Links 10 | 11 | - https://www.elastic.co/guide/cn/elasticsearch/guide/current/docvalues.html 12 | - https://www.elastic.co/guide/cn/elasticsearch/guide/current/_deep_dive_on_doc_values.html 13 | - [es排序](https://www.cnblogs.com/bonelee/p/6401531.html) -------------------------------------------------------------------------------- /es/images/es-uri-search.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/web1992/read/e9bb6047aa256512630be9a0d7ced96a7cdbfa72/es/images/es-uri-search.md -------------------------------------------------------------------------------- /golang/go-array.md: -------------------------------------------------------------------------------- 1 | # array 2 | -------------------------------------------------------------------------------- /golang/go-func.md: -------------------------------------------------------------------------------- 1 | # func 2 | 3 | ## 特性 4 | 5 | - 实参是按照值传递的,都是副本 6 | - 多个返回值 7 | - 函数变量,也是有类型的,只能和 nil 比较 8 | - 匿名函数 9 | - 函数变量可以拥有状态 10 | - defer 延迟函数调用 11 | - recover 12 | - recover + runtime.Stack 13 | - recover 应只恢复本包内的错误 14 | 15 | ## Links 16 | 17 | - [golang 方法调用](https://mp.weixin.qq.com/s/NHxsrAcqi0xBSXWlQOcjOw) -------------------------------------------------------------------------------- /golang/go-goroutine.md: -------------------------------------------------------------------------------- 1 | # goroutine 2 | 3 | - [go 协程](https://mp.weixin.qq.com/s?__biz=MzAxMzc4Mzk1Mw==&mid=2649839964&idx=1&sn=6674b95ee40a309e4f7b4a6b89a96ebd&chksm=8398bfa2b4ef36b46e5fa04ab76253853f2bcfafe245b48045511f8ded4085d15f8cddda4cf2&scene=0#rd) 4 | 5 | - [协程vs线程](https://www.cnblogs.com/liang1101/p/12777831.html) -------------------------------------------------------------------------------- /golang/go-mod.md: -------------------------------------------------------------------------------- 1 | # mod 2 | 3 | golang 包管理(依赖管理)的历史 4 | 5 | - [https://blog.wolfogre.com/posts/golang-package-history/](https://blog.wolfogre.com/posts/golang-package-history/) 6 | -------------------------------------------------------------------------------- /golang/go-modules.md: -------------------------------------------------------------------------------- 1 | # Go modules 2 | 3 | > Go modules as a release and build tool are ready to use now. 4 | 5 | - [https://golang.org/cmd/go/#hdr-Modules__module_versions__and_more](https://golang.org/cmd/go/#hdr-Modules__module_versions__and_more) -------------------------------------------------------------------------------- /golang/go-proxy.md: -------------------------------------------------------------------------------- 1 | # go proxy 2 | 3 | - [go proxy](http://mirrors.aliyun.com/goproxy/) 4 | 5 | ```sh 6 | export GOPROXY=https://mirrors.aliyun.com/goproxy/ 7 | ``` 8 | -------------------------------------------------------------------------------- /golang/go-source.md: -------------------------------------------------------------------------------- 1 | # go 资源汇总 2 | 3 | - [go 测试,go2,各种汇总](https://developer.aliyun.com/article/742169?utm_content=g_1000110307) 4 | 5 | ## go 技能图谱 6 | 7 | ![go 技能图谱](./images/8srJD8LWg.png) 8 | -------------------------------------------------------------------------------- /golang/go-struct.md: -------------------------------------------------------------------------------- 1 | # struce 2 | 3 | ```go 4 | type People struct{ 5 | Name String 6 | Age int 7 | } 8 | ``` 9 | 10 | ## 特点 11 | 12 | - 结构体的成员如果是大写字母开头的,是可以导出的 13 | - 结构体的成员变量顺序不同,他们就是不同的结构体 14 | - 如果结构的成员都是可比较的,那么这个结构体就是可比较的 15 | - 可比较的结构体可以作为 map 的键类型 16 | - 结构体嵌套和匿名成员 17 | 18 | 19 | ## Links 20 | 21 | - [golang struct 值类型](https://blog.csdn.net/love666666shen/article/details/99882528) -------------------------------------------------------------------------------- /golang/go-vendor.md: -------------------------------------------------------------------------------- 1 | # govendor 2 | 3 | - [https://www.cnblogs.com/shhnwangjian/p/9183007.html](https://www.cnblogs.com/shhnwangjian/p/9183007.html) 4 | - [https://www.cnblogs.com/shockerli/p/go-package-manage-tool-govendor.html](https://www.cnblogs.com/shockerli/p/go-package-manage-tool-govendor.html) 5 | 6 | ```sh 7 | go get -u -v github.com/kardianos/govendor 8 | ``` 9 | -------------------------------------------------------------------------------- /golang/head-first-go/head-first-go-01-syntax-basics.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/web1992/read/e9bb6047aa256512630be9a0d7ced96a7cdbfa72/golang/head-first-go/head-first-go-01-syntax-basics.md -------------------------------------------------------------------------------- /golang/head-first-go/head-first-go-02-conditionals-and-loops.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/web1992/read/e9bb6047aa256512630be9a0d7ced96a7cdbfa72/golang/head-first-go/head-first-go-02-conditionals-and-loops.md -------------------------------------------------------------------------------- /golang/head-first-go/head-first-go-03-functions.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/web1992/read/e9bb6047aa256512630be9a0d7ced96a7cdbfa72/golang/head-first-go/head-first-go-03-functions.md -------------------------------------------------------------------------------- /golang/head-first-go/head-first-go-05-arrays.md: -------------------------------------------------------------------------------- 1 | # array 2 | -------------------------------------------------------------------------------- /golang/head-first-go/readme.md: -------------------------------------------------------------------------------- 1 | # Head First Go 2 | 3 | ## Chapter List 4 | 5 | - 1 syntax basics 6 | - 2 conditionals and loops 7 | - 3 functions 8 | - 4 packages 9 | - 5 arrays 10 | -------------------------------------------------------------------------------- /golang/images/8srJD8LWg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/web1992/read/e9bb6047aa256512630be9a0d7ced96a7cdbfa72/golang/images/8srJD8LWg.png -------------------------------------------------------------------------------- /golang/the-go-programming-language/go-pl-01.md: -------------------------------------------------------------------------------- 1 | # 01 入门 2 | -------------------------------------------------------------------------------- /golang/the-go-programming-language/go-pl-02.md: -------------------------------------------------------------------------------- 1 | # 02 程序结构 2 | 3 | ## type 4 | 5 | `type` 生命定义一个新的`命名类型`,它和某个已有类型使用相同的底层类型。 6 | 命名类型提供了一种方式来区分底层类型的不同或者不兼容使用,这样就不会在无意中混用。 7 | 8 | ## 包和文件 9 | 10 | 在 Go 语言中包的作用和其他语言中的库和模块的作用类似,用户支持模块化,封装,编译隔离和重用。 11 | -------------------------------------------------------------------------------- /golang/the-go-programming-language/go-pl-03.md: -------------------------------------------------------------------------------- 1 | # 03 数据类型 2 | 3 | ## utf-8 4 | 5 | ## rune 6 | 7 | ## const 8 | 9 | ## iota 10 | -------------------------------------------------------------------------------- /golang/the-go-programming-language/go-pl-04.md: -------------------------------------------------------------------------------- 1 | # 复合数据类型 2 | 3 | ## 数组 4 | 5 | ## slice 6 | 7 | ## map 8 | 9 | ## json 10 | -------------------------------------------------------------------------------- /golang/the-go-programming-language/go-pl-05.md: -------------------------------------------------------------------------------- 1 | # 函数 2 | -------------------------------------------------------------------------------- /golang/the-go-programming-language/go-pl-06.md: -------------------------------------------------------------------------------- 1 | # Method 2 | -------------------------------------------------------------------------------- /golang/the-go-programming-language/go-pl-07.md: -------------------------------------------------------------------------------- 1 | # interface 2 | -------------------------------------------------------------------------------- /golang/the-go-programming-language/readme.md: -------------------------------------------------------------------------------- 1 | # The Go Programming Language 2 | 3 | - [https://github.com/web1992/gopl.io.git](https://github.com/web1992/gopl.io.git) -------------------------------------------------------------------------------- /hardware/PCB/readme.md: -------------------------------------------------------------------------------- 1 | # PCB 设计 2 | 3 | - [PCB 设计中,哪些器件的周围需要禁止铺铜的]() -------------------------------------------------------------------------------- /hardware/readme.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/web1992/read/e9bb6047aa256512630be9a0d7ced96a7cdbfa72/hardware/readme.md -------------------------------------------------------------------------------- /hardware/全彩图解电子工程师入门手册/images/readme.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/web1992/read/e9bb6047aa256512630be9a0d7ced96a7cdbfa72/hardware/全彩图解电子工程师入门手册/images/readme.md -------------------------------------------------------------------------------- /hardware/全彩图解电子工程师入门手册/readme.md: -------------------------------------------------------------------------------- 1 | # 全彩图解电子工程师入门手册 (电子工程师全彩图解丛书) (张兴伟) (Z-Library).pdf 2 | 3 | -------------------------------------------------------------------------------- /hardware/新概念模拟电路-1-晶体管/chapter-01-section-03.md: -------------------------------------------------------------------------------- 1 | # Section3.用NPN晶体管构建一个放大电路 2 | 3 | -------------------------------------------------------------------------------- /hardware/新概念模拟电路-1-晶体管/chapter-01.md: -------------------------------------------------------------------------------- 1 | # 1.晶体管基础 2 | 3 | - 双极型晶体管(Bipolar Junction Transistor) 4 | - 场效应管(Field effect Transistor-FET) -------------------------------------------------------------------------------- /hardware/新概念模拟电路-1-晶体管/images/section-1-7.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/web1992/read/e9bb6047aa256512630be9a0d7ced96a7cdbfa72/hardware/新概念模拟电路-1-晶体管/images/section-1-7.png -------------------------------------------------------------------------------- /hardware/新概念模拟电路-1-晶体管/readme.md: -------------------------------------------------------------------------------- 1 | # 新概念模拟电路——晶体管 2 | 3 | -------------------------------------------------------------------------------- /hardware/模拟电子技术基础-第四版/chatper-03.md: -------------------------------------------------------------------------------- 1 | # 第三节 PN 结与二极管的特性 2 | 3 | -------------------------------------------------------------------------------- /hardware/模拟电子技术基础-第四版/chatper-04.md: -------------------------------------------------------------------------------- 1 | # 第四节 二极管的直流等效电路 2 | 3 | -------------------------------------------------------------------------------- /hardware/模拟电子技术基础-第四版/images/0-2-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/web1992/read/e9bb6047aa256512630be9a0d7ced96a7cdbfa72/hardware/模拟电子技术基础-第四版/images/0-2-1.png -------------------------------------------------------------------------------- /hardware/模拟电子技术基础-第四版/images/analog-digital-signal.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/web1992/read/e9bb6047aa256512630be9a0d7ced96a7cdbfa72/hardware/模拟电子技术基础-第四版/images/analog-digital-signal.png -------------------------------------------------------------------------------- /hardware/模拟电子技术基础-第四版/images/载流子.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/web1992/read/e9bb6047aa256512630be9a0d7ced96a7cdbfa72/hardware/模拟电子技术基础-第四版/images/载流子.png -------------------------------------------------------------------------------- /hardware/模拟电子技术基础-第四版/readme.md: -------------------------------------------------------------------------------- 1 | # 模拟电子技术基础 (第四版) 华英成 童诗白 主编 2 | 3 | 4 | 5 | ## Links 6 | 7 | - [https://www.bilibili.com/video/BV1Y7411e7hQ](https://www.bilibili.com/video/BV1Y7411e7hQ) -------------------------------------------------------------------------------- /heiheihei/readme.md: -------------------------------------------------------------------------------- 1 | # heiheihei 2 | 3 | - Spring SPI 中的类加载机制 4 | - MySQL 乐观锁 5 | - jvm 字节码优化 6 | - jvm 指令重排 7 | - JOSN 格式的缺点 8 | -------------------------------------------------------------------------------- /idea/images/git-commit.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/web1992/read/e9bb6047aa256512630be9a0d7ced96a7cdbfa72/idea/images/git-commit.png -------------------------------------------------------------------------------- /idea/images/git-log.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/web1992/read/e9bb6047aa256512630be9a0d7ced96a7cdbfa72/idea/images/git-log.gif -------------------------------------------------------------------------------- /idea/images/git-log.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/web1992/read/e9bb6047aa256512630be9a0d7ced96a7cdbfa72/idea/images/git-log.png -------------------------------------------------------------------------------- /idea/images/git-merge.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/web1992/read/e9bb6047aa256512630be9a0d7ced96a7cdbfa72/idea/images/git-merge.gif -------------------------------------------------------------------------------- /idea/images/hot-reload-main.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/web1992/read/e9bb6047aa256512630be9a0d7ced96a7cdbfa72/idea/images/hot-reload-main.gif -------------------------------------------------------------------------------- /idea/images/idea-tool-bar.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/web1992/read/e9bb6047aa256512630be9a0d7ced96a7cdbfa72/idea/images/idea-tool-bar.png -------------------------------------------------------------------------------- /idea/images/live-template-config.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/web1992/read/e9bb6047aa256512630be9a0d7ced96a7cdbfa72/idea/images/live-template-config.png -------------------------------------------------------------------------------- /idea/images/main.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/web1992/read/e9bb6047aa256512630be9a0d7ced96a7cdbfa72/idea/images/main.gif -------------------------------------------------------------------------------- /idea/images/tomcat-hot-reload-demo.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/web1992/read/e9bb6047aa256512630be9a0d7ced96a7cdbfa72/idea/images/tomcat-hot-reload-demo.gif -------------------------------------------------------------------------------- /idea/images/tomcat-hot-reload.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/web1992/read/e9bb6047aa256512630be9a0d7ced96a7cdbfa72/idea/images/tomcat-hot-reload.gif -------------------------------------------------------------------------------- /idea/readme.md: -------------------------------------------------------------------------------- 1 | # idea 2 | -------------------------------------------------------------------------------- /java/assert.md: -------------------------------------------------------------------------------- 1 | # assert 2 | 3 | ## 例子 4 | 5 | ```java 6 | assert EMPTY_BUFFER instanceof EmptyByteBuf: "EMPTY_BUFFER must be an EmptyByteBuf."; 7 | ``` -------------------------------------------------------------------------------- /java/base-type.md: -------------------------------------------------------------------------------- 1 | # Base type 2 | 3 | - [java 基本类型](https://www.cnblogs.com/doit8791/archive/2012/05/25/2517448.html) -------------------------------------------------------------------------------- /java/blocking-queue.md: -------------------------------------------------------------------------------- 1 | # BlockingQueue 2 | 3 | - [Queue](queue.md) -------------------------------------------------------------------------------- /java/class.md: -------------------------------------------------------------------------------- 1 | # class 2 | 3 | ## class 文件结构 4 | 5 | - [https://coolshell.cn/articles/9229.html](https://coolshell.cn/articles/9229.html) -------------------------------------------------------------------------------- /java/clh.md: -------------------------------------------------------------------------------- 1 | # CLH 2 | 3 | - [CLH (pdf)](http://www.cs.tau.ac.il/~shanir/nir-pubs-web/Papers/CLH.pdf) 4 | - [自旋锁&clh&mcs](https://coderbee.net/index.php/concurrent/20131115/577) -------------------------------------------------------------------------------- /java/complement.md: -------------------------------------------------------------------------------- 1 | # complement 补码 2 | 3 | 补码 = `原码` -> `取反` -> `加1` 4 | 5 | - [https://www.cnblogs.com/zhangziqiu/archive/2011/03/30/ComputerCode.html](https://www.cnblogs.com/zhangziqiu/archive/2011/03/30/ComputerCode.html) 6 | - [https://blog.csdn.net/i6223671/article/details/88924481](https://blog.csdn.net/i6223671/article/details/88924481) -------------------------------------------------------------------------------- /java/completable-future.md: -------------------------------------------------------------------------------- 1 | # CompletableFuture 2 | -------------------------------------------------------------------------------- /java/copy-on-write.md: -------------------------------------------------------------------------------- 1 | # copy-on-write 2 | 3 | ## uml 4 | 5 | ![CopyOnWriteArrayListg](images/CopyOnWriteArrayList.png) 6 | 7 | ## link 8 | 9 | - [wiki](https://en.wikipedia.org/wiki/Copy-on-write) 10 | - [CopyOnWriteArrayList](https://www.javamex.com/tutorials/synchronization_concurrency_8_copy_on_write.shtml) 11 | -------------------------------------------------------------------------------- /java/deque.md: -------------------------------------------------------------------------------- 1 | # Deque 2 | 3 | -[Deque (form oracle docs)](https://docs.oracle.com/javase/tutorial/collections/implementations/deque.html) 4 | 5 | ![deque](images/deque.png) -------------------------------------------------------------------------------- /java/druid/readme.md: -------------------------------------------------------------------------------- 1 | # druid 2 | 3 | `com.alibaba.druid.pool.DruidDataSource` 4 | -------------------------------------------------------------------------------- /java/exception.md: -------------------------------------------------------------------------------- 1 | # exception -------------------------------------------------------------------------------- /java/executor.md: -------------------------------------------------------------------------------- 1 | # Executor 2 | 3 | - [Future](future.md) 4 | - [ThreadPoolExecutor](thread-pool-executor.md) 5 | - [ScheduledThreadPoolExecutor](scheduled-thread-pool-executor.md) 6 | 7 | ![Executor](images/ScheduledThreadPoolExecutor.png) -------------------------------------------------------------------------------- /java/hashmap.md: -------------------------------------------------------------------------------- 1 | # HashMap 2 | 3 | jdk 1.8 `HashMap` 分析 4 | 5 | - [hashmap-get-put.md](hashmap-get-put.md) 6 | - [hashmap-init-and-resize.md](hashmap-init-and-resize.md) 7 | - [hashmap-treebin.md](hashmap-treebin.md) 8 | -------------------------------------------------------------------------------- /java/images/ArrayBlockingQueue.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/web1992/read/e9bb6047aa256512630be9a0d7ced96a7cdbfa72/java/images/ArrayBlockingQueue.png -------------------------------------------------------------------------------- /java/images/ArrayBlockingQueue02.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/web1992/read/e9bb6047aa256512630be9a0d7ced96a7cdbfa72/java/images/ArrayBlockingQueue02.png -------------------------------------------------------------------------------- /java/images/Channel.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/web1992/read/e9bb6047aa256512630be9a0d7ced96a7cdbfa72/java/images/Channel.png -------------------------------------------------------------------------------- /java/images/CopyOnWriteArrayList.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/web1992/read/e9bb6047aa256512630be9a0d7ced96a7cdbfa72/java/images/CopyOnWriteArrayList.png -------------------------------------------------------------------------------- /java/images/DelayedWorkQueue.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/web1992/read/e9bb6047aa256512630be9a0d7ced96a7cdbfa72/java/images/DelayedWorkQueue.png -------------------------------------------------------------------------------- /java/images/FutureTask.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/web1992/read/e9bb6047aa256512630be9a0d7ced96a7cdbfa72/java/images/FutureTask.png -------------------------------------------------------------------------------- /java/images/LinkedBlockingQueue.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/web1992/read/e9bb6047aa256512630be9a0d7ced96a7cdbfa72/java/images/LinkedBlockingQueue.png -------------------------------------------------------------------------------- /java/images/LinkedHashMap.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/web1992/read/e9bb6047aa256512630be9a0d7ced96a7cdbfa72/java/images/LinkedHashMap.png -------------------------------------------------------------------------------- /java/images/NioBuffer.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/web1992/read/e9bb6047aa256512630be9a0d7ced96a7cdbfa72/java/images/NioBuffer.png -------------------------------------------------------------------------------- /java/images/ScheduledFutureTask.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/web1992/read/e9bb6047aa256512630be9a0d7ced96a7cdbfa72/java/images/ScheduledFutureTask.png -------------------------------------------------------------------------------- /java/images/ScheduledThreadPoolExecutor.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/web1992/read/e9bb6047aa256512630be9a0d7ced96a7cdbfa72/java/images/ScheduledThreadPoolExecutor.png -------------------------------------------------------------------------------- /java/images/ServerSocketChannel.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/web1992/read/e9bb6047aa256512630be9a0d7ced96a7cdbfa72/java/images/ServerSocketChannel.png -------------------------------------------------------------------------------- /java/images/SocketChannel.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/web1992/read/e9bb6047aa256512630be9a0d7ced96a7cdbfa72/java/images/SocketChannel.png -------------------------------------------------------------------------------- /java/images/Sync.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/web1992/read/e9bb6047aa256512630be9a0d7ced96a7cdbfa72/java/images/Sync.png -------------------------------------------------------------------------------- /java/images/SynchronousQueue.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/web1992/read/e9bb6047aa256512630be9a0d7ced96a7cdbfa72/java/images/SynchronousQueue.png -------------------------------------------------------------------------------- /java/images/ThreadPoolExecutor.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/web1992/read/e9bb6047aa256512630be9a0d7ced96a7cdbfa72/java/images/ThreadPoolExecutor.png -------------------------------------------------------------------------------- /java/images/asq-wait-status-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/web1992/read/e9bb6047aa256512630be9a0d7ced96a7cdbfa72/java/images/asq-wait-status-2.png -------------------------------------------------------------------------------- /java/images/asq-wait-status.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/web1992/read/e9bb6047aa256512630be9a0d7ced96a7cdbfa72/java/images/asq-wait-status.png -------------------------------------------------------------------------------- /java/images/atomic.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/web1992/read/e9bb6047aa256512630be9a0d7ced96a7cdbfa72/java/images/atomic.png -------------------------------------------------------------------------------- /java/images/class-loader.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/web1992/read/e9bb6047aa256512630be9a0d7ced96a7cdbfa72/java/images/class-loader.png -------------------------------------------------------------------------------- /java/images/concurrent-hash-map-node.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/web1992/read/e9bb6047aa256512630be9a0d7ced96a7cdbfa72/java/images/concurrent-hash-map-node.png -------------------------------------------------------------------------------- /java/images/deque.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/web1992/read/e9bb6047aa256512630be9a0d7ced96a7cdbfa72/java/images/deque.png -------------------------------------------------------------------------------- /java/images/executor.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/web1992/read/e9bb6047aa256512630be9a0d7ced96a7cdbfa72/java/images/executor.png -------------------------------------------------------------------------------- /java/images/future.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/web1992/read/e9bb6047aa256512630be9a0d7ced96a7cdbfa72/java/images/future.png -------------------------------------------------------------------------------- /java/images/hash-demo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/web1992/read/e9bb6047aa256512630be9a0d7ced96a7cdbfa72/java/images/hash-demo.png -------------------------------------------------------------------------------- /java/images/hashmap-bit-array.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/web1992/read/e9bb6047aa256512630be9a0d7ced96a7cdbfa72/java/images/hashmap-bit-array.png -------------------------------------------------------------------------------- /java/images/hashmap-element-move.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/web1992/read/e9bb6047aa256512630be9a0d7ced96a7cdbfa72/java/images/hashmap-element-move.png -------------------------------------------------------------------------------- /java/images/hashmap-new-array.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/web1992/read/e9bb6047aa256512630be9a0d7ced96a7cdbfa72/java/images/hashmap-new-array.png -------------------------------------------------------------------------------- /java/images/hashmap-node-to-tree.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/web1992/read/e9bb6047aa256512630be9a0d7ced96a7cdbfa72/java/images/hashmap-node-to-tree.png -------------------------------------------------------------------------------- /java/images/hashmap-tree-mock.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/web1992/read/e9bb6047aa256512630be9a0d7ced96a7cdbfa72/java/images/hashmap-tree-mock.png -------------------------------------------------------------------------------- /java/images/hashmap-tree-node.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/web1992/read/e9bb6047aa256512630be9a0d7ced96a7cdbfa72/java/images/hashmap-tree-node.png -------------------------------------------------------------------------------- /java/images/hashmap-tree-rotate-left.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/web1992/read/e9bb6047aa256512630be9a0d7ced96a7cdbfa72/java/images/hashmap-tree-rotate-left.png -------------------------------------------------------------------------------- /java/images/hashmap-tree-rotate-right.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/web1992/read/e9bb6047aa256512630be9a0d7ced96a7cdbfa72/java/images/hashmap-tree-rotate-right.png -------------------------------------------------------------------------------- /java/images/hashmap-tree-x-node.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/web1992/read/e9bb6047aa256512630be9a0d7ced96a7cdbfa72/java/images/hashmap-tree-x-node.png -------------------------------------------------------------------------------- /java/images/hashmap-tree-x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/web1992/read/e9bb6047aa256512630be9a0d7ced96a7cdbfa72/java/images/hashmap-tree-x.png -------------------------------------------------------------------------------- /java/images/hashmap-tree.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/web1992/read/e9bb6047aa256512630be9a0d7ced96a7cdbfa72/java/images/hashmap-tree.png -------------------------------------------------------------------------------- /java/images/int-to-byte.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/web1992/read/e9bb6047aa256512630be9a0d7ced96a7cdbfa72/java/images/int-to-byte.png -------------------------------------------------------------------------------- /java/images/io-stream.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/web1992/read/e9bb6047aa256512630be9a0d7ced96a7cdbfa72/java/images/io-stream.png -------------------------------------------------------------------------------- /java/images/left-rotate.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/web1992/read/e9bb6047aa256512630be9a0d7ced96a7cdbfa72/java/images/left-rotate.gif -------------------------------------------------------------------------------- /java/images/linked-blocking-queue-put.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/web1992/read/e9bb6047aa256512630be9a0d7ced96a7cdbfa72/java/images/linked-blocking-queue-put.png -------------------------------------------------------------------------------- /java/images/list.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/web1992/read/e9bb6047aa256512630be9a0d7ced96a7cdbfa72/java/images/list.png -------------------------------------------------------------------------------- /java/images/map.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/web1992/read/e9bb6047aa256512630be9a0d7ced96a7cdbfa72/java/images/map.png -------------------------------------------------------------------------------- /java/images/queue.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/web1992/read/e9bb6047aa256512630be9a0d7ced96a7cdbfa72/java/images/queue.png -------------------------------------------------------------------------------- /java/images/reader.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/web1992/read/e9bb6047aa256512630be9a0d7ced96a7cdbfa72/java/images/reader.png -------------------------------------------------------------------------------- /java/images/right-rotate.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/web1992/read/e9bb6047aa256512630be9a0d7ced96a7cdbfa72/java/images/right-rotate.gif -------------------------------------------------------------------------------- /java/images/set.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/web1992/read/e9bb6047aa256512630be9a0d7ced96a7cdbfa72/java/images/set.png -------------------------------------------------------------------------------- /java/images/thread-pool-ctl.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/web1992/read/e9bb6047aa256512630be9a0d7ced96a7cdbfa72/java/images/thread-pool-ctl.png -------------------------------------------------------------------------------- /java/images/threads-state.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/web1992/read/e9bb6047aa256512630be9a0d7ced96a7cdbfa72/java/images/threads-state.gif -------------------------------------------------------------------------------- /java/images/writer.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/web1992/read/e9bb6047aa256512630be9a0d7ced96a7cdbfa72/java/images/writer.png -------------------------------------------------------------------------------- /java/jdk-source-code.md: -------------------------------------------------------------------------------- 1 | # JDK 源码 2 | 3 | ## Links 4 | 5 | - [HashMap 源码](https://mp.weixin.qq.com/s/dmhUgdiAhebi4AE8oGhhIQ) -------------------------------------------------------------------------------- /java/monitor.md: -------------------------------------------------------------------------------- 1 | # monitor 2 | 3 | - [jvm-monitor原理](https://blog.csdn.net/wojiao228925661/article/details/100145157) -------------------------------------------------------------------------------- /java/nio-mapped-byte-buffer.md: -------------------------------------------------------------------------------- 1 | # MappedByteBuffer 2 | 3 | ## Links 4 | 5 | - [https://www.jianshu.com/p/220ccfc91e95](https://www.jianshu.com/p/220ccfc91e95) 6 | - [https://www.jianshu.com/p/f90866dcbffc](https://www.jianshu.com/p/f90866dcbffc) 7 | -------------------------------------------------------------------------------- /java/nio-selectable-channel.md: -------------------------------------------------------------------------------- 1 | # SelectableChannel -------------------------------------------------------------------------------- /java/nio-socket.md: -------------------------------------------------------------------------------- 1 | # socket 2 | 3 | ## ServerSocketChannel 4 | -------------------------------------------------------------------------------- /java/nio/nio.chapter-01.md: -------------------------------------------------------------------------------- 1 | # I/O Basics and APIs 2 | 3 | ## Classic I/O -------------------------------------------------------------------------------- /java/nio/nio.chapter-14.md: -------------------------------------------------------------------------------- 1 | # Chapter 14 2 | 3 | Completion of Socket Channel Functionality 4 | 5 | ## NetworkChannel 6 | 7 | `java.nio.channels.NetworkChannel` 8 | -------------------------------------------------------------------------------- /java/nio/readme.md: -------------------------------------------------------------------------------- 1 | # Java.I.O.NIO.and.NIO.2 2 | 3 | `Java.I.O.NIO.and.NIO.2` 笔记 4 | 5 | ## Getting Started with I/O 6 | 7 | - [Chapter 1](nio.chapter-01.md) 8 | 9 | ## New I/O APIs 10 | 11 | - [Chapter 6](nio.chapter-06.md) 12 | - [Chapter 7](nio.chapter-07.md) 13 | 14 | ## More New I/O APIs 15 | 16 | - [Chapter 13](nio.chapter-13.md) 17 | - [Chapter 14](nio.chapter-14.md) 18 | -------------------------------------------------------------------------------- /java/reentrant-read-write-lock.md: -------------------------------------------------------------------------------- 1 | # ReentrantReadWriteLock 2 | 3 | `ReentrantReadWriteLock` 是 `ReadWriteLock` 的一种实现 4 | -------------------------------------------------------------------------------- /java/reflect.md: -------------------------------------------------------------------------------- 1 | # reflect 2 | -------------------------------------------------------------------------------- /java/serializable.md: -------------------------------------------------------------------------------- 1 | # Serializable 2 | 3 | java中的序列化 4 | 5 | ## 参考文章 6 | 7 | - [Serializable 简介](http://www.hollischuang.com/archives/1140) 8 | - [IBM](https://www.ibm.com/developerworks/cn/java/j-lo-serial/index.html) -------------------------------------------------------------------------------- /java/servlet.md: -------------------------------------------------------------------------------- 1 | # Servlet 2 | 3 | ## Links 4 | 5 | - [https://www.jianshu.com/p/c23ca9d26f64](https://www.jianshu.com/p/c23ca9d26f64) -------------------------------------------------------------------------------- /java/set.md: -------------------------------------------------------------------------------- 1 | # set 2 | 3 | - [set(from oracle docs)](https://docs.oracle.com/javase/tutorial/collections/implementations/set.html) 4 | 5 | ![Set](images/set.png) 6 | 7 | ## TreeSet 8 | 9 | - [TreeSet (form java doc)](https://docs.oracle.com/javase/8/docs/api/java/util/TreeSet.html) 10 | -------------------------------------------------------------------------------- /java/volatile.md: -------------------------------------------------------------------------------- 1 | # volatile 2 | 3 | 线程可见性变量,一个线程A对一个变量`a`的修改,另一个线程B,可以`看`到A线程的修改`a`之后新的值 4 | 5 | 但是注意`volatile` 在进行算数运行的时候,并不能保证线程安全 6 | 7 | ## 本质 8 | 9 | - 解决指令重排序的问题 10 | - 内存的可见性(内存平整,写无效,写直达) 11 | 12 | ## 问题 13 | 14 | - 多线程并发修改变量为什么会出现线程安全问题?本质原因是什么? 15 | - `volatile` 是如何解决上面的线程安全问题的呢? 16 | -------------------------------------------------------------------------------- /java8/collector.md: -------------------------------------------------------------------------------- 1 | # Collector and Collectors 2 | 3 | ## Collector 4 | 5 | ## Collectors 6 | -------------------------------------------------------------------------------- /java8/file.md: -------------------------------------------------------------------------------- 1 | # file 2 | 3 | - [examples of process file](http://winterbe.com/posts/2015/03/25/java8-examples-string-number-math-files/) -------------------------------------------------------------------------------- /java8/images/CompletableFuture.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/web1992/read/e9bb6047aa256512630be9a0d7ced96a7cdbfa72/java8/images/CompletableFuture.png -------------------------------------------------------------------------------- /java8/images/java8-complate-future-stream.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/web1992/read/e9bb6047aa256512630be9a0d7ced96a7cdbfa72/java8/images/java8-complate-future-stream.png -------------------------------------------------------------------------------- /java8/images/stream.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/web1992/read/e9bb6047aa256512630be9a0d7ced96a7cdbfa72/java8/images/stream.png -------------------------------------------------------------------------------- /java8/java8-in-action.md: -------------------------------------------------------------------------------- 1 | # java 相关 2 | 3 | - [《Java 8 实战》(Java 8 in action)](https://item.jd.com/11917790.html) 4 | 5 | ## java8 引入的三个新特性 6 | 7 | - [lambda](lambda.md) 8 | - [stream](stream.md) 9 | - [default method](default-method.md) -------------------------------------------------------------------------------- /java8/localdatetime.md: -------------------------------------------------------------------------------- 1 | # LocalDateTime -------------------------------------------------------------------------------- /java8/pipeline.md: -------------------------------------------------------------------------------- 1 | # pipeline 2 | 3 | ## ReferencePipeline 4 | 5 | `ReferencePipeline` 是 `Stream` 的主要实现类之一 6 | -------------------------------------------------------------------------------- /java8/stream-impl.md: -------------------------------------------------------------------------------- 1 | # Stream 的实现 2 | 3 | 本质:for + chain (for循环 + 调用链) 4 | -------------------------------------------------------------------------------- /jvm/HotSopt实战/chapter-01.md: -------------------------------------------------------------------------------- 1 | # 第一章 初识HotSpot 2 | -------------------------------------------------------------------------------- /jvm/Java并发编程的艺术/01.md: -------------------------------------------------------------------------------- 1 | # 01 并发编程的挑战 2 | 3 | - 线程上下文切换 4 | - vmstat 5 | - Lmbench3 6 | - CAS 算法 7 | - 资源限制的挑战 8 | -------------------------------------------------------------------------------- /jvm/Java并发编程的艺术/03.md: -------------------------------------------------------------------------------- 1 | # 03 Java 的内存模型 2 | 3 | - JMM(Java内存模型) 4 | - 线程之间的通信机制:共享内存(Java)和消息传递(golang 的channel) 5 | - 指令重排 6 | - 编译器优化的指令重排 7 | - 指令级并行的重排序 8 | - 内存系统的重排序 9 | - happens-befores -------------------------------------------------------------------------------- /jvm/Java并发编程的艺术/readme.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/web1992/read/e9bb6047aa256512630be9a0d7ced96a7cdbfa72/jvm/Java并发编程的艺术/readme.md -------------------------------------------------------------------------------- /jvm/images/jvm_op_code.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/web1992/read/e9bb6047aa256512630be9a0d7ced96a7cdbfa72/jvm/images/jvm_op_code.png -------------------------------------------------------------------------------- /jvm/images/load-store.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/web1992/read/e9bb6047aa256512630be9a0d7ced96a7cdbfa72/jvm/images/load-store.png -------------------------------------------------------------------------------- /jvm/images/memory-analyze/dominator-tree-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/web1992/read/e9bb6047aa256512630be9a0d7ced96a7cdbfa72/jvm/images/memory-analyze/dominator-tree-2.png -------------------------------------------------------------------------------- /jvm/images/memory-analyze/dominator-tree.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/web1992/read/e9bb6047aa256512630be9a0d7ced96a7cdbfa72/jvm/images/memory-analyze/dominator-tree.png -------------------------------------------------------------------------------- /jvm/images/memory-analyze/leak-suspect.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/web1992/read/e9bb6047aa256512630be9a0d7ced96a7cdbfa72/jvm/images/memory-analyze/leak-suspect.png -------------------------------------------------------------------------------- /jvm/images/memory-analyze/report.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/web1992/read/e9bb6047aa256512630be9a0d7ced96a7cdbfa72/jvm/images/memory-analyze/report.png -------------------------------------------------------------------------------- /jvm/images/memory-analyze/thread-stack.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/web1992/read/e9bb6047aa256512630be9a0d7ced96a7cdbfa72/jvm/images/memory-analyze/thread-stack.png -------------------------------------------------------------------------------- /jvm/images/memory-analyze/visualvm-hprof.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/web1992/read/e9bb6047aa256512630be9a0d7ced96a7cdbfa72/jvm/images/memory-analyze/visualvm-hprof.png -------------------------------------------------------------------------------- /jvm/jvm-asm.md: -------------------------------------------------------------------------------- 1 | # asm -------------------------------------------------------------------------------- /jvm/jvm-config.md: -------------------------------------------------------------------------------- 1 | # JVM 配置 2 | 3 | ## 参数设置 4 | 5 | ```java 6 | -server 7 | -Xms1024m 8 | -Xmx1024m 9 | -Xss256k 10 | -XX:PermSize=128m 11 | -XX:MaxPermSize=128m 12 | -XX:+UseParallelOldGC 13 | -XX:+HeapDumpOnOutOfMemoryError 14 | -XX:HeapDumpPath=/opt/dump 15 | -XX:+PrintGCDetails 16 | -XX:+PrintGCDateStamps 17 | -Xloggc:/opt/dump/heap_trace_payment.txt 18 | -XX:NewSize=512m -XX:MaxNewSize=512m 19 | ``` 20 | -------------------------------------------------------------------------------- /jvm/jvm-gc-parallel-scavenge.md: -------------------------------------------------------------------------------- 1 | # Parallel Scavenge 垃圾收集器 2 | 3 | 关键字: 4 | 5 | - -XX:MaxGCPauseMillis 6 | - -XX:GCTimeRatio 7 | - 垃圾分代收集 8 | - 夸代引用 9 | 10 | 11 | ## 概述 12 | 13 | 从下面几个方面去理解Parallel Scavenge回收。 14 | 15 | - 内存布局 16 | - 内存分配 17 | - 内存回收 18 | - 关键技术+实现细节 19 | 20 | ## 内存布局 21 | 22 | ## 内存分配 23 | 24 | ## 内存回收 25 | 26 | ## 关键技术 27 | -------------------------------------------------------------------------------- /jvm/jvm-javassist.md: -------------------------------------------------------------------------------- 1 | # javassist 2 | -------------------------------------------------------------------------------- /jvm/jvm-jmm.md: -------------------------------------------------------------------------------- 1 | # JMM 2 | 3 | - Java 内存模型的抽象 -------------------------------------------------------------------------------- /jvm/jvm-klass.md: -------------------------------------------------------------------------------- 1 | # klass 2 | 3 | 4 | ## Links 5 | 6 | - [Java对象的内存布局](https://www.cnblogs.com/jajian/p/13681781.html) -------------------------------------------------------------------------------- /jvm/jvm-opcode.md: -------------------------------------------------------------------------------- 1 | # Opcode Mnemonics by Opcode 2 | 3 | ![op code](./images/jvm_op_code.png) 4 | 5 | - [https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-7.html](https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-7.html) -------------------------------------------------------------------------------- /jvm/jvm-switch-case.md: -------------------------------------------------------------------------------- 1 | # switch case 的字节码实现 2 | 3 | - [https://stackoverflow.com/questions/10287700/difference-between-jvms-lookupswitch-and-tableswitch](https://stackoverflow.com/questions/10287700/difference-between-jvms-lookupswitch-and-tableswitch) -------------------------------------------------------------------------------- /jvm/jvm-tlab.md: -------------------------------------------------------------------------------- 1 | # JVM TLAB 2 | 3 | - Thread Local AllocationBuffer 4 | 5 | 6 | ## Links 7 | 8 | - [https://www.cnblogs.com/myseries/p/12884249.html](https://www.cnblogs.com/myseries/p/12884249.html) 9 | -------------------------------------------------------------------------------- /jvm/readme.md: -------------------------------------------------------------------------------- 1 | # jvm 2 | 3 | JVM 相关的笔记 4 | 5 | - [HotSopt实战](HotSopt实战/readme.md) 6 | - [深入理解Java虚拟机](深入理解Java虚拟机/readme.md) 7 | - [深入理解jvm字节码](深入理解jvm字节码/readme.md) 8 | - [Java并发编程的艺术](Java并发编程的艺术/readme.md) -------------------------------------------------------------------------------- /jvm/深入JVM虚拟机-JVM-G1算法与实现/chapter-04.md: -------------------------------------------------------------------------------- 1 | # 第 4 章 软实时性 2 | 3 | - 4 | - 5 | 6 | ## 用户的需求 7 | 8 | 在 G1GC 中,用户可以设置如下 3 个值。 9 | 10 | - ①可用内存上限 11 | - ② GC 暂停时间上限 12 | - ③ GC 单位时间 13 | 14 | 设置①是为了避免内存被过度占用。就算是为了实现软实时性,也不能让 GC 完全占用内存。 15 | 16 | ②指定的是执行 GC 所导致的 mutator 的最大暂停时间。这个最大暂停时间并不包含 G1GC 的并发处理时间。在多处理器环境下,G1GC 的并发处理时间可以理解成平均分配给 mutator 的负载。 17 | 18 | -------------------------------------------------------------------------------- /jvm/深入JVM虚拟机-JVM-G1算法与实现/chapter-09.md: -------------------------------------------------------------------------------- 1 | # 第 9 章 堆结构 2 | 3 | - Universe 类 4 | - Universe::_collectedHeap 5 | -------------------------------------------------------------------------------- /jvm/深入JVM虚拟机-JVM-G1算法与实现/chapter-11.md: -------------------------------------------------------------------------------- 1 | # 第 11 章 对象结构 2 | 3 | - oopDesc 类 4 | - KlassOop 5 | - markOopDesc 6 | - 前向指针 forwardPtrMark 7 | -------------------------------------------------------------------------------- /jvm/深入JVM虚拟机-JVM-G1算法与实现/chapter-13.md: -------------------------------------------------------------------------------- 1 | # 第 13 章 线程的互斥处理 2 | 3 | 4 | - 互斥量 mutex 5 | - mutex 由 mutal exclusion(互斥条件)合成而来的。 6 | - monitor 监视器 7 | - 条件变量(condition variable) 8 | - Java 中提供的就是这种不带条件变量的简单的监视器。 9 | - _cond是条件变量,_mutex是互斥量 10 | - mutex.hpp 11 | - Mutex 类 12 | - Monitor 类 13 | - MutexLocker 类 -------------------------------------------------------------------------------- /jvm/深入剖析Java虚拟机源码剖析与实例详解-基础卷-马智/chapter-01.md: -------------------------------------------------------------------------------- 1 | # 第1章 认识HotSpot VM 2 | 3 | 4 | - pthread_create 5 | - pthread_t 6 | - JNIEnv 7 | - CallStaticVoidMethod 8 | 9 | 10 | ## Links 11 | 12 | - 编译+调试 JVM 源码,可参考 [https://juejin.cn/post/6982024331467423774](https://juejin.cn/post/6982024331467423774) 13 | -------------------------------------------------------------------------------- /jvm/深入理解Java虚拟机/chapter-04.md: -------------------------------------------------------------------------------- 1 | # 第 4 章 虚拟机性能监控、故障处理工具 2 | 3 | - jps 4 | - jstat 5 | - jinfo 6 | - jmap 7 | - jstack 8 | - jhat 9 | - JHSDB 10 | - JConsole 11 | - Java Mission Control 12 | - VisualVM 13 | 14 | -------------------------------------------------------------------------------- /jvm/深入理解Java虚拟机/chapter-05.md: -------------------------------------------------------------------------------- 1 | # 第5章 调优案例分析与实战 2 | -------------------------------------------------------------------------------- /jvm/深入理解Java虚拟机/chapter-06.md: -------------------------------------------------------------------------------- 1 | # 第 6 章 类文件结构 2 | -------------------------------------------------------------------------------- /jvm/深入理解Java虚拟机/chapter-08.md: -------------------------------------------------------------------------------- 1 | # 第8章 虚拟机字节码执行引擎 2 | -------------------------------------------------------------------------------- /jvm/深入理解Java虚拟机/chapter-09.md: -------------------------------------------------------------------------------- 1 | # 第 9 章 类加载及执行子系统的案例与实战 2 | 3 | - Tomcat 的类加载机制 -------------------------------------------------------------------------------- /jvm/深入理解Java虚拟机/chapter-10.md: -------------------------------------------------------------------------------- 1 | # 第 10 章 前端编译与优化 2 | 3 | - Javac 编译器 4 | - Java 语法糖 5 | - 注解处理器 6 | - lombok 7 | -------------------------------------------------------------------------------- /jvm/深入理解Java虚拟机/chapter-11.md: -------------------------------------------------------------------------------- 1 | # 第 11 章 后端编译与优化 2 | 3 | - Graal 编译器 4 | - JVMCI JVMCI 编译器接口 5 | 6 | ## Links 7 | 8 | - [https://www.graalvm.org/](https://www.graalvm.org/) 9 | - [https://github.com/oracle/graal](https://github.com/oracle/graal) 10 | - [GraalVM:微服务时代的 Java](https://zhuanlan.zhihu.com/p/137836206) 11 | -------------------------------------------------------------------------------- /jvm/深入理解jvm字节码/01.md: -------------------------------------------------------------------------------- 1 | # 第一章 深入剖析class文件结构 2 | -------------------------------------------------------------------------------- /jvm/深入理解jvm字节码/03.md: -------------------------------------------------------------------------------- 1 | # 第三章 字节码进阶 2 | 3 | ## 知识储备 4 | 5 | - 会使用 `javac` & `javap` 编译和查看`class`文件 6 | - 了解 `class` 文件的结构,如:常量池 7 | - 能读懂简单的字节码指令,如: `iadd`,`istore`,`iaload` 8 | - 知道下面字节码指令的区别: `invokedynamic`,`invokeinterface`,`invokespecial`,`invokestatic`,`invokevirtual` 9 | - 知道 `栈`,`栈帧`,`操作数栈`,`动态链接`的概念 10 | - invokedynamic 11 | -------------------------------------------------------------------------------- /kafka/readme.md: -------------------------------------------------------------------------------- 1 | # Kafka 2 | 3 | -------------------------------------------------------------------------------- /kafka/深入理解kafka-核心设计与实践原理/images/consumer-offset.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/web1992/read/e9bb6047aa256512630be9a0d7ced96a7cdbfa72/kafka/深入理解kafka-核心设计与实践原理/images/consumer-offset.png -------------------------------------------------------------------------------- /kafka/深入理解kafka-核心设计与实践原理/images/kafka-consumer-group.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/web1992/read/e9bb6047aa256512630be9a0d7ced96a7cdbfa72/kafka/深入理解kafka-核心设计与实践原理/images/kafka-consumer-group.png -------------------------------------------------------------------------------- /kafka/深入理解kafka-核心设计与实践原理/images/kafka-producer.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/web1992/read/e9bb6047aa256512630be9a0d7ced96a7cdbfa72/kafka/深入理解kafka-核心设计与实践原理/images/kafka-producer.png -------------------------------------------------------------------------------- /kafka/深入理解kafka-核心设计与实践原理/readme.md: -------------------------------------------------------------------------------- 1 | # 深入理解kafka-核心设计与实践原理 2 | 3 | - [第一章 初识 Kafka](chapter-01.md) 4 | - [第2章 生产者](chapter-02.md) 5 | -------------------------------------------------------------------------------- /kubernetes/images/k8s-bin.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/web1992/read/e9bb6047aa256512630be9a0d7ced96a7cdbfa72/kubernetes/images/k8s-bin.png -------------------------------------------------------------------------------- /kubernetes/images/k8s-controller.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/web1992/read/e9bb6047aa256512630be9a0d7ced96a7cdbfa72/kubernetes/images/k8s-controller.png -------------------------------------------------------------------------------- /kubernetes/images/k8s-master.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/web1992/read/e9bb6047aa256512630be9a0d7ced96a7cdbfa72/kubernetes/images/k8s-master.png -------------------------------------------------------------------------------- /kubernetes/images/k8s-node.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/web1992/read/e9bb6047aa256512630be9a0d7ced96a7cdbfa72/kubernetes/images/k8s-node.png -------------------------------------------------------------------------------- /kubernetes/images/k8s-tech.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/web1992/read/e9bb6047aa256512630be9a0d7ced96a7cdbfa72/kubernetes/images/k8s-tech.png -------------------------------------------------------------------------------- /kubernetes/images/k8s.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/web1992/read/e9bb6047aa256512630be9a0d7ced96a7cdbfa72/kubernetes/images/k8s.png -------------------------------------------------------------------------------- /kubernetes/images/minikube.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/web1992/read/e9bb6047aa256512630be9a0d7ced96a7cdbfa72/kubernetes/images/minikube.png -------------------------------------------------------------------------------- /kubernetes/kubenetes-dashboard.md: -------------------------------------------------------------------------------- 1 | # dashboard 2 | 3 | - [https://kubernetes.io/docs/tasks/access-application-cluster/web-ui-dashboard/](https://kubernetes.io/docs/tasks/access-application-cluster/web-ui-dashboard/) 4 | 5 | -------------------------------------------------------------------------------- /kubernetes/kubernetes-configmap.md: -------------------------------------------------------------------------------- 1 | # configmap 2 | -------------------------------------------------------------------------------- /kubernetes/kubernetes-controller.md: -------------------------------------------------------------------------------- 1 | # kubernetes controller 2 | -------------------------------------------------------------------------------- /kubernetes/kubernetes-crd.md: -------------------------------------------------------------------------------- 1 | # crd 2 | 3 | Custom resources definition 4 | -------------------------------------------------------------------------------- /kubernetes/kubernetes-cri.md: -------------------------------------------------------------------------------- 1 | # container 2 | 3 | 容器技术 4 | -------------------------------------------------------------------------------- /kubernetes/kubernetes-daemon-set.md: -------------------------------------------------------------------------------- 1 | # DaemonSet 2 | -------------------------------------------------------------------------------- /kubernetes/kubernetes-deployment.md: -------------------------------------------------------------------------------- 1 | # deployment 2 | -------------------------------------------------------------------------------- /kubernetes/kubernetes-helm.md: -------------------------------------------------------------------------------- 1 | # helm 2 | 3 | -------------------------------------------------------------------------------- /kubernetes/kubernetes-infromer.md: -------------------------------------------------------------------------------- 1 | # informer 2 | -------------------------------------------------------------------------------- /kubernetes/kubernetes-job.md: -------------------------------------------------------------------------------- 1 | # job 2 | -------------------------------------------------------------------------------- /kubernetes/kubernetes-lables.md: -------------------------------------------------------------------------------- 1 | # Labels 2 | -------------------------------------------------------------------------------- /kubernetes/kubernetes-pod.md: -------------------------------------------------------------------------------- 1 | # pod 2 | -------------------------------------------------------------------------------- /kubernetes/kubernetes-probe-spec.md: -------------------------------------------------------------------------------- 1 | # probe spec 2 | 3 | - liveness 4 | - readiness 5 | 6 | ## 调试工具 7 | 8 | Telepresence 9 | port-forward 10 | kubectl-debug 11 | -------------------------------------------------------------------------------- /kubernetes/kubernetes-pv-pvc.md: -------------------------------------------------------------------------------- 1 | # pv and pvc 2 | -------------------------------------------------------------------------------- /kubernetes/kubernetes-runtime-class.md: -------------------------------------------------------------------------------- 1 | # RuntimeClass 2 | -------------------------------------------------------------------------------- /kubernetes/kubernetes-statefuleset.md: -------------------------------------------------------------------------------- 1 | # StateFulSet 2 | -------------------------------------------------------------------------------- /kubernetes/kubernetes-volume.md: -------------------------------------------------------------------------------- 1 | # volume 2 | 3 | - emptyDir 4 | - hostPath 5 | - gcePersistentDisk 6 | - awsElasticBlockStore 7 | - NFS 8 | 9 | ## pv 10 | 11 | ## pvc 12 | -------------------------------------------------------------------------------- /kubernetes/kubernetes.md: -------------------------------------------------------------------------------- 1 | # kubernetes 2 | 3 | Kubernetes provides you with 4 | 5 | - Service discovery and load balancing 6 | - Storage orchestration 7 | - Automated rollouts and rollbacks 8 | - Automatic bin packing 9 | - Self-healin 10 | - Secret and configuration management 11 | 12 | ## Tech 13 | 14 | ![k8s-tech.png](./images/k8s-tech.png) 15 | -------------------------------------------------------------------------------- /kubernetes/kuboard.md: -------------------------------------------------------------------------------- 1 | # kuboard 2 | 3 | https://github.com/eip-work/kuboard-press -------------------------------------------------------------------------------- /linux/Linux设备驱动开发详解/001-linux-env-build.md: -------------------------------------------------------------------------------- 1 | # 第1章 Linux设备驱动概述及开发环境构建 2 | 3 | -------------------------------------------------------------------------------- /linux/Linux设备驱动开发详解/002-linux-base.md: -------------------------------------------------------------------------------- 1 | # 第2章 驱动设计的硬件基础 -------------------------------------------------------------------------------- /linux/Linux设备驱动开发详解/021-linux-debug.md: -------------------------------------------------------------------------------- 1 | # 第21章 Linux设备驱动的调试 2 | 3 | - P1628 4 | - printk 5 | - __log_buf 6 | - dmesg 7 | - /proc/kmsg 8 | - pr_debug 9 | - __func__ 10 | - __LINE__ 11 | - __FILE__ 12 | - /proc/sys/kernel/printk 13 | - /proc/meminfo 14 | - /dev/globalmem 15 | - BUG_ON()和WARN_ON() 16 | - panic 17 | - WARN_ON 18 | - strace 19 | - KGDB 20 | -------------------------------------------------------------------------------- /linux/Linux设备驱动开发详解/images/006-linux-file_operations.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/web1992/read/e9bb6047aa256512630be9a0d7ced96a7cdbfa72/linux/Linux设备驱动开发详解/images/006-linux-file_operations.png -------------------------------------------------------------------------------- /linux/Linux设备驱动开发详解/images/008-linux-select-pool.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/web1992/read/e9bb6047aa256512630be9a0d7ced96a7cdbfa72/linux/Linux设备驱动开发详解/images/008-linux-select-pool.png -------------------------------------------------------------------------------- /linux/Linux设备驱动开发详解/images/008-linux-wait-queue-wait-queue-head-t.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/web1992/read/e9bb6047aa256512630be9a0d7ced96a7cdbfa72/linux/Linux设备驱动开发详解/images/008-linux-wait-queue-wait-queue-head-t.png -------------------------------------------------------------------------------- /linux/Linux设备驱动开发详解/images/009-linux-async-sig.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/web1992/read/e9bb6047aa256512630be9a0d7ced96a7cdbfa72/linux/Linux设备驱动开发详解/images/009-linux-async-sig.png -------------------------------------------------------------------------------- /linux/Linux设备驱动开发详解/images/009-linux-eagain-sync-io.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/web1992/read/e9bb6047aa256512630be9a0d7ced96a7cdbfa72/linux/Linux设备驱动开发详解/images/009-linux-eagain-sync-io.png -------------------------------------------------------------------------------- /linux/Linux设备驱动开发详解/images/010-linux-top-half.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/web1992/read/e9bb6047aa256512630be9a0d7ced96a7cdbfa72/linux/Linux设备驱动开发详解/images/010-linux-top-half.png -------------------------------------------------------------------------------- /linux/Linux设备驱动开发详解/images/011-linux-32-mem.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/web1992/read/e9bb6047aa256512630be9a0d7ced96a7cdbfa72/linux/Linux设备驱动开发详解/images/011-linux-32-mem.png -------------------------------------------------------------------------------- /linux/Linux设备驱动开发详解/images/011-linux-dma-cache-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/web1992/read/e9bb6047aa256512630be9a0d7ced96a7cdbfa72/linux/Linux设备驱动开发详解/images/011-linux-dma-cache-2.png -------------------------------------------------------------------------------- /linux/Linux设备驱动开发详解/images/011-linux-dma-cache.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/web1992/read/e9bb6047aa256512630be9a0d7ced96a7cdbfa72/linux/Linux设备驱动开发详解/images/011-linux-dma-cache.png -------------------------------------------------------------------------------- /linux/Linux设备驱动开发详解/images/011-linux-io-port-flow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/web1992/read/e9bb6047aa256512630be9a0d7ced96a7cdbfa72/linux/Linux设备驱动开发详解/images/011-linux-io-port-flow.png -------------------------------------------------------------------------------- /linux/Linux设备驱动开发详解/images/011-linux-io-port.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/web1992/read/e9bb6047aa256512630be9a0d7ced96a7cdbfa72/linux/Linux设备驱动开发详解/images/011-linux-io-port.png -------------------------------------------------------------------------------- /linux/Linux设备驱动开发详解/images/011-linux-io.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/web1992/read/e9bb6047aa256512630be9a0d7ced96a7cdbfa72/linux/Linux设备驱动开发详解/images/011-linux-io.png -------------------------------------------------------------------------------- /linux/Linux设备驱动开发详解/images/011-linux-mem.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/web1992/read/e9bb6047aa256512630be9a0d7ced96a7cdbfa72/linux/Linux设备驱动开发详解/images/011-linux-mem.png -------------------------------------------------------------------------------- /linux/Linux设备驱动开发详解/images/011-linux-virtual-mem.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/web1992/read/e9bb6047aa256512630be9a0d7ced96a7cdbfa72/linux/Linux设备驱动开发详解/images/011-linux-virtual-mem.png -------------------------------------------------------------------------------- /linux/Linux设备驱动开发详解/images/011-mmu-arm.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/web1992/read/e9bb6047aa256512630be9a0d7ced96a7cdbfa72/linux/Linux设备驱动开发详解/images/011-mmu-arm.png -------------------------------------------------------------------------------- /linux/Linux设备驱动开发详解/images/011-mmu-table.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/web1992/read/e9bb6047aa256512630be9a0d7ced96a7cdbfa72/linux/Linux设备驱动开发详解/images/011-mmu-table.png -------------------------------------------------------------------------------- /linux/Linux设备驱动开发详解/images/012-linux-deivce-layer.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/web1992/read/e9bb6047aa256512630be9a0d7ced96a7cdbfa72/linux/Linux设备驱动开发详解/images/012-linux-deivce-layer.png -------------------------------------------------------------------------------- /linux/Linux设备驱动开发详解/images/012-linux-device-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/web1992/read/e9bb6047aa256512630be9a0d7ced96a7cdbfa72/linux/Linux设备驱动开发详解/images/012-linux-device-1.png -------------------------------------------------------------------------------- /linux/Linux设备驱动开发详解/images/012-linux-framebuffer.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/web1992/read/e9bb6047aa256512630be9a0d7ced96a7cdbfa72/linux/Linux设备驱动开发详解/images/012-linux-framebuffer.png -------------------------------------------------------------------------------- /linux/Linux设备驱动开发详解/images/012-linux-tty.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/web1992/read/e9bb6047aa256512630be9a0d7ced96a7cdbfa72/linux/Linux设备驱动开发详解/images/012-linux-tty.png -------------------------------------------------------------------------------- /linux/Linux设备驱动开发详解/images/013-linux-bio-vec.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/web1992/read/e9bb6047aa256512630be9a0d7ced96a7cdbfa72/linux/Linux设备驱动开发详解/images/013-linux-bio-vec.png -------------------------------------------------------------------------------- /linux/Linux设备驱动开发详解/images/013-linux-io-schedule.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/web1992/read/e9bb6047aa256512630be9a0d7ced96a7cdbfa72/linux/Linux设备驱动开发详解/images/013-linux-io-schedule.png -------------------------------------------------------------------------------- /linux/Linux设备驱动开发详解/images/014-linux-net-device-layer.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/web1992/read/e9bb6047aa256512630be9a0d7ced96a7cdbfa72/linux/Linux设备驱动开发详解/images/014-linux-net-device-layer.png -------------------------------------------------------------------------------- /linux/Linux设备驱动开发详解/images/014-linux-net-sk-buff.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/web1992/read/e9bb6047aa256512630be9a0d7ced96a7cdbfa72/linux/Linux设备驱动开发详解/images/014-linux-net-sk-buff.png -------------------------------------------------------------------------------- /linux/Linux设备驱动开发详解/images/015-linux-ic2-arch.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/web1992/read/e9bb6047aa256512630be9a0d7ced96a7cdbfa72/linux/Linux设备驱动开发详解/images/015-linux-ic2-arch.png -------------------------------------------------------------------------------- /linux/Linux设备驱动开发详解/images/016-linux-sub-point.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/web1992/read/e9bb6047aa256512630be9a0d7ced96a7cdbfa72/linux/Linux设备驱动开发详解/images/016-linux-sub-point.png -------------------------------------------------------------------------------- /linux/Linux设备驱动开发详解/images/016-linux-usb-arch.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/web1992/read/e9bb6047aa256512630be9a0d7ced96a7cdbfa72/linux/Linux设备驱动开发详解/images/016-linux-usb-arch.png -------------------------------------------------------------------------------- /linux/Linux设备驱动开发详解/images/017-linux-i2c-usb-spi.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/web1992/read/e9bb6047aa256512630be9a0d7ced96a7cdbfa72/linux/Linux设备驱动开发详解/images/017-linux-i2c-usb-spi.png -------------------------------------------------------------------------------- /linux/Linux设备驱动开发详解/images/018-linux-dts-arch.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/web1992/read/e9bb6047aa256512630be9a0d7ced96a7cdbfa72/linux/Linux设备驱动开发详解/images/018-linux-dts-arch.png -------------------------------------------------------------------------------- /linux/Linux设备驱动开发详解/images/019-linux-power-arch.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/web1992/read/e9bb6047aa256512630be9a0d7ced96a7cdbfa72/linux/Linux设备驱动开发详解/images/019-linux-power-arch.png -------------------------------------------------------------------------------- /linux/linux-fork.md: -------------------------------------------------------------------------------- 1 | # Fork 2 | 3 | ## Links 4 | 5 | - [fork的原理及实现](https://zhuanlan.zhihu.com/p/36872365) 6 | - [https://man7.org/linux/man-pages/man2/fork.2.html](https://man7.org/linux/man-pages/man2/fork.2.html) -------------------------------------------------------------------------------- /linux/readme.md: -------------------------------------------------------------------------------- 1 | # Linux 2 | 3 | - [cron](https://tecadmin.net/crontab-in-linux-with-20-examples-of-cron-schedule/) -------------------------------------------------------------------------------- /mac/readme.md: -------------------------------------------------------------------------------- 1 | # mac 2 | 3 | Mac常用的命令 4 | 5 | - [Mac查询网卡信息](https://www.jianshu.com/p/d5c0c5726cb0) 6 | 7 | ```sh 8 | lsof -i tcp:8080 # 查询端口信息 9 | brew install autoconf 10 | ``` 11 | -------------------------------------------------------------------------------- /mathematics/readme.md: -------------------------------------------------------------------------------- 1 | # 数学 2 | -------------------------------------------------------------------------------- /mathematics/数学之美/chapter-01.md: -------------------------------------------------------------------------------- 1 | # 01 文字和语言 vs 数学信息 2 | -------------------------------------------------------------------------------- /mathematics/数学之美/chapter-02.md: -------------------------------------------------------------------------------- 1 | # 02 自然语言处理-从规则到统计 2 | -------------------------------------------------------------------------------- /mathematics/数学之美/chapter-03.md: -------------------------------------------------------------------------------- 1 | # 03 统计语言模型 2 | -------------------------------------------------------------------------------- /mathematics/数学之美/chapter-12.md: -------------------------------------------------------------------------------- 1 | # 第12章 地图和本地搜索的最基本技术 有限状态机和动态规划 2 | 3 | - 地址识别技术 才有有限状态机 4 | - 程序语言编译器 5 | - 基于概率的有限状态机 6 | - 全球导航和动态规划 Dyanmic Programming 7 | - ( Weighted Finite State Transducer, 简称 WFST ) 有限状态传感器 8 | - 9 | 10 | ## Dyanmic Programming 11 | 12 | 所有的导航系统采用的都是动态规划的办法,这里面的Programming一词在数学上的含义是“规划”,不是计算机里的“编程”。 -------------------------------------------------------------------------------- /mathematics/数学之美/chapter-13.md: -------------------------------------------------------------------------------- 1 | # 第13章Google AK-47的设计者 阿米特·辛格博士 2 | 3 | - 阿米特·辛格博士 -------------------------------------------------------------------------------- /mathematics/数学之美/chapter-14.md: -------------------------------------------------------------------------------- 1 | # 第14章余弦定理和新闻的分类 2 | 3 | - TF-IDF 单文本词汇频率/逆文本频率值 TF-IDF 4 | - 余弦定理 5 | - 新闻分类 6 | - 数值分析 -------------------------------------------------------------------------------- /mathematics/数学之美/chapter-15.md: -------------------------------------------------------------------------------- 1 | # 第15章矩阵运算和文本处理中的两个分类问题 2 | 3 | - 线性代数 4 | - 线性方程 5 | - 矩阵 6 | - 特征值 7 | - 文本和词汇的矩阵 8 | - 类聚问题 9 | - 用矩阵运算中的奇异值分解(Singular Value Decomposition,简称SVD) -------------------------------------------------------------------------------- /mathematics/数学之美/readme.md: -------------------------------------------------------------------------------- 1 | # 数学之美 2 | 3 | > 前言 4 | 5 | - 思维方法 6 | - 归纳 抽象 7 | - WWW的发明人蒂姆.伯纳斯.李谈到设计原理时说过:`简单性和模块化是软件.工程的基石;分布式和容错性是互联网的生命。` 8 | - `有正确设计思想方法的技术`未必能够成功,因为还有非技术的因素;但`没有正确设计思想方法的技术一定失败`,无一例外。 9 | - 经过几千年的抽象化,大家头脑里能想象的数学只剩下数字、符号、公式和定理了 10 | 11 | -------------------------------------------------------------------------------- /micro-services/distributed-tx.md: -------------------------------------------------------------------------------- 1 | # 分布式事务 2 | 3 | - [TCC 两阶段异步补偿型](https://mp.weixin.qq.com/s/O_M9nWZNDTq1NrM5l-if_Q) 4 | - [XA事务](https://yq.aliyun.com/articles/283392) -------------------------------------------------------------------------------- /micro-services/service-discovery.md: -------------------------------------------------------------------------------- 1 | # 服务发现 2 | 3 | ## Links 4 | 5 | - [服务发现](https://icyfenix.cn/distribution/connect/service-discovery.html) -------------------------------------------------------------------------------- /mybatis/images/DataSourceTransactionManager.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/web1992/read/e9bb6047aa256512630be9a0d7ced96a7cdbfa72/mybatis/images/DataSourceTransactionManager.png -------------------------------------------------------------------------------- /mybatis/images/SqlSessionFactoryBean.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/web1992/read/e9bb6047aa256512630be9a0d7ced96a7cdbfa72/mybatis/images/SqlSessionFactoryBean.png -------------------------------------------------------------------------------- /mybatis/images/mybatis-exe.draw.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/web1992/read/e9bb6047aa256512630be9a0d7ced96a7cdbfa72/mybatis/images/mybatis-exe.draw.png -------------------------------------------------------------------------------- /mybatis/images/mybatis-mapper-factory-bean.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/web1992/read/e9bb6047aa256512630be9a0d7ced96a7cdbfa72/mybatis/images/mybatis-mapper-factory-bean.png -------------------------------------------------------------------------------- /mybatis/images/mybatis-mapper-scanner-configurer.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/web1992/read/e9bb6047aa256512630be9a0d7ced96a7cdbfa72/mybatis/images/mybatis-mapper-scanner-configurer.png -------------------------------------------------------------------------------- /mybatis/images/mybatis-ms.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/web1992/read/e9bb6047aa256512630be9a0d7ced96a7cdbfa72/mybatis/images/mybatis-ms.png -------------------------------------------------------------------------------- /mybatis/images/mybatis.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/web1992/read/e9bb6047aa256512630be9a0d7ced96a7cdbfa72/mybatis/images/mybatis.png -------------------------------------------------------------------------------- /mybatis/mybatis-key-generator.md: -------------------------------------------------------------------------------- 1 | # KeyGenerator 2 | 3 | - Jdbc3KeyGenerator 4 | - NoKeyGenerator 5 | - SelectKeyGenerator 6 | -------------------------------------------------------------------------------- /mybatis/mybatis-pooled-data-source.md: -------------------------------------------------------------------------------- 1 | # PooledDataSource 2 | 3 | ## pushConnection 4 | 5 | ## popConnection 6 | 7 | ## pingConnection 8 | -------------------------------------------------------------------------------- /mybatis/mybatis-xml-statement-builder.md: -------------------------------------------------------------------------------- 1 | # XMLStatementBuilder 2 | 3 | > 解析 `xml` 中的 `sql` 语句 4 | -------------------------------------------------------------------------------- /mysql/MySQL技术内幕(InnoDB存储引擎)第2版/chapter-01.md: -------------------------------------------------------------------------------- 1 | # 第1章 MySQL体系结构和存储引擎 2 | 3 | - InnoDB 存储引擎 4 | - MyISAM存储引擎 5 | - NDB 存储弓|擎 6 | - Memory 存储引擎 7 | - Archive 存储引擎 8 | - Federated 存储引擎 9 | - Maria 存储引擎 10 | -------------------------------------------------------------------------------- /mysql/MySQL技术内幕(InnoDB存储引擎)第2版/chapter-08.md: -------------------------------------------------------------------------------- 1 | # 第8章 备份与恢复 2 | -------------------------------------------------------------------------------- /mysql/MySQL技术内幕(InnoDB存储引擎)第2版/chapter-09.md: -------------------------------------------------------------------------------- 1 | # 第9章 性能调优 2 | -------------------------------------------------------------------------------- /mysql/MySQL技术内幕(InnoDB存储引擎)第2版/chapter-10.md: -------------------------------------------------------------------------------- 1 | # 第10章 InnoDB 存储引擎源代码的编译和调试 2 | -------------------------------------------------------------------------------- /mysql/MySQL是怎么运行的/images/innodb-architecture.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/web1992/read/e9bb6047aa256512630be9a0d7ced96a7cdbfa72/mysql/MySQL是怎么运行的/images/innodb-architecture.png -------------------------------------------------------------------------------- /mysql/MySQL是怎么运行的/mysql-01.md: -------------------------------------------------------------------------------- 1 | # 第1章 装作自己是个小白-重新认识MySQL 2 | -------------------------------------------------------------------------------- /mysql/MySQL是怎么运行的/mysql-02.md: -------------------------------------------------------------------------------- 1 | # 第2章 MySQL的调控按钮-启动选项和系统变量 -------------------------------------------------------------------------------- /mysql/MySQL是怎么运行的/mysql-03.md: -------------------------------------------------------------------------------- 1 | # 第3章 乱码的前世今生-字符集和比较规则 2 | 3 | - utf8mb3 :阉割过的 utf8 字符集,只使用1~3个字节表示字符。 4 | - utf8mb4 :正宗的 utf8 字符集,使用1~4个字节表示字符。 5 | - 字符集和比较规则 6 | - 字符集 指的是某个字符范围的编码规则。 7 | - 比较规则 是针对某个字符集中的字符比较大小的一种规则。 8 | - SHOW CHARSET; 9 | - SHOW COLLATION LIKE 'utf8\_%'; 10 | - character_set_server 表示服务器级别的字符集, collation_server 表示服务器级别的比较规则 11 | - character_set_client 12 | - character_set_connection 13 | -------------------------------------------------------------------------------- /mysql/MySQL是怎么运行的/mysql-14.md: -------------------------------------------------------------------------------- 1 | # 第14章 不好看就要多整容-MySQL基于规则的优化(内含关于子查询优化二三事儿) 2 | 3 | - 查询重写 4 | - 重写规则 5 | - 条件化简 6 | - 移除不必要的括号 7 | - 量传递(constant_propagation) 8 | - 等值传递(equality_propagation) 9 | - 移除没用的条件(trivial_condition_removal) 10 | - 表达式计算 11 | - HAVING子句和WHERE子句的合并 -------------------------------------------------------------------------------- /mysql/MySQL是怎么运行的/mysql-16.md: -------------------------------------------------------------------------------- 1 | # 第16章 查询优化的百科全书-Explain详解(下) -------------------------------------------------------------------------------- /mysql/MySQL是怎么运行的/mysql-17.md: -------------------------------------------------------------------------------- 1 | # 第17章 神兵利器-optimizer trace表的神器功效 -------------------------------------------------------------------------------- /mysql/MySQL是怎么运行的/mysql-26.md: -------------------------------------------------------------------------------- 1 | # 第26章 写作本书时用到的一些重要的参考资料 2 | -------------------------------------------------------------------------------- /mysql/images/innodb-architecture.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/web1992/read/e9bb6047aa256512630be9a0d7ced96a7cdbfa72/mysql/images/innodb-architecture.png -------------------------------------------------------------------------------- /mysql/images/innodb-buffer-pool-list.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/web1992/read/e9bb6047aa256512630be9a0d7ced96a7cdbfa72/mysql/images/innodb-buffer-pool-list.png -------------------------------------------------------------------------------- /mysql/images/innodb-data-struct.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/web1992/read/e9bb6047aa256512630be9a0d7ced96a7cdbfa72/mysql/images/innodb-data-struct.png -------------------------------------------------------------------------------- /mysql/mysql-Innodb-row-formats.md: -------------------------------------------------------------------------------- 1 | # InnoDB Row Formats 2 | 3 | - [https://dev.mysql.com/doc/refman/5.7/en/innodb-row-format.html](https://dev.mysql.com/doc/refman/5.7/en/innodb-row-format.html) 4 | -------------------------------------------------------------------------------- /mysql/mysql-cmd.md: -------------------------------------------------------------------------------- 1 | # mysql 常用的命令 2 | 3 | ## table 4 | 5 | ```sql 6 | # 查询表的状态 7 | show table status like 'user'; 8 | show table status; 9 | 10 | show processlist; 11 | 12 | show variables like 'transaction_isolation'; 13 | ``` 14 | 15 | 16 | select * from information_schema.innodb_trx where TIME_TO_SEC(timediff(now(),trx_started))>60 -------------------------------------------------------------------------------- /mysql/mysql-data-type.md: -------------------------------------------------------------------------------- 1 | # MySQL 数据类型 2 | 3 | 1. 假设某个字符集中表示一个字符最多需要使用的字节数为W ,也就是使用SHOW CHARSET 语句的结果中的Maxlen 列,比方说utf8 字符集中的W 就是3 , gbk 字符集中的W 就是2 , ascii 字符集中的W 就是 4 | 2. 对于变长类型VARCHAR(M) 来说,这种类型表示能存储最多M 个字符(注意是字符不是字节),所以这个类型能表示的字符串最多占用的字节数就是M×W 。 5 | 3. 假设它实际存储的字符串占用的字节数是L 6 | -------------------------------------------------------------------------------- /mysql/mysql-group-by.md: -------------------------------------------------------------------------------- 1 | # group by 2 | 3 | ## group by 查询优化 4 | 5 | - `group by`进行分组查询的时候,无法使用索引的时候,会用到`临时表`  和`文件排序`,这两种情况都是可以优化的 6 | - `group by`结果会自动进行排序,可以使用`order by null`禁止排序 7 | -------------------------------------------------------------------------------- /mysql/mysql-innodb-locking.md: -------------------------------------------------------------------------------- 1 | # InnoDB Locking 2 | 3 | - [https://dev.mysql.com/doc/refman/5.7/en/innodb-locking.html](https://dev.mysql.com/doc/refman/5.7/en/innodb-locking.html) -------------------------------------------------------------------------------- /mysql/mysql-join.md: -------------------------------------------------------------------------------- 1 | # join 2 | 3 | - [join](http://www.cnblogs.com/BeginMan/p/3754322.html) 4 | -------------------------------------------------------------------------------- /mysql/mysql-temporary-table.md: -------------------------------------------------------------------------------- 1 | 2 | # MySQL 创建临时表的案例 3 | 4 | ## 1 use join 5 | 6 | [Link](https://dev.mysql.com/doc/refman/5.7/en/where-optimization.html) 7 | 8 | > If there is an ORDER BY clause and a different GROUP BY clause, or if the ORDER BY or GROUP BY contains columns from tables other than the first table in the join queue, a temporary table is created. 9 | 10 | ## 2 11 | -------------------------------------------------------------------------------- /mysql/mysql-tokudb.md: -------------------------------------------------------------------------------- 1 | # tokudb 2 | 3 | 一个 mysql 存储引擎,支持 TB 数据,使用 fractal tree 数据结构 4 | -------------------------------------------------------------------------------- /nacos/images/nacos-arch.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/web1992/read/e9bb6047aa256512630be9a0d7ced96a7cdbfa72/nacos/images/nacos-arch.png -------------------------------------------------------------------------------- /nacos/nacos-distro.md: -------------------------------------------------------------------------------- 1 | # Distro 协议 2 | -------------------------------------------------------------------------------- /nacos/nacos-naming-factory.md: -------------------------------------------------------------------------------- 1 | # NamingFactory 2 | 3 | ```java 4 | NamingService naming = NamingFactory.createNamingService(System.getProperty("serveAddr")); 5 | ``` -------------------------------------------------------------------------------- /nacos/nacos-naming-service.md: -------------------------------------------------------------------------------- 1 | # NamingService 2 | 3 | ```java 4 | NamingService naming = NamingFactory.createNamingService(System.getProperty("serveAddr")); 5 | naming.registerInstance("nacos.test.3", "11.11.11.11", 8888, "TEST1"); 6 | ``` -------------------------------------------------------------------------------- /nacos/nacos-spring.md: -------------------------------------------------------------------------------- 1 | # Nacos Spring 2 | 3 | Nacos 快速的集成 Spring 4 | 5 | - [https://github.com/nacos-group/nacos-spring-project](https://github.com/nacos-group/nacos-spring-project) 6 | - [https://nacos.io/zh-cn/docs/nacos-spring.html](https://nacos.io/zh-cn/docs/nacos-spring.html) 7 | -------------------------------------------------------------------------------- /nacos/nacos.md: -------------------------------------------------------------------------------- 1 | # Nacos 2 | 3 | - [Nacos](readme.md) 4 | 5 | ## 产品对比 6 | 7 | - Eureak 8 | - Consul 9 | - Zookeeper 10 | - CoreDNS 11 | 12 | ## Links 13 | 14 | - [阿里巴巴为什么不用 ZooKeeper 做服务发现](https://mp.weixin.qq.com/s?__biz=MjM5MDE0Mjc4MA==&mid=2651007830&idx=1&sn=7382412cd4a2243b34f69c3cf4aa5a20&scene=21) -------------------------------------------------------------------------------- /netty/images/Bootstrap.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/web1992/read/e9bb6047aa256512630be9a0d7ced96a7cdbfa72/netty/images/Bootstrap.png -------------------------------------------------------------------------------- /netty/images/ChannelHandlerContext.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/web1992/read/e9bb6047aa256512630be9a0d7ced96a7cdbfa72/netty/images/ChannelHandlerContext.png -------------------------------------------------------------------------------- /netty/images/ChannelHandlers.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/web1992/read/e9bb6047aa256512630be9a0d7ced96a7cdbfa72/netty/images/ChannelHandlers.png -------------------------------------------------------------------------------- /netty/images/DefaultChannelPromise.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/web1992/read/e9bb6047aa256512630be9a0d7ced96a7cdbfa72/netty/images/DefaultChannelPromise.png -------------------------------------------------------------------------------- /netty/images/EventExecutorGroup.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/web1992/read/e9bb6047aa256512630be9a0d7ced96a7cdbfa72/netty/images/EventExecutorGroup.png -------------------------------------------------------------------------------- /netty/images/EventLoop.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/web1992/read/e9bb6047aa256512630be9a0d7ced96a7cdbfa72/netty/images/EventLoop.png -------------------------------------------------------------------------------- /netty/images/FullHttpRequest.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/web1992/read/e9bb6047aa256512630be9a0d7ced96a7cdbfa72/netty/images/FullHttpRequest.png -------------------------------------------------------------------------------- /netty/images/FullHttpResponse.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/web1992/read/e9bb6047aa256512630be9a0d7ced96a7cdbfa72/netty/images/FullHttpResponse.png -------------------------------------------------------------------------------- /netty/images/Interface-EventLoop.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/web1992/read/e9bb6047aa256512630be9a0d7ced96a7cdbfa72/netty/images/Interface-EventLoop.png -------------------------------------------------------------------------------- /netty/images/LengthFieldBasedFrameDecoder.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/web1992/read/e9bb6047aa256512630be9a0d7ced96a7cdbfa72/netty/images/LengthFieldBasedFrameDecoder.png -------------------------------------------------------------------------------- /netty/images/MarshallingDecoder.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/web1992/read/e9bb6047aa256512630be9a0d7ced96a7cdbfa72/netty/images/MarshallingDecoder.png -------------------------------------------------------------------------------- /netty/images/MarshallingEncoder.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/web1992/read/e9bb6047aa256512630be9a0d7ced96a7cdbfa72/netty/images/MarshallingEncoder.png -------------------------------------------------------------------------------- /netty/images/NioEventLoop.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/web1992/read/e9bb6047aa256512630be9a0d7ced96a7cdbfa72/netty/images/NioEventLoop.png -------------------------------------------------------------------------------- /netty/images/NioEventLoopGroup.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/web1992/read/e9bb6047aa256512630be9a0d7ced96a7cdbfa72/netty/images/NioEventLoopGroup.png -------------------------------------------------------------------------------- /netty/images/NioServerSocketChannel.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/web1992/read/e9bb6047aa256512630be9a0d7ced96a7cdbfa72/netty/images/NioServerSocketChannel.png -------------------------------------------------------------------------------- /netty/images/NioSocketChannel.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/web1992/read/e9bb6047aa256512630be9a0d7ced96a7cdbfa72/netty/images/NioSocketChannel.png -------------------------------------------------------------------------------- /netty/images/ObjectDecoder.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/web1992/read/e9bb6047aa256512630be9a0d7ced96a7cdbfa72/netty/images/ObjectDecoder.png -------------------------------------------------------------------------------- /netty/images/ObjectEncoder.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/web1992/read/e9bb6047aa256512630be9a0d7ced96a7cdbfa72/netty/images/ObjectEncoder.png -------------------------------------------------------------------------------- /netty/images/PooledByteBufAllocator.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/web1992/read/e9bb6047aa256512630be9a0d7ced96a7cdbfa72/netty/images/PooledByteBufAllocator.png -------------------------------------------------------------------------------- /netty/images/ProtobufDecoder.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/web1992/read/e9bb6047aa256512630be9a0d7ced96a7cdbfa72/netty/images/ProtobufDecoder.png -------------------------------------------------------------------------------- /netty/images/ProtobufEncoder.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/web1992/read/e9bb6047aa256512630be9a0d7ced96a7cdbfa72/netty/images/ProtobufEncoder.png -------------------------------------------------------------------------------- /netty/images/ServerBootstrap.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/web1992/read/e9bb6047aa256512630be9a0d7ced96a7cdbfa72/netty/images/ServerBootstrap.png -------------------------------------------------------------------------------- /netty/images/SimpleChannelInboundHandler.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/web1992/read/e9bb6047aa256512630be9a0d7ced96a7cdbfa72/netty/images/SimpleChannelInboundHandler.png -------------------------------------------------------------------------------- /netty/images/UnpooledByteBufAllocator.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/web1992/read/e9bb6047aa256512630be9a0d7ced96a7cdbfa72/netty/images/UnpooledByteBufAllocator.png -------------------------------------------------------------------------------- /netty/images/channel-adapter.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/web1992/read/e9bb6047aa256512630be9a0d7ced96a7cdbfa72/netty/images/channel-adapter.png -------------------------------------------------------------------------------- /netty/images/channel-context.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/web1992/read/e9bb6047aa256512630be9a0d7ced96a7cdbfa72/netty/images/channel-context.png -------------------------------------------------------------------------------- /netty/images/channel-state.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/web1992/read/e9bb6047aa256512630be9a0d7ced96a7cdbfa72/netty/images/channel-state.png -------------------------------------------------------------------------------- /netty/images/components.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/web1992/read/e9bb6047aa256512630be9a0d7ced96a7cdbfa72/netty/images/components.png -------------------------------------------------------------------------------- /netty/images/eventLoop-and-hannel.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/web1992/read/e9bb6047aa256512630be9a0d7ced96a7cdbfa72/netty/images/eventLoop-and-hannel.png -------------------------------------------------------------------------------- /netty/images/java-nio-selector.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/web1992/read/e9bb6047aa256512630be9a0d7ced96a7cdbfa72/netty/images/java-nio-selector.png -------------------------------------------------------------------------------- /netty/images/netty-4.1-modules.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/web1992/read/e9bb6047aa256512630be9a0d7ced96a7cdbfa72/netty/images/netty-4.1-modules.png -------------------------------------------------------------------------------- /netty/images/netty-DefaultChannelHandlerContext.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/web1992/read/e9bb6047aa256512630be9a0d7ced96a7cdbfa72/netty/images/netty-DefaultChannelHandlerContext.png -------------------------------------------------------------------------------- /netty/images/netty-in-action-channel-pipe-line.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/web1992/read/e9bb6047aa256512630be9a0d7ced96a7cdbfa72/netty/images/netty-in-action-channel-pipe-line.png -------------------------------------------------------------------------------- /netty/images/netty-in-action-components-and-design.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/web1992/read/e9bb6047aa256512630be9a0d7ced96a7cdbfa72/netty/images/netty-in-action-components-and-design.png -------------------------------------------------------------------------------- /netty/images/netty-in-action.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/web1992/read/e9bb6047aa256512630be9a0d7ced96a7cdbfa72/netty/images/netty-in-action.png -------------------------------------------------------------------------------- /netty/images/netty-pipeline-channel.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/web1992/read/e9bb6047aa256512630be9a0d7ced96a7cdbfa72/netty/images/netty-pipeline-channel.png -------------------------------------------------------------------------------- /netty/images/unix-network-1-4-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/web1992/read/e9bb6047aa256512630be9a0d7ced96a7cdbfa72/netty/images/unix-network-1-4-1.png -------------------------------------------------------------------------------- /netty/netty-base.md: -------------------------------------------------------------------------------- 1 | # Netty 基础 2 | -------------------------------------------------------------------------------- /netty/netty-byte-buf-allocator.md: -------------------------------------------------------------------------------- 1 | # ByteBufAllocator 2 | 3 | ## PooledByteBufAllocator 4 | 5 | ## UnpooledByteBufAllocator 6 | -------------------------------------------------------------------------------- /netty/netty-channel-outbound-buffer.md: -------------------------------------------------------------------------------- 1 | # ChannelOutboundBuffer 2 | 3 | Netty 的缓冲区 4 | -------------------------------------------------------------------------------- /netty/netty-fast-thread-local.md: -------------------------------------------------------------------------------- 1 | # FastThreadLocal 2 | 3 | `Netty` 中使用 `FastThreadLocal` 对 `ThreadLocal` 进行了优化 4 | 5 | - 1. 替换(优化) hash table 6 | - 2. 解决内存泄漏的方法 7 | -------------------------------------------------------------------------------- /netty/netty-guid.md: -------------------------------------------------------------------------------- 1 | # user-guide 2 | 3 | - https://netty.io/wiki/user-guide-for-4.x.html 4 | - https://netty.io/wiki/related-articles.html -------------------------------------------------------------------------------- /netty/netty-mpsc-queue.md: -------------------------------------------------------------------------------- 1 | # MpscQueue 2 | 3 | 多生产者,单消费者 Queue mpsc (multi-producer single consumer queue) 4 | 5 | ## 在 HashedWheelTimer 中的应用 6 | 7 | ```java 8 | // HashedWheelTimer 9 | private final Queue timeouts = PlatformDependent.newMpscQueue(); 10 | ``` -------------------------------------------------------------------------------- /netty/netty-pool-chunk.md: -------------------------------------------------------------------------------- 1 | # PoolChunk 2 | 3 | 一个 `PoolChunk` 默认大小是 16M (16777216 字节) 4 | -------------------------------------------------------------------------------- /netty/netty-pool-thread-cache.md: -------------------------------------------------------------------------------- 1 | # PoolThreadCache 2 | 3 | Netty 的内存池管理 4 | -------------------------------------------------------------------------------- /netty/netty-read-data.md: -------------------------------------------------------------------------------- 1 | # Netty 读数据 2 | 3 | - [Netty 写数据](source-code-write-data.md) 4 | -------------------------------------------------------------------------------- /netty/netty-recycler.md: -------------------------------------------------------------------------------- 1 | # Recycler 2 | -------------------------------------------------------------------------------- /netty/netty-size-classes.md: -------------------------------------------------------------------------------- 1 | # SizeClasses 2 | 3 | 4 | ## Links 5 | 6 | - [SizeClasses](https://blog.csdn.net/ClarenceZero/article/details/113607481) 7 | - [SizeClasses](https://blog.csdn.net/ClarenceZero/article/details/113606573) 8 | - [PoolArena、PoolChunkList、PoolChunk、PoolSubpage 全局视角](https://gorden5566.com/post/1079.html) 9 | - [sizeClasses](https://xie.infoq.cn/article/237a97c55aec6731e295be467) -------------------------------------------------------------------------------- /netty/netty-write-data.md: -------------------------------------------------------------------------------- 1 | # Netty 写数据 2 | 3 | - [Netty 读数据](source-code-read-data.md) 4 | 5 | 1. ObjectToByte 6 | 2. 分配内存 7 | 3. 写到缓冲区 8 | -------------------------------------------------------------------------------- /operating-system/0xFF.md: -------------------------------------------------------------------------------- 1 | # 0XF 2 | 3 | byte[] -> int 4 | 5 | byte类型的数字要&0xff再赋值给int类型,其本质原因就是想保持二进制补码的一致性。 6 | 7 | ## Links 8 | 9 | - [byte类型的数字要&0xff再赋值给int类型,其本质原因就是想保持二进制补码的一致性](https://www.cnblogs.com/think-in-java/p/5527389.html) 10 | - [https://www.jianshu.com/p/4cb0e4c361f7](https://www.jianshu.com/p/4cb0e4c361f7) 11 | 12 | -------------------------------------------------------------------------------- /operating-system/Unix环境高级编程/readmed.md: -------------------------------------------------------------------------------- 1 | # Unix环境高级编程 2 | 3 | - [第12章 高级I/O](unix-chapter-12.md) -------------------------------------------------------------------------------- /operating-system/assembly/__asm__.md: -------------------------------------------------------------------------------- 1 | # asm 语法 2 | 3 | ## Links 4 | 5 | - [\_\_asm\_\_ 语法](https://www.cnblogs.com/ph829/p/4429093.html) -------------------------------------------------------------------------------- /operating-system/assembly/汇编语言-基于X86处理器/readme.md: -------------------------------------------------------------------------------- 1 | # 汇编语言-基于X86处理器 2 | 3 | ## 01 基本概念 4 | 5 | ## 02 X86 处理器架构 6 | 7 | ## 03 汇编语言基础 8 | 9 | - 基本语言元素 10 | 11 | ## 资料 12 | -------------------------------------------------------------------------------- /operating-system/assembly/汇编语言-第三版/demo/1.asm: -------------------------------------------------------------------------------- 1 | assume cs:codesg 2 | 3 | codesg segment 4 | 5 | mov ax,0123H 6 | mov bx,0456H 7 | add ax,bx 8 | add ax,ax 9 | mov ax,4c00H 10 | int 21H 11 | 12 | codesg ends 13 | 14 | end 15 | -------------------------------------------------------------------------------- /operating-system/assembly/汇编语言-第三版/demo/123X236.asm: -------------------------------------------------------------------------------- 1 | assume cs:cal 2 | 3 | cal segment 4 | 5 | mov ax,0 6 | mov cx,236 7 | s: 8 | add ax,123 9 | loop s 10 | 11 | mov ax,4c00H 12 | int 21H 13 | 14 | cal ends 15 | 16 | end -------------------------------------------------------------------------------- /operating-system/assembly/汇编语言-第三版/demo/abc.asm: -------------------------------------------------------------------------------- 1 | assume cs:abc 2 | 3 | abc segment 4 | 5 | mov ax,2 6 | add ax,ax 7 | add ax,ax 8 | mov ax,4c00H 9 | int 21H 10 | 11 | abc ends 12 | 13 | end -------------------------------------------------------------------------------- /operating-system/assembly/汇编语言-第三版/demo/jmp0.asm: -------------------------------------------------------------------------------- 1 | assume cs:jmp0 2 | 3 | jmp0 segment 4 | 5 | s: mov ax,0 6 | jmp short s0 7 | add ax,1 8 | s0:inc ax 9 | 10 | jmp0 ends 11 | 12 | end s -------------------------------------------------------------------------------- /operating-system/assembly/汇编语言-第三版/demo/offest.asm: -------------------------------------------------------------------------------- 1 | assume cs:offest1 2 | 3 | offest1 segment 4 | 5 | start:mov ax,offset start 6 | inc ax 7 | s:mov ax,offset s 8 | 9 | offest1 ends 10 | 11 | end start -------------------------------------------------------------------------------- /operating-system/assembly/汇编语言-第三版/demo/p3.asm: -------------------------------------------------------------------------------- 1 | assume cs:p3 2 | 3 | p3 segment 4 | 5 | mov ax,0ffffH 6 | mov ds,ax 7 | mov bx,6 8 | mov al,[bx] 9 | mov ah,0 10 | mov dx,0 11 | mov cx,3 12 | 13 | s: 14 | add dx,ax 15 | loop s 16 | 17 | mov ax,4c00H 18 | int 21H 19 | 20 | p3 ends 21 | 22 | end -------------------------------------------------------------------------------- /operating-system/assembly/汇编语言-第三版/demo/p4.asm: -------------------------------------------------------------------------------- 1 | assume cs:p4 2 | 3 | p4 segment 4 | 5 | mov ax,0ffffH 6 | mov ds,ax 7 | mov bx,6 8 | mov al,[bx] 9 | mov ah,0 10 | mov dx,0 11 | mov cx,123 12 | 13 | s: 14 | add dx,ax 15 | loop s 16 | 17 | mov ax,4c00H 18 | int 21H 19 | 20 | p4 ends 21 | 22 | end -------------------------------------------------------------------------------- /operating-system/assembly/汇编语言-第三版/demo/ss0.asm: -------------------------------------------------------------------------------- 1 | assume cs:ss0 2 | 3 | ss0 segment 4 | 5 | s:mov ax,bx 6 | mov si,offset s 7 | mov di,offset s0 8 | mov ax,cs:[si] 9 | mov cs:[di],ax 10 | s0:nop 11 | nop 12 | 13 | ss0 ends 14 | 15 | end s -------------------------------------------------------------------------------- /operating-system/assembly/汇编语言-第三版/demo/t1.asm: -------------------------------------------------------------------------------- 1 | assume cs:t1 2 | 3 | t1 segment 4 | 5 | mov ax,2000H 6 | mov ss,ax 7 | mov sp,0 8 | add sp,10 9 | pop ax 10 | pop bx 11 | push ax 12 | push bx 13 | pop ax 14 | pop bx 15 | 16 | mov ax,4c00H 17 | int 21H 18 | 19 | t1 ends 20 | 21 | end -------------------------------------------------------------------------------- /operating-system/binary_bit_byte.md: -------------------------------------------------------------------------------- 1 | # binary 2 | 3 | ## 二进制 4 | 5 | 十进制与二进制互换: 6 | 29=16+8+4+1=b11101 7 | 二进制换十六进制,四位一组: 8 | 111011 = 11'1011 = 0x3b 9 | 10 | ## 补码 11 | 12 | 补码的好处是: 13 | 14 | 1. +0,-0在系统中的表示法是一样的,而原码和反码都做不到。 15 | 2. 负数的运算可以复用正数的加法器,不需要额外的电路。 16 | -------------------------------------------------------------------------------- /operating-system/bit.md: -------------------------------------------------------------------------------- 1 | # Bit 2 | 3 | - 1 B(字节)=8b(位) 4 | - 1 KB = 1024 B 5 | - 1 MB = 1024 KB 6 | - 1 GB = 1024 MB 7 | - 1 TB = 1024GB 8 | 9 | ## Links 10 | 11 | - [位图-BitMap](https://www.jianshu.com/p/c4c5a00b40db) 12 | - [位运算有什么奇技淫巧?](https://www.zhihu.com/question/38206659) 13 | - [XOR 运算](https://www.ruanyifeng.com/blog/2021/01/_xor.html) -------------------------------------------------------------------------------- /operating-system/cpu.md: -------------------------------------------------------------------------------- 1 | # CPU 2 | 3 | - CPU 的构造 4 | - CPU 的时钟周期 5 | -------------------------------------------------------------------------------- /operating-system/demos/malloc_demo.c: -------------------------------------------------------------------------------- 1 | 2 | #include 3 | #include 4 | 5 | int main() { 6 | void *p = malloc(16); 7 | printf("%p\n", p); 8 | free(p); 9 | return 0; 10 | } -------------------------------------------------------------------------------- /operating-system/fs.md: -------------------------------------------------------------------------------- 1 | # File System 2 | 3 | 4 | ## Links 5 | 6 | - [文件读写](https://mp.weixin.qq.com/s/P0IP6c_qFhuebwdwD8HM7w) -------------------------------------------------------------------------------- /operating-system/readme.md: -------------------------------------------------------------------------------- 1 | # 操作系统 2 | 3 | ## 虚拟机 4 | 5 | - [垃圾回收算法手册](./垃圾回收算法手册/readme.md) 6 | 7 | 8 | ## Links 9 | 10 | - [字节对齐](https://www.cnblogs.com/clover-toeic/p/3853132.html) -------------------------------------------------------------------------------- /operating-system/register.md: -------------------------------------------------------------------------------- 1 | # register 2 | 3 | 寄存器 4 | 5 | - (r/e)ip寄存器中的值,指向当前指令的下一条指令 6 | 7 | ## Links 8 | 9 | - [x86寄存器 简介](https://www.cnblogs.com/FrankChen831X/p/10482718.html) -------------------------------------------------------------------------------- /operating-system/stack.md: -------------------------------------------------------------------------------- 1 | # Stack 2 | 3 | 关键字: 4 | 5 | - 栈的实现 -------------------------------------------------------------------------------- /operating-system/volatile.md: -------------------------------------------------------------------------------- 1 | # volatile 2 | 3 | volatile (底层是各种内存屏障)内存屏障有两个作用: 4 | 5 | 阻止屏障两侧的指令重排序; 6 | 强制把写缓冲区/高速缓存中的脏数据等写回主内存,让缓存中相应的数据失效。 7 | 8 | ## Links 9 | 10 | - [内存屏障](https://www.jianshu.com/p/2ab5e3d7e510) -------------------------------------------------------------------------------- /operating-system/垃圾回收算法手册/chapter-04.md: -------------------------------------------------------------------------------- 1 | # 第四章 复制式回收 2 | 3 | - 赋值器 mutator 4 | -------------------------------------------------------------------------------- /operating-system/垃圾回收算法手册/chapter-05.md: -------------------------------------------------------------------------------- 1 | # 第五章 引用计数 2 | -------------------------------------------------------------------------------- /operating-system/垃圾回收算法手册/chapter-15.md: -------------------------------------------------------------------------------- 1 | # 并发垃圾回收 2 | 3 | - 增量回收 (incremental collection) 4 | - 跟踪对象图中可达对象的变化 -------------------------------------------------------------------------------- /operating-system/垃圾回收算法手册/readme.md: -------------------------------------------------------------------------------- 1 | # 垃圾回收算法手册 2 | 3 | - [第一章 引言](chapter-01.md) 4 | - [第二章 标记-清扫回收](chapter-02.md) 5 | - [第三章 标记-整理回收](chapter-03.md) 6 | - [第四章 复制式回收](chapter-04.md) 7 | - [第五章 引用计数](chapter-05.md) 8 | 9 | ## Links 10 | 11 | - [http://www.gchandbook.org/](http://www.gchandbook.org/) 12 | -------------------------------------------------------------------------------- /operating-system/深入理解Linux内核/chapter-09.md: -------------------------------------------------------------------------------- 1 | # 第九章 进程地址空间 2 | 3 | - 写时复制 -------------------------------------------------------------------------------- /operating-system/深入理解Linux内核/readme.md: -------------------------------------------------------------------------------- 1 | # 深入理解Linux内核 2 | 3 | 阅读笔记 4 | 5 | - [第二章 内存寻址](chapter-02.md) 6 | - [第八章 内存管理](chapter-08.md) 7 | 8 | ## Links 9 | 10 | - [http://www.kerneltravel.net/](http://www.kerneltravel.net/) -------------------------------------------------------------------------------- /operating-system/深入理解计算机系统-第三版/chapter-03.md: -------------------------------------------------------------------------------- 1 | # 第三章 程序的机器级表示 2 | 3 | -------------------------------------------------------------------------------- /operating-system/深入理解计算机系统-第三版/readme.md: -------------------------------------------------------------------------------- 1 | # 深入理解计算机系统 第三版 2 | 3 | - [第一章 计算机系统漫游](chapter-01.md) 4 | - [第二章 信息的表示和处理](chapter-02.md) 5 | - [第三章 程序的机器级表示](chapter-03.md) 6 | 7 | ## 其他 8 | 9 | 如`P72`表示页码 -------------------------------------------------------------------------------- /other/css/readme.md: -------------------------------------------------------------------------------- 1 | # css 2 | -------------------------------------------------------------------------------- /other/jms/jms-blog.md: -------------------------------------------------------------------------------- 1 | > 博文 2 | 3 | - [jms 教程](http://blog.csdn.net/yuguiyang1990/article/details/12084929) -------------------------------------------------------------------------------- /other/js/arguments.md: -------------------------------------------------------------------------------- 1 | # arguments 2 | 3 | - [arguments from javascript.info](https://javascript.info/rest-parameters-spread-operator#the-arguments-variable) -------------------------------------------------------------------------------- /other/js/arrow-function.md: -------------------------------------------------------------------------------- 1 | # Arrow function 2 | 3 | - [arrow-functions](https://javascript.info/arrow-functions) 4 | -------------------------------------------------------------------------------- /other/js/ast.md: -------------------------------------------------------------------------------- 1 | # AST 2 | 3 | - [Abstract_syntax_tree](https://en.wikipedia.org/wiki/Abstract_syntax_tree) -------------------------------------------------------------------------------- /other/js/async.md: -------------------------------------------------------------------------------- 1 | # async 2 | 3 | - [async](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/async_function) -------------------------------------------------------------------------------- /other/js/await.md: -------------------------------------------------------------------------------- 1 | # await 2 | 3 | - [await (mozilla)](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/await) 4 | - [https://javascript.info/async-await](https://javascript.info/async-await) 5 | -------------------------------------------------------------------------------- /other/js/babel/readme.md: -------------------------------------------------------------------------------- 1 | # Babel 2 | 3 | > Babel is a JavaScript compiler. 4 | 5 | - [https://babeljs.io/](https://babeljs.io/) 6 | -------------------------------------------------------------------------------- /other/js/constructor.md: -------------------------------------------------------------------------------- 1 | # constructor -------------------------------------------------------------------------------- /other/js/event-loop.md: -------------------------------------------------------------------------------- 1 | # EventLoop 2 | 3 | - [EventLoop](https://developer.mozilla.org/en-US/docs/Web/JavaScript/EventLoop) -------------------------------------------------------------------------------- /other/js/export.md: -------------------------------------------------------------------------------- 1 | # export 2 | 3 | - [export](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/export) 4 | -------------------------------------------------------------------------------- /other/js/extends.md: -------------------------------------------------------------------------------- 1 | # extends -------------------------------------------------------------------------------- /other/js/flow/flow.md: -------------------------------------------------------------------------------- 1 | # flow 2 | 3 | - [flow](https://flow.org/en/) 4 | - [https://flow.org/en/docs/getting-started/](https://flow.org/en/docs/getting-started/) 5 | - [https://flow.org/en/docs/types/](https://flow.org/en/docs/types/) 6 | - [https://flow.org/en/docs/lang/](https://flow.org/en/docs/lang/) 7 | -------------------------------------------------------------------------------- /other/js/flow/flowconfig.md: -------------------------------------------------------------------------------- 1 | # flowconfig 2 | 3 | - [https://flow.org/en/docs/config/](https://flow.org/en/docs/config/) 4 | -------------------------------------------------------------------------------- /other/js/flow/types.md: -------------------------------------------------------------------------------- 1 | # types 2 | 3 | - [https://flow.org/en/docs/types/](https://flow.org/en/docs/types/) 4 | -------------------------------------------------------------------------------- /other/js/generator.md: -------------------------------------------------------------------------------- 1 | # Generator 2 | 3 | - [https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Generator](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Generator) -------------------------------------------------------------------------------- /other/js/import.md: -------------------------------------------------------------------------------- 1 | # import 2 | 3 | - [import](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/import) 4 | -------------------------------------------------------------------------------- /other/js/map.md: -------------------------------------------------------------------------------- 1 | # Map 2 | 3 | - [Map](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Map) -------------------------------------------------------------------------------- /other/js/method.md: -------------------------------------------------------------------------------- 1 | # method 2 | 3 | - [Method definitions](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Functions/Method_definitions) 4 | -------------------------------------------------------------------------------- /other/js/nodejs/export.md: -------------------------------------------------------------------------------- 1 | # export 2 | 3 | [export statement](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/export) 4 | -------------------------------------------------------------------------------- /other/js/nodejs/import.md: -------------------------------------------------------------------------------- 1 | # import 2 | 3 | [import statement](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/import) 4 | -------------------------------------------------------------------------------- /other/js/nodejs/readme.md: -------------------------------------------------------------------------------- 1 | # nodejs 2 | 3 | ## tools 4 | 5 | - [`joy` Delighfully simple schema validation.](https://npm.taobao.org/package/joy) 6 | - [`nodemon` Simple monitor script for use during development of a node.js app.](https://npm.taobao.org/package/nodemon) 7 | - [live Server](https://marketplace.visualstudio.com/items?itemName=ritwickdey.LiveServer) 8 | -------------------------------------------------------------------------------- /other/js/reactjs/react-lifecycle.md: -------------------------------------------------------------------------------- 1 | # lifecycle 2 | 3 | - [react lifecycle](http://projects.wojtekmaj.pl/react-lifecycle-methods-diagram/) -------------------------------------------------------------------------------- /other/js/reactjs/react-redux.md: -------------------------------------------------------------------------------- 1 | # redux 2 | 3 | - state 4 | - actions 5 | - store 6 | - reducer 7 | - container 8 | - connect 9 | - dispatch 10 | -------------------------------------------------------------------------------- /other/js/reactjs/readme.md: -------------------------------------------------------------------------------- 1 | # react 2 | 3 | - [reactjs get start](https://reactjs.org/docs/getting-started.html) 4 | - [typescript + react](https://github.com/Microsoft/TypeScript-React-Starter#typescript-react-starter) 5 | - [redux](https://redux.js.org/) 6 | -------------------------------------------------------------------------------- /other/js/static.md: -------------------------------------------------------------------------------- 1 | # static 2 | 3 | - [static](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Classes/static) -------------------------------------------------------------------------------- /other/js/strict.md: -------------------------------------------------------------------------------- 1 | # strict 2 | 3 | ```js 4 | "use strict"; 5 | ``` 6 | 7 | - [Strict_mode](https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Strict_mode) 8 | -------------------------------------------------------------------------------- /other/js/super.md: -------------------------------------------------------------------------------- 1 | # super -------------------------------------------------------------------------------- /other/js/this.md: -------------------------------------------------------------------------------- 1 | # this 2 | 3 | - [this](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/this) 4 | - [https://yehudakatz.com/2011/08/10/understanding-javascript-function-invocation-and-this/](https://yehudakatz.com/2011/08/10/understanding-javascript-function-invocation-and-this/) 5 | -------------------------------------------------------------------------------- /other/js/vuejs/readme.md: -------------------------------------------------------------------------------- 1 | # vuejs 2 | 3 | - [https://github.com/vuejs/vue-router.git](https://github.com/vuejs/vue-router.git) 4 | -------------------------------------------------------------------------------- /other/nginx.md: -------------------------------------------------------------------------------- 1 | # Nginx 2 | 3 | - [https://www.digitalocean.com/community/tools/nginx?global.app.lang=zhCN](https://www.digitalocean.com/community/tools/nginx?global.app.lang=zhCN) -------------------------------------------------------------------------------- /other/readme.md: -------------------------------------------------------------------------------- 1 | # ➎➍➏➍➎➍ 2 | 3 | - [git fork](https://github.com/staticblog/wiki/wiki/%E4%BF%9D%E6%8C%81fork%E4%B9%8B%E5%90%8E%E7%9A%84%E9%A1%B9%E7%9B%AE%E5%92%8C%E4%B8%8A%E6%B8%B8%E5%90%8C%E6%AD%A5) -------------------------------------------------------------------------------- /other/todo/todo.md: -------------------------------------------------------------------------------- 1 | # todo 2 | 3 | - TCP 4 | - Http 5 | - redis 6 | - zk 7 | - dubbo 8 | - Spring MVC 9 | - Spring AOP 10 | - GO 11 | - Mysql 12 | - Mybatis 13 | -------------------------------------------------------------------------------- /other/typescript/class.md: -------------------------------------------------------------------------------- 1 | # Class 2 | 3 | - [Class](https://www.tslang.cn/docs/handbook/classes.html) 4 | -------------------------------------------------------------------------------- /other/typescript/readme.md: -------------------------------------------------------------------------------- 1 | # typescript 2 | 3 | - [https://www.tslang.cn/index.html](https://www.tslang.cn/index.html) 4 | - [https://www.typescriptlang.org](https://www.typescriptlang.org) 5 | - [https://www.tslang.cn/docs/home.html](https://www.tslang.cn/docs/home.html) 6 | -------------------------------------------------------------------------------- /other/utils/readme.md: -------------------------------------------------------------------------------- 1 | # utils 2 | 3 | ```shell 4 | # 生成文件的目录index 5 | cat spring-reference-022.md |grep ^# | awk -F"## " '{ print $2}' |grep -v '^$' |sed 's/ [ ]*/-/g' |sed 's/[@]//g' |sed 's/(//g'|sed 's/)//g' | tr '[a-zA-Z]' '[a-za-z]'| awk '$0="- "NR" ["$0"](#"$0")"' 6 | ``` 7 | -------------------------------------------------------------------------------- /plan/2023-08.md: -------------------------------------------------------------------------------- 1 | # 计划 2 | 3 | - 算法,平均一天一个 4 | - 软件,kafka 5 | - 日志存储 6 | - 深入服务端 7 | - 硬件,基本放大电路 -------------------------------------------------------------------------------- /read.md: -------------------------------------------------------------------------------- 1 | # Read 2 | 3 | ## JAVA JVM 4 | 5 | - Java JUC 6 | - JAVA 集合 7 | - JAVA 线程/线程池 8 | - JVM 内存管理 9 | - JVM GC 10 | 11 | ## 数据 12 | 13 | - Redis 14 | - MySQL 15 | - Elasticsearch 16 | 17 | 18 | ## 框架 19 | 20 | - Dubbo 21 | - Netty 22 | - Spring 23 | - Spring Cloud 24 | - Spring Boot 25 | 26 | ## 算法 27 | 28 | 29 | ## 设计方案 30 | 31 | 32 | -------------------------------------------------------------------------------- /redis/Redis核心/images/redis-collection.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/web1992/read/e9bb6047aa256512630be9a0d7ced96a7cdbfa72/redis/Redis核心/images/redis-collection.png -------------------------------------------------------------------------------- /redis/Redis核心/images/redis-data-type.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/web1992/read/e9bb6047aa256512630be9a0d7ced96a7cdbfa72/redis/Redis核心/images/redis-data-type.png -------------------------------------------------------------------------------- /redis/Redis核心/redis-cmd.md: -------------------------------------------------------------------------------- 1 | # Redis info 2 | 3 | Redis info 命令详解 4 | 5 | - [https://redis.io/commands/info/](https://redis.io/commands/info/) 6 | - [https://redis.com.cn/commands.html](https://redis.com.cn/commands.html) 7 | - [Redis SCAN KEYS 的注意点](https://juejin.cn/post/7080888633477545997) -------------------------------------------------------------------------------- /redis/Redis核心/redis-fork.md: -------------------------------------------------------------------------------- 1 | # Redis fork 2 | 3 | fork 技术在 Redis 中的应用 4 | 5 | - Copy-On-Write, COW 6 | - Linux 的内存管理(页表管理和复制) 7 | -------------------------------------------------------------------------------- /redis/jedis.md: -------------------------------------------------------------------------------- 1 | # jredis 2 | 3 | - [https://github.com/xetorthio/jedis](https://github.com/xetorthio/jedis) 4 | 5 | ## maven 6 | 7 | ```xml 8 | 9 | redis.clients 10 | jedis 11 | 2.5.1 12 | 13 | ``` 14 | -------------------------------------------------------------------------------- /redis/readme.md: -------------------------------------------------------------------------------- 1 | # Redis 2 | 3 | - [Redis的设计与实现](./Redis的设计与实现/readme.md) 4 | 5 | ## redis 相关的文章 6 | 7 | - [redis.md](redis-blog.md) 8 | 9 | ## Links 10 | 11 | - [Redis 内存使用计算](http://www.redis.cn/redis_memory/) 12 | - [redis aof](https://www.cnblogs.com/mmgithub123/p/15853680.html) -------------------------------------------------------------------------------- /redis/redis-blog.md: -------------------------------------------------------------------------------- 1 | # redis 2 | 3 | ## redsi 分布式锁的实现 4 | 5 | - [redis 锁](https://www.cnblogs.com/demingblog/p/9542124.html) 6 | - [https://redis.io/topics/distlock](https://redis.io/topics/distlock) 7 | - [https://redis.io/commands/set](https://redis.io/commands/set) 8 | - [redis skipList](https://www.jianshu.com/p/a85e392118a9) 9 | - [跳表 skipList](https://www.cnblogs.com/myseries/p/11442335.html) -------------------------------------------------------------------------------- /redis/redis-cmd.md: -------------------------------------------------------------------------------- 1 | # Redis 命令 2 | 3 | - INFO replication 4 | - INFO 5 | - slowlog get -------------------------------------------------------------------------------- /redis/redis-config.md: -------------------------------------------------------------------------------- 1 | # Redis 配置 2 | 3 | - protected-mode 和 cluster-node-timeout 4 | -------------------------------------------------------------------------------- /redis/redis-io.md: -------------------------------------------------------------------------------- 1 | # Redis 线程模型 2 | 3 | ## 单线程 4 | 5 | - I/O 操作单线程,写请求单线程。但是网络使用多路复用I/O ,并且都是内存的写更新,单线程可以满足上万的TPS -------------------------------------------------------------------------------- /rocketmq/images/idea-quick-go-to-line.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/web1992/read/e9bb6047aa256512630be9a0d7ced96a7cdbfa72/rocketmq/images/idea-quick-go-to-line.png -------------------------------------------------------------------------------- /rocketmq/images/mapped-file-queue-new.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/web1992/read/e9bb6047aa256512630be9a0d7ced96a7cdbfa72/rocketmq/images/mapped-file-queue-new.png -------------------------------------------------------------------------------- /rocketmq/images/rmq-basic-arc.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/web1992/read/e9bb6047aa256512630be9a0d7ced96a7cdbfa72/rocketmq/images/rmq-basic-arc.png -------------------------------------------------------------------------------- /rocketmq/images/rocket-mq-customer-head-trac.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/web1992/read/e9bb6047aa256512630be9a0d7ced96a7cdbfa72/rocketmq/images/rocket-mq-customer-head-trac.png -------------------------------------------------------------------------------- /rocketmq/images/rocket-mq-customer-head.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/web1992/read/e9bb6047aa256512630be9a0d7ced96a7cdbfa72/rocketmq/images/rocket-mq-customer-head.png -------------------------------------------------------------------------------- /rocketmq/images/rocket-mq-tx.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/web1992/read/e9bb6047aa256512630be9a0d7ced96a7cdbfa72/rocketmq/images/rocket-mq-tx.png -------------------------------------------------------------------------------- /rocketmq/images/rocket-netty-async.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/web1992/read/e9bb6047aa256512630be9a0d7ced96a7cdbfa72/rocketmq/images/rocket-netty-async.png -------------------------------------------------------------------------------- /rocketmq/images/rocket-store-msg-seralize.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/web1992/read/e9bb6047aa256512630be9a0d7ced96a7cdbfa72/rocketmq/images/rocket-store-msg-seralize.png -------------------------------------------------------------------------------- /rocketmq/images/rocket-store-msg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/web1992/read/e9bb6047aa256512630be9a0d7ced96a7cdbfa72/rocketmq/images/rocket-store-msg.png -------------------------------------------------------------------------------- /rocketmq/images/rocket-store.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/web1992/read/e9bb6047aa256512630be9a0d7ced96a7cdbfa72/rocketmq/images/rocket-store.png -------------------------------------------------------------------------------- /rocketmq/images/rocketmq-consumer-AllocateMessageQueueAveragely.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/web1992/read/e9bb6047aa256512630be9a0d7ced96a7cdbfa72/rocketmq/images/rocketmq-consumer-AllocateMessageQueueAveragely.png -------------------------------------------------------------------------------- /rocketmq/images/rocketmq-consumer-consumer-simple.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/web1992/read/e9bb6047aa256512630be9a0d7ced96a7cdbfa72/rocketmq/images/rocketmq-consumer-consumer-simple.png -------------------------------------------------------------------------------- /rocketmq/images/rocketmq-consumer-create-consumer.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/web1992/read/e9bb6047aa256512630be9a0d7ced96a7cdbfa72/rocketmq/images/rocketmq-consumer-create-consumer.png -------------------------------------------------------------------------------- /rocketmq/images/rocketmq-consumer-create-topic.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/web1992/read/e9bb6047aa256512630be9a0d7ced96a7cdbfa72/rocketmq/images/rocketmq-consumer-create-topic.png -------------------------------------------------------------------------------- /rocketmq/images/rocketmq-consumer-nameserver.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/web1992/read/e9bb6047aa256512630be9a0d7ced96a7cdbfa72/rocketmq/images/rocketmq-consumer-nameserver.png -------------------------------------------------------------------------------- /rocketmq/images/rocketmq-consumer-route-info.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/web1992/read/e9bb6047aa256512630be9a0d7ced96a7cdbfa72/rocketmq/images/rocketmq-consumer-route-info.png -------------------------------------------------------------------------------- /rocketmq/images/rocketmq-consumer-send-msg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/web1992/read/e9bb6047aa256512630be9a0d7ced96a7cdbfa72/rocketmq/images/rocketmq-consumer-send-msg.png -------------------------------------------------------------------------------- /rocketmq/images/rocketmq-consumer-start.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/web1992/read/e9bb6047aa256512630be9a0d7ced96a7cdbfa72/rocketmq/images/rocketmq-consumer-start.png -------------------------------------------------------------------------------- /rocketmq/images/rocketmq-consumer.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/web1992/read/e9bb6047aa256512630be9a0d7ced96a7cdbfa72/rocketmq/images/rocketmq-consumer.png -------------------------------------------------------------------------------- /rocketmq/images/rocketmq-delete-tags.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/web1992/read/e9bb6047aa256512630be9a0d7ced96a7cdbfa72/rocketmq/images/rocketmq-delete-tags.png -------------------------------------------------------------------------------- /rocketmq/images/rocketmq-messgae-flow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/web1992/read/e9bb6047aa256512630be9a0d7ced96a7cdbfa72/rocketmq/images/rocketmq-messgae-flow.png -------------------------------------------------------------------------------- /rocketmq/images/rocketmq-mqadmin.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/web1992/read/e9bb6047aa256512630be9a0d7ced96a7cdbfa72/rocketmq/images/rocketmq-mqadmin.png -------------------------------------------------------------------------------- /rocketmq/images/rocketmq-msg-serialize.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/web1992/read/e9bb6047aa256512630be9a0d7ced96a7cdbfa72/rocketmq/images/rocketmq-msg-serialize.png -------------------------------------------------------------------------------- /rocketmq/images/rocketmq-nameserver-info.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/web1992/read/e9bb6047aa256512630be9a0d7ced96a7cdbfa72/rocketmq/images/rocketmq-nameserver-info.png -------------------------------------------------------------------------------- /rocketmq/images/rocketmq-processer.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/web1992/read/e9bb6047aa256512630be9a0d7ced96a7cdbfa72/rocketmq/images/rocketmq-processer.png -------------------------------------------------------------------------------- /rocketmq/images/rocketmq-producer.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/web1992/read/e9bb6047aa256512630be9a0d7ced96a7cdbfa72/rocketmq/images/rocketmq-producer.png -------------------------------------------------------------------------------- /rocketmq/images/topic-config.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/web1992/read/e9bb6047aa256512630be9a0d7ced96a7cdbfa72/rocketmq/images/topic-config.png -------------------------------------------------------------------------------- /rocketmq/images/tpoic-route-data.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/web1992/read/e9bb6047aa256512630be9a0d7ced96a7cdbfa72/rocketmq/images/tpoic-route-data.png -------------------------------------------------------------------------------- /rocketmq/readme-todo.md: -------------------------------------------------------------------------------- 1 | # TODO 2 | 3 | - RocketMQ 延迟消息 4 | -------------------------------------------------------------------------------- /rocketmq/rocketmq-HA.md: -------------------------------------------------------------------------------- 1 | # High Availability 2 | 3 | RocketMQ 的高可用的实现。 4 | 5 | RocketMQ 构架图: 6 | 7 | ![rmq-basic-arc.png](./images/rmq-basic-arc.png) 8 | 9 | 从构架图中可知道,RocketMQ 支持多个 NameServer,多个 Master Broker 和 多个 Slave Broker 的。 10 | 11 | ## Links 12 | 13 | - [主从同步注意点](https://cloud.tencent.com/developer/article/1458089) 14 | - [RocketMQ HA机制](https://developer.aliyun.com/article/839243) -------------------------------------------------------------------------------- /rocketmq/rocketmq-broker-cluster.md: -------------------------------------------------------------------------------- 1 | # Broker Cluster 2 | -------------------------------------------------------------------------------- /rocketmq/rocketmq-delay-message.md: -------------------------------------------------------------------------------- 1 | # RocketMQ 延迟消息 2 | 3 | 4 | 5 | ## Links 6 | 7 | - [延迟消息队列](https://cloud.tencent.com/developer/article/1581368) -------------------------------------------------------------------------------- /rocketmq/rocketmq-filter.md: -------------------------------------------------------------------------------- 1 | # filter 2 | -------------------------------------------------------------------------------- /rocketmq/rocketmq-index.md: -------------------------------------------------------------------------------- 1 | # index 2 | 3 | RocketMQ 的索引实现。 4 | 5 | 核心类:`org.apache.rocketmq.store.index.IndexService`,`org.apache.rocketmq.store.index.IndexFile` 6 | 7 | ## IndexFile 文件的结构 8 | 9 | ## IndexFile 文件的写入 10 | 11 | ## IndexFile 文件的读取 12 | 13 | 14 | ## Links 15 | 16 | - [IndexFile](https://juejin.cn/post/6980883151325233160) 17 | - [IndexFile](https://www.jianshu.com/p/e0befd11aee0) -------------------------------------------------------------------------------- /rocketmq/rocketmq-message-store.md: -------------------------------------------------------------------------------- 1 | # MessageStore 2 | 3 | ## DefaultMessageStore 4 | 5 | ## DefaultMessageStore#getMessage 6 | -------------------------------------------------------------------------------- /rocketmq/rocketmq-namespace.md: -------------------------------------------------------------------------------- 1 | # Namespace 2 | -------------------------------------------------------------------------------- /rocketmq/rocketmq-netty.md: -------------------------------------------------------------------------------- 1 | # netty 2 | -------------------------------------------------------------------------------- /rocketmq/rocketmq-route-info.md: -------------------------------------------------------------------------------- 1 | # RouteInfoManager 2 | 3 | `org.apache.rocketmq.namesrv.routeinfo.RouteInfoManager` 4 | -------------------------------------------------------------------------------- /rocketmq/rocketmq-route.md: -------------------------------------------------------------------------------- 1 | # route 2 | -------------------------------------------------------------------------------- /rocketmq/rocketmq-topic.md: -------------------------------------------------------------------------------- 1 | # tpoic 2 | 3 | ## Topic 的概念 4 | 5 | ## Topic 的创建 6 | 7 | ```java 8 | // MQAdminImpl#createTopic 9 | 10 | ``` 11 | 12 | ## Topic 的自动创建 13 | 14 | ## Topic 的手动创建 15 | -------------------------------------------------------------------------------- /seata/images/seata-BranchStatus.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/web1992/read/e9bb6047aa256512630be9a0d7ced96a7cdbfa72/seata/images/seata-BranchStatus.png -------------------------------------------------------------------------------- /seata/images/seata-GlobalStatus.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/web1992/read/e9bb6047aa256512630be9a0d7ced96a7cdbfa72/seata/images/seata-GlobalStatus.png -------------------------------------------------------------------------------- /seata/images/seata-commit-failed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/web1992/read/e9bb6047aa256512630be9a0d7ced96a7cdbfa72/seata/images/seata-commit-failed.png -------------------------------------------------------------------------------- /seata/images/seata-rollback-failed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/web1992/read/e9bb6047aa256512630be9a0d7ced96a7cdbfa72/seata/images/seata-rollback-failed.png -------------------------------------------------------------------------------- /seata/images/seata-seata.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/web1992/read/e9bb6047aa256512630be9a0d7ced96a7cdbfa72/seata/images/seata-seata.png -------------------------------------------------------------------------------- /seata/images/seata-session-manager.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/web1992/read/e9bb6047aa256512630be9a0d7ced96a7cdbfa72/seata/images/seata-session-manager.png -------------------------------------------------------------------------------- /seata/images/seata-tm-tm-tc.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/web1992/read/e9bb6047aa256512630be9a0d7ced96a7cdbfa72/seata/images/seata-tm-tm-tc.png -------------------------------------------------------------------------------- /seata/images/seata-try-failed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/web1992/read/e9bb6047aa256512630be9a0d7ced96a7cdbfa72/seata/images/seata-try-failed.png -------------------------------------------------------------------------------- /seata/seata-global-transaction-scanner.md: -------------------------------------------------------------------------------- 1 | # GlobalTransactionScanner 2 | -------------------------------------------------------------------------------- /seata/seata-global-transaction.md: -------------------------------------------------------------------------------- 1 | # GlobalTransaction 2 | 3 | ## GlobalTransactionalInterceptor 4 | 5 | ## TccActionInterceptor 6 | -------------------------------------------------------------------------------- /seata/seata-lock.md: -------------------------------------------------------------------------------- 1 | # Seata Lock 2 | 3 | - [@GlobalLock](https://seata.io/zh-cn/blog/seata-at-lock.html) -------------------------------------------------------------------------------- /seata/seata-resource-manager.md: -------------------------------------------------------------------------------- 1 | # ResourceManager 2 | -------------------------------------------------------------------------------- /seata/seata-session-manager.md: -------------------------------------------------------------------------------- 1 | # SessionManager 2 | -------------------------------------------------------------------------------- /seata/seata-tcc-and-ocketmq.md: -------------------------------------------------------------------------------- 1 | # TCC + RocketMQ 2 | 3 | 把RocketMQ 的事物纳入Seata进行管理。 4 | 5 | 实现步骤: 6 | 7 | 1. RocketMQ 分支事物的注册(第一阶段) 8 | 2. RocketMQ 分支事物的提交和回滚(第二阶段 9 | 10 | RocketMQ 在发送`事物消息`的时候,向Seata注册分支事物。在发消息成功之后,执行本地事物。 11 | 执行本地事物之后,根据本地事物的状态,发送commit 或者 rollback(事物结束)。 12 | -------------------------------------------------------------------------------- /seata/seata-tcc-interceptor.md: -------------------------------------------------------------------------------- 1 | # Interceptor 2 | 3 | 和 TCC 相关的 `Interceptor` 4 | 5 | ## TccActionInterceptor 6 | 7 | ## ActionInterceptorHandler 8 | 9 | ## GlobalTransactionalInterceptor 10 | -------------------------------------------------------------------------------- /seata/seata-tcc-resource-manager.md: -------------------------------------------------------------------------------- 1 | # TCCResourceManager 2 | -------------------------------------------------------------------------------- /seata/seata-tcc.md: -------------------------------------------------------------------------------- 1 | # TCC 2 | -------------------------------------------------------------------------------- /seata/seata-trans-status.md: -------------------------------------------------------------------------------- 1 | # Transtraction status 2 | 3 | ## BranchStatus 4 | 5 | ![seata-BranchStatus.png](images/seata-BranchStatus.png) 6 | 7 | ## GlobalStatus 8 | 9 | ![seata-GlobalStatus.png](images/seata-GlobalStatus.png) 10 | 11 | -------------------------------------------------------------------------------- /seata/seata-transaction-manager.md: -------------------------------------------------------------------------------- 1 | # TransactionManager 2 | -------------------------------------------------------------------------------- /seata/seata-transactional-template.md: -------------------------------------------------------------------------------- 1 | # TransactionalTemplate 2 | -------------------------------------------------------------------------------- /seata/seatat-at.md: -------------------------------------------------------------------------------- 1 | # AT 2 | -------------------------------------------------------------------------------- /shell/readme.md: -------------------------------------------------------------------------------- 1 | # 常用的shell 2 | 3 | ```sh 4 | for i in $(seq 1 100); do echo $i; done; 5 | ``` -------------------------------------------------------------------------------- /software-architecture/readme.md: -------------------------------------------------------------------------------- 1 | # 软件架构 2 | 3 | - 高性能,高可用,可扩展 4 | - 架构设计:识别复杂度 5 | - 业务逻辑太复杂,功能耦合严重 6 | - -------------------------------------------------------------------------------- /spring-boot/spring-boot-enable-auto-configuration.md: -------------------------------------------------------------------------------- 1 | # EnableAutoConfiguration 2 | -------------------------------------------------------------------------------- /spring-boot/spring-boot-logging.md: -------------------------------------------------------------------------------- 1 | # logging 2 | 3 | - [logging](https://docs.spring.io/spring-boot/docs/2.1.4.RELEASE/reference/htmlsingle/#boot-features-loggin) 4 | -------------------------------------------------------------------------------- /spring-boot/spring-boot-spring-application.md: -------------------------------------------------------------------------------- 1 | # SpringApplication 2 | 3 | ## @SpringBootApplication 4 | -------------------------------------------------------------------------------- /spring-cloud/spring-cloud-bus.md: -------------------------------------------------------------------------------- 1 | # spring cloud bus 2 | 3 | - 消息代理(Message Broker) -------------------------------------------------------------------------------- /spring-cloud/spring-cloud-sleuth.md: -------------------------------------------------------------------------------- 1 | # Spring Cloud Sleuth 2 | 3 | -------------------------------------------------------------------------------- /spring-cloud/zuul.md: -------------------------------------------------------------------------------- 1 | # Zuul 2 | 3 | - 过滤器 4 | - 5 | 6 | ## 过滤器 7 | 8 | - pre: 可以在请求被路由之前调用。 9 | - routing: 在路由请求时被调用。 10 | - post: 在routing 和error 过滤器之后被调用。 11 | - error: 处理请求时发生错误时被调用。 12 | 13 | -------------------------------------------------------------------------------- /spring/images/DataAccessException.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/web1992/read/e9bb6047aa256512630be9a0d7ced96a7cdbfa72/spring/images/DataAccessException.gif -------------------------------------------------------------------------------- /spring/images/aop-proxy-call.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/web1992/read/e9bb6047aa256512630be9a0d7ced96a7cdbfa72/spring/images/aop-proxy-call.png -------------------------------------------------------------------------------- /spring/images/aop-proxy-plain-pojo-call.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/web1992/read/e9bb6047aa256512630be9a0d7ced96a7cdbfa72/spring/images/aop-proxy-plain-pojo-call.png -------------------------------------------------------------------------------- /spring/images/container-magic.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/web1992/read/e9bb6047aa256512630be9a0d7ced96a7cdbfa72/spring/images/container-magic.png -------------------------------------------------------------------------------- /spring/images/kotlin-error.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/web1992/read/e9bb6047aa256512630be9a0d7ced96a7cdbfa72/spring/images/kotlin-error.png -------------------------------------------------------------------------------- /spring/images/mvc-context-hierarchy.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/web1992/read/e9bb6047aa256512630be9a0d7ced96a7cdbfa72/spring/images/mvc-context-hierarchy.png -------------------------------------------------------------------------------- /spring/images/mvc-root-context.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/web1992/read/e9bb6047aa256512630be9a0d7ced96a7cdbfa72/spring/images/mvc-root-context.png -------------------------------------------------------------------------------- /spring/images/mvc.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/web1992/read/e9bb6047aa256512630be9a0d7ced96a7cdbfa72/spring/images/mvc.png -------------------------------------------------------------------------------- /spring/images/overview-full.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/web1992/read/e9bb6047aa256512630be9a0d7ced96a7cdbfa72/spring/images/overview-full.png -------------------------------------------------------------------------------- /spring/images/oxm-exceptions.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/web1992/read/e9bb6047aa256512630be9a0d7ced96a7cdbfa72/spring/images/oxm-exceptions.png -------------------------------------------------------------------------------- /spring/images/prototype.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/web1992/read/e9bb6047aa256512630be9a0d7ced96a7cdbfa72/spring/images/prototype.png -------------------------------------------------------------------------------- /spring/images/singleton.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/web1992/read/e9bb6047aa256512630be9a0d7ced96a7cdbfa72/spring/images/singleton.png -------------------------------------------------------------------------------- /spring/images/spring-ClassPathXmlApplicationContext.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/web1992/read/e9bb6047aa256512630be9a0d7ced96a7cdbfa72/spring/images/spring-ClassPathXmlApplicationContext.png -------------------------------------------------------------------------------- /spring/images/spring-StandardEnvironment.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/web1992/read/e9bb6047aa256512630be9a0d7ced96a7cdbfa72/spring/images/spring-StandardEnvironment.png -------------------------------------------------------------------------------- /spring/images/spring-bean-init.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/web1992/read/e9bb6047aa256512630be9a0d7ced96a7cdbfa72/spring/images/spring-bean-init.png -------------------------------------------------------------------------------- /spring/images/spring-bean-load.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/web1992/read/e9bb6047aa256512630be9a0d7ced96a7cdbfa72/spring/images/spring-bean-load.png -------------------------------------------------------------------------------- /spring/images/spring-jdbc-vs-you.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/web1992/read/e9bb6047aa256512630be9a0d7ced96a7cdbfa72/spring/images/spring-jdbc-vs-you.png -------------------------------------------------------------------------------- /spring/images/spring-servlet.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/web1992/read/e9bb6047aa256512630be9a0d7ced96a7cdbfa72/spring/images/spring-servlet.png -------------------------------------------------------------------------------- /spring/images/transaactional-settings.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/web1992/read/e9bb6047aa256512630be9a0d7ced96a7cdbfa72/spring/images/transaactional-settings.png -------------------------------------------------------------------------------- /spring/images/tx-methond.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/web1992/read/e9bb6047aa256512630be9a0d7ced96a7cdbfa72/spring/images/tx-methond.png -------------------------------------------------------------------------------- /spring/images/tx.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/web1992/read/e9bb6047aa256512630be9a0d7ced96a7cdbfa72/spring/images/tx.png -------------------------------------------------------------------------------- /spring/images/tx_prop_required.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/web1992/read/e9bb6047aa256512630be9a0d7ced96a7cdbfa72/spring/images/tx_prop_required.png -------------------------------------------------------------------------------- /spring/images/tx_prop_requires_new.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/web1992/read/e9bb6047aa256512630be9a0d7ced96a7cdbfa72/spring/images/tx_prop_requires_new.png -------------------------------------------------------------------------------- /spring/spring-FAQ.md: -------------------------------------------------------------------------------- 1 | # Spring 常见问题 2 | 3 | 通过这些问题去深刻理解 Spring 的设计,知道其中设计思想。 4 | 5 | ## FAQ 6 | 7 | - [Spring 为什么需要 @Component,@Service, @Controller,@Repository 这些不同的注解,这样设计的好处?](./spring-faq/spring-faq-001.md) -------------------------------------------------------------------------------- /spring/spring-annotation/readme.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/web1992/read/e9bb6047aa256512630be9a0d7ced96a7cdbfa72/spring/spring-annotation/readme.md -------------------------------------------------------------------------------- /spring/spring-annotation/spring-alias-for.md: -------------------------------------------------------------------------------- 1 | # @AliasFor 2 | 3 | ## AnnotatedElementUtils 4 | 5 | ## AnnotationUtils 6 | 7 | ## AnnotationUtils#synthesizeAnnotation 8 | -------------------------------------------------------------------------------- /spring/spring-annotation/spring-bean.md: -------------------------------------------------------------------------------- 1 | # Bean 2 | 3 | Spring 中 `@Bean` 注解简介 4 | 5 | 来自 `@Bean` java doc 6 | 7 | > Indicates that a method produces a bean to be managed by the Spring container. 8 | > 9 | >> 创建一个由Spring 容器管理的Bean 10 | -------------------------------------------------------------------------------- /spring/spring-annotation/spring-component-scan.md: -------------------------------------------------------------------------------- 1 | # ComponentScanAnnotationParser 2 | 3 | 解析 `@ComponentScans` 注解 4 | -------------------------------------------------------------------------------- /spring/spring-bean/spring-abstract-bean-factory.md: -------------------------------------------------------------------------------- 1 | # AbstractBeanFactory 2 | -------------------------------------------------------------------------------- /spring/spring-bean/spring-autowire.md: -------------------------------------------------------------------------------- 1 | # Autowire 2 | 3 | ## AbstractAutowireCapableBeanFactory.autowireByName 4 | 5 | ## AbstractAutowireCapableBeanFactory.autowireByType 6 | 7 | ## What different between keyword Autowired and autowireByType and autowireByName 8 | 9 | -------------------------------------------------------------------------------- /spring/spring-bean/spring-bean-definition-registry-post-processor.md: -------------------------------------------------------------------------------- 1 | # BeanDefinitionRegistryPostProcessor 2 | -------------------------------------------------------------------------------- /spring/spring-bean/spring-bean-definition-registry.md: -------------------------------------------------------------------------------- 1 | # BeanDefinitionRegistry 2 | 3 | - [BeanDefinition](spring-bean-definition.md) 4 | -------------------------------------------------------------------------------- /spring/spring-bean/spring-generic-bean-definition.md: -------------------------------------------------------------------------------- 1 | # GenericBeanDefinition 2 | -------------------------------------------------------------------------------- /spring/spring-bean/spring-instantiation-aware-bean-post-processor.md: -------------------------------------------------------------------------------- 1 | # InstantiationAwareBeanPostProcessor 2 | 3 | > 可以用来实现自定义注解的 `bean` 注册 4 | -------------------------------------------------------------------------------- /spring/spring-context/spring-annotation.md: -------------------------------------------------------------------------------- 1 | # Spring Annotation 2 | 3 | > `Spring` 中所有常用的 `annotation` 注解列表 4 | 5 | - @Bean 6 | - @ComponentScans 7 | - @Configuration 8 | - @Import 9 | - @ImportResource 10 | - @Profile 11 | - @Component 12 | - @Controller 13 | - @Indexed 14 | - @Repository 15 | - @Service 16 | -------------------------------------------------------------------------------- /spring/spring-context/spring-generic-application-context.md: -------------------------------------------------------------------------------- 1 | # GenericApplicationContext 2 | -------------------------------------------------------------------------------- /spring/spring-context/spring-web-application-context.md: -------------------------------------------------------------------------------- 1 | # WebApplicationContext 2 | 3 | - `ContextLoaderListener` 4 | -------------------------------------------------------------------------------- /spring/spring-core/readme.md: -------------------------------------------------------------------------------- 1 | # Sptring core 2 | -------------------------------------------------------------------------------- /spring/spring-core/spring-aop.md: -------------------------------------------------------------------------------- 1 | # spring aop 2 | 3 | - [Spring AOP](https://blog.csdn.net/anurnomeru/article/details/79798659) 4 | -------------------------------------------------------------------------------- /spring/spring-core/spring-util/spring-util.md: -------------------------------------------------------------------------------- 1 | # spring util 2 | 3 | `Spring` 中提供的工具类 4 | -------------------------------------------------------------------------------- /spring/spring-mvc/spring-mvc-handier-interceptor-adapter.md: -------------------------------------------------------------------------------- 1 | # HandlerInterceptorAdapter 2 | -------------------------------------------------------------------------------- /spring/spring-mvc/spring-web-handler-adapter.md: -------------------------------------------------------------------------------- 1 | # HandlerAdapter 2 | 3 | `RequestMappingHandlerAdapter` 是核心类 4 | 5 | ## HttpRequestHandlerAdapter 6 | 7 | ## SimpleControllerHandlerAdapter 8 | 9 | ## RequestMappingHandlerAdapter 10 | 11 | - [RequestMappingHandlerAdapter](spring-web-request-mapping-handler-adapter.md) 12 | 13 | ## HandlerInterceptorAdapter 14 | -------------------------------------------------------------------------------- /spring/spring-mvc/spring-web-handler-mapping.md: -------------------------------------------------------------------------------- 1 | # HandlerMapping -------------------------------------------------------------------------------- /spring/spring-mvc/spring-web-http-request-handler-servlet.md: -------------------------------------------------------------------------------- 1 | # HttpRequestHandlerServlet 2 | -------------------------------------------------------------------------------- /spring/spring-mvc/spring-web-request-mapping-handler-mapping.md: -------------------------------------------------------------------------------- 1 | # RequestMappingHandlerMapping 2 | -------------------------------------------------------------------------------- /spring/spring-mvc/spring-web-web-mvc-configuration-support.md: -------------------------------------------------------------------------------- 1 | # WebMvcConfigurationSupport 2 | 3 | `WebMvcConfigurationSupport` 提供了 自定义 `Spring mvc` 的入口 4 | 5 | ## EnableWebMvc 6 | 7 | `@EnableWebMvc` 8 | -------------------------------------------------------------------------------- /spring/spring-reference/spring-reference-013.md: -------------------------------------------------------------------------------- 1 | # Introduction to Spring Testing 2 | 3 | Testing is an integral part of enterprise software development. This chapter focuses on the value-add of the IoC principle to unit testing and on the benefits of the Spring Framework’s support for integration testing. (A thorough treatment of testing in the enterprise is beyond the scope of this reference manual.) -------------------------------------------------------------------------------- /spring/spring-reference/spring-reference-018.md: -------------------------------------------------------------------------------- 1 | # DAO support 2 | 3 | ![](images/DataAccessException.gif) -------------------------------------------------------------------------------- /spring/spring-reference/spring-reference-026.md: -------------------------------------------------------------------------------- 1 | # WebSocket Support 2 | -------------------------------------------------------------------------------- /swagger/readme.md: -------------------------------------------------------------------------------- 1 | # swagger 2 | 3 | - [https://swagger.io/](https://swagger.io/) 4 | - [http://springfox.github.io/springfox/](http://springfox.github.io/springfox/) 5 | - [https://github.com/springfox/springfox-demos](https://github.com/springfox/springfox-demos) 6 | -------------------------------------------------------------------------------- /tcp-ip/HTTP权威指南/chap-002.md: -------------------------------------------------------------------------------- 1 | # 第2章URL与资源 2 | 3 | - URI是一类更通用的资源标识符,URL实际,上是它的一个子集 4 | - -------------------------------------------------------------------------------- /tcp-ip/HTTP权威指南/chap-008.md: -------------------------------------------------------------------------------- 1 | # 第8章 集成点:网关、隧道及中继 2 | 3 | - 网关(gateway) 4 | - 有些网关会自动将 HTTP 流量转换为其他协议 5 | - 服务器端网关(server-side gateway)通过 HTTP 与客户端对话,通过其他协议与服务器通信(HTTP/*)。 6 | - 客户端网关(client-side gateway)通过其他协议与客户端对话,通过 HTTP 与服务器通信(*/HTTP) 7 | - 协议网关 8 | - < 客户端协议 >/< 服务器端协议 > 9 | - 用CONNECT建立HTTP隧道 10 | - 隧道 传输非HTTP 流量 11 | - HTTP 中继(relay) 12 | - 对流量进行盲转发 13 | -------------------------------------------------------------------------------- /tcp-ip/HTTP权威指南/chap-009.md: -------------------------------------------------------------------------------- 1 | # 第9章 Web 机器人 2 | 3 | - 爬虫 4 | -------------------------------------------------------------------------------- /tcp-ip/HTTP权威指南/chap-016.md: -------------------------------------------------------------------------------- 1 | # 第16章 国际化 2 | 3 | -------------------------------------------------------------------------------- /tcp-ip/HTTP权威指南/chap-017.md: -------------------------------------------------------------------------------- 1 | # 第17章 内容协商与转码 2 | 3 | - -------------------------------------------------------------------------------- /tcp-ip/HTTP权威指南/chap-019.md: -------------------------------------------------------------------------------- 1 | # 第19章 发布系统 2 | -------------------------------------------------------------------------------- /tcp-ip/TCP-IP-详解-卷1/chapter-05.md: -------------------------------------------------------------------------------- 1 | # RARP:逆地址解析协议 2 | 3 | 具有本地磁盘的系统引导时,一般是从磁盘上的配置文件中读取 IP 地址。但是无盘机, 4 | 如 X 终端或无盘工作站,则需要采用其他方法来获得 IP 地址。 5 | 网络上的每个系统都具有唯一的硬件地址,它是由网络接口生产厂家配置的。无盘系统 6 | 的 RARP 实现过程是从接口卡上读取唯一的硬件地址,然后发送一份 RARP 请求(一帧在网络 7 | 上广播的数据),请求某个主机响应该无盘系统的 IP 地址(在 RARP 应答中)。 8 | 9 | RARP 的正式规范是 RFC903 [Finlaysonetal.1984] 10 | -------------------------------------------------------------------------------- /tcp-ip/TCP-IP-详解-卷1/chapter-07.md: -------------------------------------------------------------------------------- 1 | # Ping 程序 2 | 3 | - IP 记录路由选项(RR) 4 | -------------------------------------------------------------------------------- /tcp-ip/TCP-IP-详解-卷1/chapter-13.md: -------------------------------------------------------------------------------- 1 | # IGMP:Internet 组管理协议 2 | 3 | IGMP 协议可以加入一个多播组 4 | 5 | > IGMP 报文封装在 IP 数据报 6 | 7 | ![TCP-IP-13-1.svg](./images/TCP-IP-13-1.svg) 8 | 9 | > IGMP 报文的字段格式 10 | 11 | ![TCP-IP-13-2.svg](./images/TCP-IP-13-2.svg) 12 | -------------------------------------------------------------------------------- /tcp-ip/TCP-IP-详解-卷1/chapter-15.md: -------------------------------------------------------------------------------- 1 | # TFTP:简单文件传送协议 2 | 3 | - TFTP(Trivial File Transfer Protocol)即简单文件传送协议 4 | - RFC 1350 5 | 6 | TFTP 是一个简单的协议,适合于只读存储器,仅用于无盘系统进行系统引导。它只使用 7 | 几种报文格式,是一种停止等待协议。 8 | -------------------------------------------------------------------------------- /tcp-ip/TCP-IP-详解-卷1/images/TCP-IP-1-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/web1992/read/e9bb6047aa256512630be9a0d7ced96a7cdbfa72/tcp-ip/TCP-IP-详解-卷1/images/TCP-IP-1-1.png -------------------------------------------------------------------------------- /tcp-ip/TCP-IP-详解-卷1/images/TCP-IP-1-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/web1992/read/e9bb6047aa256512630be9a0d7ced96a7cdbfa72/tcp-ip/TCP-IP-详解-卷1/images/TCP-IP-1-2.png -------------------------------------------------------------------------------- /tcp-ip/TCP-IP-详解-卷1/images/TCP-IP-1-3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/web1992/read/e9bb6047aa256512630be9a0d7ced96a7cdbfa72/tcp-ip/TCP-IP-详解-卷1/images/TCP-IP-1-3.png -------------------------------------------------------------------------------- /tcp-ip/TCP-IP-详解-卷1/images/TCP-IP-1-4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/web1992/read/e9bb6047aa256512630be9a0d7ced96a7cdbfa72/tcp-ip/TCP-IP-详解-卷1/images/TCP-IP-1-4.png -------------------------------------------------------------------------------- /tcp-ip/TCP-IP-详解-卷1/images/TCP-IP-1-5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/web1992/read/e9bb6047aa256512630be9a0d7ced96a7cdbfa72/tcp-ip/TCP-IP-详解-卷1/images/TCP-IP-1-5.png -------------------------------------------------------------------------------- /tcp-ip/TCP-IP-详解-卷1/images/TCP-IP-1-6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/web1992/read/e9bb6047aa256512630be9a0d7ced96a7cdbfa72/tcp-ip/TCP-IP-详解-卷1/images/TCP-IP-1-6.png -------------------------------------------------------------------------------- /tcp-ip/TCP-IP-详解-卷1/images/TCP-IP-1-7.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/web1992/read/e9bb6047aa256512630be9a0d7ced96a7cdbfa72/tcp-ip/TCP-IP-详解-卷1/images/TCP-IP-1-7.png -------------------------------------------------------------------------------- /tcp-ip/TCP-IP-详解-卷1/images/TCP-IP-10-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/web1992/read/e9bb6047aa256512630be9a0d7ced96a7cdbfa72/tcp-ip/TCP-IP-详解-卷1/images/TCP-IP-10-1.png -------------------------------------------------------------------------------- /tcp-ip/TCP-IP-详解-卷1/images/TCP-IP-10-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/web1992/read/e9bb6047aa256512630be9a0d7ced96a7cdbfa72/tcp-ip/TCP-IP-详解-卷1/images/TCP-IP-10-2.png -------------------------------------------------------------------------------- /tcp-ip/TCP-IP-详解-卷1/images/TCP-IP-11-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/web1992/read/e9bb6047aa256512630be9a0d7ced96a7cdbfa72/tcp-ip/TCP-IP-详解-卷1/images/TCP-IP-11-1.png -------------------------------------------------------------------------------- /tcp-ip/TCP-IP-详解-卷1/images/TCP-IP-11-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/web1992/read/e9bb6047aa256512630be9a0d7ced96a7cdbfa72/tcp-ip/TCP-IP-详解-卷1/images/TCP-IP-11-2.png -------------------------------------------------------------------------------- /tcp-ip/TCP-IP-详解-卷1/images/TCP-IP-12-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/web1992/read/e9bb6047aa256512630be9a0d7ced96a7cdbfa72/tcp-ip/TCP-IP-详解-卷1/images/TCP-IP-12-1.png -------------------------------------------------------------------------------- /tcp-ip/TCP-IP-详解-卷1/images/TCP-IP-13-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/web1992/read/e9bb6047aa256512630be9a0d7ced96a7cdbfa72/tcp-ip/TCP-IP-详解-卷1/images/TCP-IP-13-1.png -------------------------------------------------------------------------------- /tcp-ip/TCP-IP-详解-卷1/images/TCP-IP-13-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/web1992/read/e9bb6047aa256512630be9a0d7ced96a7cdbfa72/tcp-ip/TCP-IP-详解-卷1/images/TCP-IP-13-2.png -------------------------------------------------------------------------------- /tcp-ip/TCP-IP-详解-卷1/images/TCP-IP-14-3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/web1992/read/e9bb6047aa256512630be9a0d7ced96a7cdbfa72/tcp-ip/TCP-IP-详解-卷1/images/TCP-IP-14-3.png -------------------------------------------------------------------------------- /tcp-ip/TCP-IP-详解-卷1/images/TCP-IP-16-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/web1992/read/e9bb6047aa256512630be9a0d7ced96a7cdbfa72/tcp-ip/TCP-IP-详解-卷1/images/TCP-IP-16-1.png -------------------------------------------------------------------------------- /tcp-ip/TCP-IP-详解-卷1/images/TCP-IP-17-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/web1992/read/e9bb6047aa256512630be9a0d7ced96a7cdbfa72/tcp-ip/TCP-IP-详解-卷1/images/TCP-IP-17-1.png -------------------------------------------------------------------------------- /tcp-ip/TCP-IP-详解-卷1/images/TCP-IP-17-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/web1992/read/e9bb6047aa256512630be9a0d7ced96a7cdbfa72/tcp-ip/TCP-IP-详解-卷1/images/TCP-IP-17-2.png -------------------------------------------------------------------------------- /tcp-ip/TCP-IP-详解-卷1/images/TCP-IP-18-10.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/web1992/read/e9bb6047aa256512630be9a0d7ced96a7cdbfa72/tcp-ip/TCP-IP-详解-卷1/images/TCP-IP-18-10.png -------------------------------------------------------------------------------- /tcp-ip/TCP-IP-详解-卷1/images/TCP-IP-18-12.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/web1992/read/e9bb6047aa256512630be9a0d7ced96a7cdbfa72/tcp-ip/TCP-IP-详解-卷1/images/TCP-IP-18-12.png -------------------------------------------------------------------------------- /tcp-ip/TCP-IP-详解-卷1/images/TCP-IP-18-13.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/web1992/read/e9bb6047aa256512630be9a0d7ced96a7cdbfa72/tcp-ip/TCP-IP-详解-卷1/images/TCP-IP-18-13.png -------------------------------------------------------------------------------- /tcp-ip/TCP-IP-详解-卷1/images/TCP-IP-18-20.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/web1992/read/e9bb6047aa256512630be9a0d7ced96a7cdbfa72/tcp-ip/TCP-IP-详解-卷1/images/TCP-IP-18-20.png -------------------------------------------------------------------------------- /tcp-ip/TCP-IP-详解-卷1/images/TCP-IP-18-3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/web1992/read/e9bb6047aa256512630be9a0d7ced96a7cdbfa72/tcp-ip/TCP-IP-详解-卷1/images/TCP-IP-18-3.png -------------------------------------------------------------------------------- /tcp-ip/TCP-IP-详解-卷1/images/TCP-IP-18-4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/web1992/read/e9bb6047aa256512630be9a0d7ced96a7cdbfa72/tcp-ip/TCP-IP-详解-卷1/images/TCP-IP-18-4.png -------------------------------------------------------------------------------- /tcp-ip/TCP-IP-详解-卷1/images/TCP-IP-2-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/web1992/read/e9bb6047aa256512630be9a0d7ced96a7cdbfa72/tcp-ip/TCP-IP-详解-卷1/images/TCP-IP-2-1.png -------------------------------------------------------------------------------- /tcp-ip/TCP-IP-详解-卷1/images/TCP-IP-2-4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/web1992/read/e9bb6047aa256512630be9a0d7ced96a7cdbfa72/tcp-ip/TCP-IP-详解-卷1/images/TCP-IP-2-4.png -------------------------------------------------------------------------------- /tcp-ip/TCP-IP-详解-卷1/images/TCP-IP-20-4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/web1992/read/e9bb6047aa256512630be9a0d7ced96a7cdbfa72/tcp-ip/TCP-IP-详解-卷1/images/TCP-IP-20-4.png -------------------------------------------------------------------------------- /tcp-ip/TCP-IP-详解-卷1/images/TCP-IP-20-5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/web1992/read/e9bb6047aa256512630be9a0d7ced96a7cdbfa72/tcp-ip/TCP-IP-详解-卷1/images/TCP-IP-20-5.png -------------------------------------------------------------------------------- /tcp-ip/TCP-IP-详解-卷1/images/TCP-IP-3-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/web1992/read/e9bb6047aa256512630be9a0d7ced96a7cdbfa72/tcp-ip/TCP-IP-详解-卷1/images/TCP-IP-3-1.png -------------------------------------------------------------------------------- /tcp-ip/TCP-IP-详解-卷1/images/TCP-IP-3-7.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/web1992/read/e9bb6047aa256512630be9a0d7ced96a7cdbfa72/tcp-ip/TCP-IP-详解-卷1/images/TCP-IP-3-7.png -------------------------------------------------------------------------------- /tcp-ip/TCP-IP-详解-卷1/images/TCP-IP-4-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/web1992/read/e9bb6047aa256512630be9a0d7ced96a7cdbfa72/tcp-ip/TCP-IP-详解-卷1/images/TCP-IP-4-1.png -------------------------------------------------------------------------------- /tcp-ip/TCP-IP-详解-卷1/images/TCP-IP-4-3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/web1992/read/e9bb6047aa256512630be9a0d7ced96a7cdbfa72/tcp-ip/TCP-IP-详解-卷1/images/TCP-IP-4-3.png -------------------------------------------------------------------------------- /tcp-ip/TCP-IP-详解-卷1/images/TCP-IP-6-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/web1992/read/e9bb6047aa256512630be9a0d7ced96a7cdbfa72/tcp-ip/TCP-IP-详解-卷1/images/TCP-IP-6-1.png -------------------------------------------------------------------------------- /tcp-ip/TCP-IP-详解-卷1/images/TCP-IP-6-10.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/web1992/read/e9bb6047aa256512630be9a0d7ced96a7cdbfa72/tcp-ip/TCP-IP-详解-卷1/images/TCP-IP-6-10.png -------------------------------------------------------------------------------- /tcp-ip/TCP-IP-详解-卷1/images/TCP-IP-6-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/web1992/read/e9bb6047aa256512630be9a0d7ced96a7cdbfa72/tcp-ip/TCP-IP-详解-卷1/images/TCP-IP-6-2.png -------------------------------------------------------------------------------- /tcp-ip/TCP-IP-详解-卷1/images/TCP-IP-6-9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/web1992/read/e9bb6047aa256512630be9a0d7ced96a7cdbfa72/tcp-ip/TCP-IP-详解-卷1/images/TCP-IP-6-9.png -------------------------------------------------------------------------------- /tcp-ip/TCP-IP-详解-卷1/images/little-big-endian.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/web1992/read/e9bb6047aa256512630be9a0d7ced96a7cdbfa72/tcp-ip/TCP-IP-详解-卷1/images/little-big-endian.jpg -------------------------------------------------------------------------------- /tcp-ip/Unix网络编程-卷1/chapter-01.md: -------------------------------------------------------------------------------- 1 | # 简介 2 | 3 | 创建套接字服务步骤: 4 | 5 | - 创建 TCP 套接字 6 | - 把服务的众所周知的端口绑定到套接字 (主机可以有多个网络接口。INADDR_ANY 表示任意地址) 7 | - 把套接字转换成监听套接字 8 | - 接受客户端连接,发送应答 9 | - 终止连接 10 | -------------------------------------------------------------------------------- /tcp-ip/Unix网络编程-卷1/chapter-03.md: -------------------------------------------------------------------------------- 1 | # 套接字编程简介 2 | 3 | - 套接字地址结构 4 | - 值-结果参数 5 | - 字节操作函数 6 | - 字节操纵函数 7 | -------------------------------------------------------------------------------- /tcp-ip/Unix网络编程-卷1/chapter-04.md: -------------------------------------------------------------------------------- 1 | # 基本 TCP 套接字编程 2 | 3 | - socket 函数 4 | - connect 函数 5 | - bind 函数 6 | - listen 函数 7 | - accept 函数 8 | - fork 和 exec 函数 9 | - close 函数 10 | - getsocketname 函数 11 | - getpeername 函数 12 | 13 | > 图 4-1 基本 TCP 客户/服务器程序的套接字函数 14 | 15 | ![unix-network-1-4-1.png](./images/unix-network-1-4-1.svg) 16 | -------------------------------------------------------------------------------- /tcp-ip/Unix网络编程-卷1/chapter-05.md: -------------------------------------------------------------------------------- 1 | # TCP 客户/服务器程序示例 2 | 3 | 关键字: 4 | 5 | - 回射服务器 6 | - POSIX 信号处理 7 | - 处理被中断的系统调用 8 | 9 | ## 回射服务器 10 | 11 | 1. 客户端从标准输入读入一行文本,并写给服务器 12 | 2. 服务器从网络上读取这行文本,并(会射)写给客户端 13 | 3. 客户端从网络上读取这行回射,并显示在标准输出上 14 | 15 | ## POSIX 信号处理 16 | 17 | ## Links 18 | 19 | - [EINTR & 系统中断](https://zhuanlan.zhihu.com/p/159130182) 20 | -------------------------------------------------------------------------------- /tcp-ip/Unix网络编程-卷1/chapter-14.md: -------------------------------------------------------------------------------- 1 | # 高级 I/O 函数 2 | 3 | - recv 和 send 函数 4 | - readv 和 writev 函数 5 | - recvmsg 和 sendmsg 函数 6 | - /dev/poll 接口 7 | - kqueue 接口 8 | -------------------------------------------------------------------------------- /tcp-ip/Unix网络编程-卷1/chapter-15.md: -------------------------------------------------------------------------------- 1 | # Unix 域协议 2 | 3 | ```c 4 | struct sockaddr_un 5 | { 6 | uint8_t sun_len; // 有些实现中可能没有这个成员 7 | sa_family_t sun_family; // AF_LOCAL 8 | char sun_path[104]; // null-terminated pathname. 有些实现中该值可能为108 9 | }; 10 | ``` -------------------------------------------------------------------------------- /tcp-ip/Unix网络编程-卷1/chapter-25.md: -------------------------------------------------------------------------------- 1 | # 信号驱动式 I/O 2 | -------------------------------------------------------------------------------- /tcp-ip/Unix网络编程-卷1/images/unix-1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/web1992/read/e9bb6047aa256512630be9a0d7ced96a7cdbfa72/tcp-ip/Unix网络编程-卷1/images/unix-1.jpg -------------------------------------------------------------------------------- /tcp-ip/Unix网络编程-卷1/images/unix-network-1-4-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/web1992/read/e9bb6047aa256512630be9a0d7ced96a7cdbfa72/tcp-ip/Unix网络编程-卷1/images/unix-network-1-4-1.png -------------------------------------------------------------------------------- /tcp-ip/Unix网络编程-卷1/images/unix-network-1-6-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/web1992/read/e9bb6047aa256512630be9a0d7ced96a7cdbfa72/tcp-ip/Unix网络编程-卷1/images/unix-network-1-6-1.png -------------------------------------------------------------------------------- /tcp-ip/Unix网络编程-卷1/images/unix-network-1-6-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/web1992/read/e9bb6047aa256512630be9a0d7ced96a7cdbfa72/tcp-ip/Unix网络编程-卷1/images/unix-network-1-6-2.png -------------------------------------------------------------------------------- /tcp-ip/Unix网络编程-卷1/images/unix-network-1-6-3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/web1992/read/e9bb6047aa256512630be9a0d7ced96a7cdbfa72/tcp-ip/Unix网络编程-卷1/images/unix-network-1-6-3.png -------------------------------------------------------------------------------- /tcp-ip/Unix网络编程-卷1/images/unix-network-1-6-4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/web1992/read/e9bb6047aa256512630be9a0d7ced96a7cdbfa72/tcp-ip/Unix网络编程-卷1/images/unix-network-1-6-4.png -------------------------------------------------------------------------------- /tcp-ip/Unix网络编程-卷1/images/unix-network-1-6-5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/web1992/read/e9bb6047aa256512630be9a0d7ced96a7cdbfa72/tcp-ip/Unix网络编程-卷1/images/unix-network-1-6-5.png -------------------------------------------------------------------------------- /tcp-ip/Unix网络编程-卷1/images/unix-network-1-6-6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/web1992/read/e9bb6047aa256512630be9a0d7ced96a7cdbfa72/tcp-ip/Unix网络编程-卷1/images/unix-network-1-6-6.png -------------------------------------------------------------------------------- /tcp-ip/images/Tcp_state_diagram.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/web1992/read/e9bb6047aa256512630be9a0d7ced96a7cdbfa72/tcp-ip/images/Tcp_state_diagram.png -------------------------------------------------------------------------------- /todo/2022-03.md: -------------------------------------------------------------------------------- 1 | # 2020-03 2 | 3 | ## Raft 4 | 5 | - https://www.sofastack.tech/projects/sofa-jraft/overview/ 6 | - https://www.cnblogs.com/luozhiyun/p/13150808.html 7 | -------------------------------------------------------------------------------- /vscode/readme.md: -------------------------------------------------------------------------------- 1 | # vscode 教程 2 | 3 | ## vscode for java 4 | 5 | - [tutorial with vscode](https://code.visualstudio.com/docs/java/java-tutorial) 6 | - [java extensions](https://code.visualstudio.com/docs/java/extensions) -------------------------------------------------------------------------------- /zookeeper/paxos.md: -------------------------------------------------------------------------------- 1 | # Paxos 2 | 3 | `Paxos` 一个小岛(虚拟的)的名字 4 | 5 | `Paxos` 算法的核心是一个`一致性`算法 -------------------------------------------------------------------------------- /zookeeper/readme.md: -------------------------------------------------------------------------------- 1 | # zookeeper 2 | 3 | ## api 4 | 5 | ## 错误处理 6 | 7 | ## 应用 8 | 9 | - 数据的发布订阅(数据配置中心) 10 | - 负载均衡 11 | - 命名服务 12 | - 分布式的协调/通知 13 | 14 | ## 原理与实现 15 | 16 | ## 特点 17 | 18 | - 高吞吐,低延迟 19 | - 保证分布式数据的一致性 20 | - 可自己处理运行故障,从故障中进行恢复 21 | -------------------------------------------------------------------------------- /zookeeper/zooKeeper-overview.md: -------------------------------------------------------------------------------- 1 | # Overview 2 | 3 | You can see origin document at here [Overview](https://zookeeper.apache.org/doc/r3.5.3-beta/zookeeperOver.html) 4 | -------------------------------------------------------------------------------- /zookeeper/zookeeper-barriers.md: -------------------------------------------------------------------------------- 1 | # Barriers 2 | 3 | - [Barriers](https://zookeeper.apache.org/doc/r3.5.3-beta/recipes.html#sc_recipes_eventHandles) 4 | -------------------------------------------------------------------------------- /zookeeper/zookeeper-lock.md: -------------------------------------------------------------------------------- 1 | # lock 2 | 3 | - [zookeeper lock 实现demo](https://github.com/apache/zookeeper/tree/master/zookeeper-recipes/zookeeper-recipes-lock/src/main/java/org/apache/zookeeper/recipes/lock) 4 | -------------------------------------------------------------------------------- /zookeeper/zookeeper-queues.md: -------------------------------------------------------------------------------- 1 | # Queues 2 | 3 | - [Queues](https://zookeeper.apache.org/doc/r3.5.3-beta/recipes.html#sc_recipes_Queues) 4 | - [Queue of java](https://github.com/apache/zookeeper/blob/master/src/recipes/queue/src/java/org/apache/zookeeper/recipes/queue/DistributedQueue.java) 5 | --------------------------------------------------------------------------------