03 2022 档案

摘要:概述 Java虚拟机(JVM)不与包括Java语言在内的任何程序语言绑定,只与“Class文件”(字节码)这种特定的二进制文件格式关联。而Java虚拟机可以运行在各种不同硬件平台和操作系统上,这也是说Java语言跨平台的原因。虚拟机与程序语言的关系如下图: Class文件结构定义 ClassFile 阅读全文
posted @ 2022-03-23 14:24 rachel_aoao 阅读(35) 评论(0) 推荐(0) 编辑
摘要:数据库请求流程 应用端 应用端视角里(MongoDB驱动程序与MongoDB进行交互),一次数据库请求流程如下: 选择节点 在复制集读操作里,选择节点会受readPreference参数影响 排队等待 总连接数大于最大连接数maxPoolSize,连接满了如何解决:优化查询性能,提高服务端资源等 连 阅读全文
posted @ 2022-03-22 12:57 rachel_aoao 阅读(886) 评论(0) 推荐(0) 编辑
摘要:索引数据结构 MongoDB的索引和MySQL一样用的是B+树。由于在MySQL索引部分对B+树已经做了介绍,这里就不再描述啦,详见 MySQL - 存储&索引 虽然但是,很多地方都说MongoDB索引的数据结构是B-树,在我看了蛮多博客以及一些同学询问官方得到的回复,以及极客时间上MongoDB课 阅读全文
posted @ 2022-03-22 10:44 rachel_aoao 阅读(103) 评论(0) 推荐(0) 编辑
摘要:# 判断对象需要被回收的算法 ## 引用计数 引用计数,Reference Counting。主流的JVM并没有使用引用计数来管理内存。引用计数的方法即在对象中添加一个引用计数器,每当有个地方引用它的时候就加一;引用失效的时候,就减一。当计数器为0,那么该对象就应该被回收,不能再使用了。 问题: 循 阅读全文
posted @ 2022-03-21 15:14 rachel_aoao 阅读(45) 评论(0) 推荐(0) 编辑
摘要:MongoDB的部署架构 mongodb常见部署方式如下: 各个节点含义 mongos : 路由节点,为业务程序提供集群单一入口,转发应用端请求。选择合适的数据节点进行读写,合并多个分片数据节点的返回。无状态,至少2个。 config: 配置节点,提供集群元数据的存储(数据节点有哪些),分片数据分布 阅读全文
posted @ 2022-03-17 12:02 rachel_aoao 阅读(128) 评论(0) 推荐(0) 编辑
摘要:写操作事务 writeConcern - w writeConcern决定写操作落到多少节点上才算成功,其取值包括: 0:发起写操作,不关心结果 n 1 ⇐ n ⇐ 集群最大数据节点数:写操作复制到n个节点才算成功。 majority: 写操作被复制到大多数节点才算成功 发起写操作的线程将阻塞到写操 阅读全文
posted @ 2022-03-16 16:28 rachel_aoao 阅读(725) 评论(0) 推荐(0) 编辑
摘要:虚拟机内存的各个部分 如上图所示,JVM运行时内存可以分为堆,栈,非堆。 栈 栈是线程私有的,里面主要包括了程序计数器(Program Counter), 虚拟机栈(VM Stack)和本地方法栈(Native Method Stack)。 程序计数器 可以看做是当前线程执行字节码的行号指示器,程序 阅读全文
posted @ 2022-03-10 17:11 rachel_aoao 阅读(39) 评论(0) 推荐(0) 编辑
摘要:HTTP的特点 HTTP = hypertext transfer protocol,即超文本传输协议。在网络分层模型里面有说到,HTTP是应用层协议。它的主要特点如下: 无状态 HTTP是建立在TCP协议上的,我们知道TCP协议是有状态的。有状态意味着内部存在一些数据结构去维护这个状态。而HTTP 阅读全文
posted @ 2022-03-10 11:31 rachel_aoao 阅读(47) 评论(0) 推荐(0) 编辑
摘要:基础 根据之前网络通信分层结构的介绍, 我们知道TCP是位于传输层的协议。为什么要分层,不就是为了“各司其职,更加灵活”嘛。应用层,负责制造数据出来;网络层,负责找到数据要发到的正确地方;而中间的传输层则是为了保证数据交到网络的“效率”。 TCP的定义:面向连接的,可靠的流式传输协议。以下我们将会围 阅读全文
posted @ 2022-03-09 17:15 rachel_aoao 阅读(144) 评论(0) 推荐(0) 编辑
摘要:OSI的七层 & TCP/IP的四层 我们常说的四七层,其实是说的OSI的七层模型和TCP/IP的四层模型,结构如下图所示: 主要需要知道的是HTTP是应用层协议,TCP/UDP是传输层协议,IP地址是网络层协议。 分层模型下的网络通信 数据在网络中传输,从应用端到应用端其实是经过以上层层结构的加工 阅读全文
posted @ 2022-03-09 10:38 rachel_aoao 阅读(204) 评论(0) 推荐(0) 编辑
摘要:# HTTP & HTTPS 有一个前提就是:在网络信道传输的数据是任何人都可以截获的。由于这个特性,再加上HTTP的明文传输,就有非常大的不安全隐患。如何保证安全?那是不是我把传输的明文数据加密, 在信道里是一堆看不懂的字节,然后让接收方解密就可以了呢?这仍然会存在一些问题,如: - 如何保证加解 阅读全文
posted @ 2022-03-08 14:15 rachel_aoao 阅读(60) 评论(0) 推荐(0) 编辑
摘要:工厂方法模式 模式简述 Spring中的FactoryBean Product → BeanObject Concrete Products → e.g.如mybatis中的T MapperObject Creator → FactoryBean public interface FactoryBe 阅读全文
posted @ 2022-03-07 16:27 rachel_aoao 阅读(78) 评论(0) 推荐(0) 编辑
摘要:CURD insert db.collection.insertOne() db.collection.insertMany() db.fruits.insertOne({name:"apple"}) db.fruits.insertMany([ {name:"apple"}, {name:"pea 阅读全文
posted @ 2022-03-01 17:51 rachel_aoao 阅读(40) 评论(0) 推荐(0) 编辑

阅读目录(Content)

此页目录为空

点击右上角即可分享
微信分享提示