java基础
文章平均质量分 81
哦豁
这个作者很懒,什么都没留下…
展开
-
<java基础>类加载器
文章目录类加载器类加载器原理加载器源码分析两个重要加载器的实现1.扩展加载器2.APP加载器总结谁来加载加载器谁来加载类?什么时候需要实现一个加载器如何实现一个加载器Java类加载机制Tomcat和JDBC加载机制 类加载器 类加载器原理 加载器源码分析 ClassLoader是个抽象类。 private static native void registerNatives(); static { registerNatives(); } #这段代码的作用是什么? 成员变量原创 2022-03-27 23:28:17 · 347 阅读 · 0 评论 -
String、StringBuffer、StringBuilder
文章目录StringString为什么要不可变?是如何实现不可变的?String如何实现缓存的?常用api(*TODO*)StringBuffer俩buffer相+呢?StringBuilder(线程安全) String String为什么要不可变?是如何实现不可变的? (1)String是放在常量池的,这意味这会被多个变量引用,如果可变被修改其他引用者也会跟着变,这不符合我们缓存复用的初衷的; (2)如何实现的: 首先String 类是final修饰的,不能被继承,并且没有修改String的方法; 底层为原创 2022-03-22 23:41:08 · 88 阅读 · 0 评论 -
ReemtrantLock原理(配合源码)
1.大体流程 2.源码分析 (1)构造方法 默认是非公平锁,以下都默认使用非公平锁进行分析。 public ReentrantLock() { sync = new NonfairSync(); } 也可通过参数调整决定使用公平锁还是非公平锁: public ReentrantLock(boolean fair) { sync = fair ? new FairSync() : new NonfairSync(); } (2)lock() lock的基原创 2022-03-03 00:31:26 · 291 阅读 · 0 评论