线程 发表于 2023-03-06 更新于 2024-07-22 分类于 Java , 并发 本文字数: 1.5k 阅读时长 ≈ 5 分钟 进程和线程的区别 操作系统以进程为单位,分配 cpu 资源,进程是资源分配的最小单位 线程是轻量级进程,是操作系统调度执行的最小单位 线程可以共享进程内资源,进程资源是独立的 进程间通信 管道 信号 消息队列 共享内存 信号量 套接字 阅读全文 »
线程基础 发表于 2023-03-02 更新于 2024-07-22 分类于 Java , 并发 本文字数: 2.3k 阅读时长 ≈ 8 分钟 Callable 实现原理Callable 接口按照 Runnable 方式写作一个可带返回参数的接口,即 call()参照 run()。 阅读全文 »
Dubbo 底层原理 发表于 2023-03-01 更新于 2024-07-22 分类于 RPC , Dubbo 本文字数: 2.1k 阅读时长 ≈ 7 分钟 引用与导出消费者引入,服务者导出 导出3.0 版本之前 识别 @DubboService 注解 寻找 ServiceConfig 调用 export() 方法 确定使用协议 生成对应的 url(tri://ip:port/接口名?k1=v1) 启动对应通信框架 注册到注册中心 阅读全文 »
Dubbo 新特性 发表于 2023-03-01 更新于 2024-07-22 分类于 RPC , Dubbo 本文字数: 691 阅读时长 ≈ 2 分钟 和 cloud 区别 dubbo 存入的是接口名:url,cloud 存入的是应用: url,这样 dubbo 存入的数据量会多很多 dubbo 改变会很频繁,cloud 存入的应用级的所以不关心单个接口更新 dubbo3.0 也转换为应用级注册,也方便去调用 cloud 服务 springcloud 因为只保存应用,如果调用 rest 接口,消费者需要配置 url 路径 阅读全文 »
深入理解 MVCC 与 BufferPool 缓存机制 发表于 2023-02-22 更新于 2024-07-22 分类于 Database , MySQL 本文字数: 30 阅读时长 ≈ 1 分钟 MVCC 多版本并发控制机制 可重复度的隔离性是靠 MVCC 机制保证 undo 日志版本
模拟 Dubbo 底层原理实现 发表于 2023-02-22 更新于 2024-07-22 分类于 RPC , Dubbo 本文字数: 567 阅读时长 ≈ 2 分钟 提供者 本地注册 将自己需要暴露出去的类做一个注册,放入map集合中 绑定ip地址,启动 tomcat,创建 HttpServer,等待请求 消费者调用,使用 req,response 阅读全文 »
JVM 加载机制 发表于 2023-02-16 更新于 2024-07-22 分类于 Java , JVM 本文字数: 900 阅读时长 ≈ 3 分钟 1. 加载顺序jvm 加载顺序为加载,验证,准备,解析,初始化,使用,卸载 1234567class testLoad { static int a = 66; public String toString() { return "1111"; }} 阅读全文 »
并发设计模式 发表于 2023-02-16 更新于 2024-07-22 分类于 Java , 并发 本文字数: 295 阅读时长 ≈ 1 分钟 终止线程如何在线程 1 中终止线程 2? 使用 stop,不能确保线程 2 完整结束 System.exit(int),会终止整个程序 使用中断机制 阅读全文 »
面试整理 发表于 2023-02-15 更新于 2024-07-22 分类于 面试 本文字数: 320 阅读时长 ≈ 1 分钟 java 创建对象流程 类加载器加载 这个时候会通过双亲委派机制,检查自己是否加载过此类,如果没有,则通过 parent 属性调用父级类加载器检查是否加载过此类,如parent 属性中为 null 则调用 BootStrap 类加载器检查是否加载,若未加载此类,如果尝试加载,若加载失败,则传递给下一级类加载器加载 阅读全文 »
并发三大特性 发表于 2023-02-10 更新于 2024-07-22 分类于 Java , 并发 本文字数: 537 阅读时长 ≈ 2 分钟 1. 原子性即保证操作不可中断,只能执行或者不能执行 在 java 中只有简单的赋值和读取是原子性操作,而对于复杂业务而言,这需要使用 synchronized 和 Lock来实现,因为同一时段只能保证一个线程操作,就不会有原子性问题 阅读全文 »