摘要:
[作者:sczyh30](https://www.sczyh30.com/archives/) [java全栈知识体系](https://pdai.tech/) [microsoft cloud design pattern](https://docs.microsoft.com/en-us/azu 阅读全文
摘要:
背景 项目使用到jieba分词,分词部分结果产品不满意,想过滤一些不重要的高频词汇;我们是使用的结巴分词java版。maven引入如下: <dependency> <groupId>com.huaban</groupId> <artifactId>jieba-analysis</artifactId 阅读全文
摘要:
背景 项目需要使用mqtt协议建立长连接,我是客户端,需要连上服务端同学的提供的地址;客户端使用的是paho提供的客户端sdk,如下: <dependency> <groupId>org.eclipse.paho</groupId> <artifactId>org.eclipse.paho.clie 阅读全文
摘要:
Unix IO模型 对于一个套接字上的输入操作,分为两步: 等待数据准备好(从网络中到达,到内核缓冲区) 将数据从内核缓冲区复制到应用进程缓冲区 I/O模型主要为以下五种: 阻塞I/O 非阻塞I/O I/O多路复用 信号驱动I/O 异步I/O 阻塞式I/O recvfrom - 系统调用,应用进程从 阅读全文
摘要:
概述 Java虚拟机(JVM)不与包括Java语言在内的任何程序语言绑定,只与“Class文件”(字节码)这种特定的二进制文件格式关联。而Java虚拟机可以运行在各种不同硬件平台和操作系统上,这也是说Java语言跨平台的原因。虚拟机与程序语言的关系如下图: Class文件结构定义 ClassFile 阅读全文
摘要:
数据库请求流程 应用端 应用端视角里(MongoDB驱动程序与MongoDB进行交互),一次数据库请求流程如下: 选择节点 在复制集读操作里,选择节点会受readPreference参数影响 排队等待 总连接数大于最大连接数maxPoolSize,连接满了如何解决:优化查询性能,提高服务端资源等 连 阅读全文
摘要:
索引数据结构 MongoDB的索引和MySQL一样用的是B+树。由于在MySQL索引部分对B+树已经做了介绍,这里就不再描述啦,详见 MySQL - 存储&索引 虽然但是,很多地方都说MongoDB索引的数据结构是B-树,在我看了蛮多博客以及一些同学询问官方得到的回复,以及极客时间上MongoDB课 阅读全文
摘要:
# 判断对象需要被回收的算法 ## 引用计数 引用计数,Reference Counting。主流的JVM并没有使用引用计数来管理内存。引用计数的方法即在对象中添加一个引用计数器,每当有个地方引用它的时候就加一;引用失效的时候,就减一。当计数器为0,那么该对象就应该被回收,不能再使用了。 问题: 循 阅读全文
摘要:
MongoDB的部署架构 mongodb常见部署方式如下: 各个节点含义 mongos : 路由节点,为业务程序提供集群单一入口,转发应用端请求。选择合适的数据节点进行读写,合并多个分片数据节点的返回。无状态,至少2个。 config: 配置节点,提供集群元数据的存储(数据节点有哪些),分片数据分布 阅读全文
摘要:
写操作事务 writeConcern - w writeConcern决定写操作落到多少节点上才算成功,其取值包括: 0:发起写操作,不关心结果 n 1 ⇐ n ⇐ 集群最大数据节点数:写操作复制到n个节点才算成功。 majority: 写操作被复制到大多数节点才算成功 发起写操作的线程将阻塞到写操 阅读全文