- 博客(4)
- 收藏
- 关注
原创 Java进阶之MyBatis源码分析
MyBatis源码骨架分析 (一)整体架构 设计模式: 采用外观模式(门面模式),由一个统一接口对外提供服务,客户端与子系统之间进行解耦,遵循了迪米特原则,对内封装了子系统复杂相互调用,对外只暴露必要的接口。 为什么要分层: 可维护性高,分工明确,系统清晰,维护方便。 方便团队开发、效率提升。 提高系统伸缩性和性能。 (二)日志模块 需求点 需要接入第三方的日志组件,统一日志级别。 按照第三方日志组件的优先级别进行自动扫描加载。 日志动态代理进行增强。 设计模式 适配器模式 代理模式 ...
2021-04-22 00:22:39
127
原创 Java进阶之Zookeeper
基础知识 ZNode 持久节点:创建一直存在 临时节点:客户端关闭,则节点被移除 有序节点:创建时自动在节点名跟上自增的整形数字。可以创建同名的节点。 无序节点:不能创建同名节点 ACL权限机制 分三个维度: schema,id,permission schema:world,auth,digest,ip permission:create,read,write,delete,admin(设置子节点的权限) Watcher监听 原生客户端: new ZooKeeper(connectAddr, ses
2021-04-06 00:48:28
129
原创 Java进阶之并发编程
线程共享和协作 (一)基础概念 什么是进程和线程 进程是程序运行资源分配的最小单位,当你运行一个程序,你就启动了一 个进程。 线程是 CPU 调度的最小单位,必须依赖于进程而存在。 Thread 和 Runnable 的区别 Thread和Runnable的实质是继承关系,没有可比性。 用法上,如果有复杂的线程操作需求,那就选择继承Thread,如果只是简单的执行一个任务,那就实现runnable。 interrupt()、interrupted()、isInterrupted() 安全的中止线程的方式是
2021-03-13 00:36:10
346
原创 Java进阶之JVM笔记
JVM基础原理 基础概念 什么是虚拟机 Java 程序的执行过程: .java文件–>javac编译器–>.class文件–>JVM虚拟机加载到方法区–>机器码–>调用操作系统函数 总结:JVM 是一个虚拟化的操作系统,类似于 Linux 或者 Windows 的操作系统,只是它架在操作系统上,接收字节码也就是 class,把字节码翻译成操作系统上的机器码且进行执行 运行时数据区 线程共享区:堆、方法区 线程私有区:虚拟机栈、本地方法栈、程序计数器 直接内存 虚拟机栈 总结
2021-02-22 20:45:13
349
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人