outlookling

博客园 首页 新随笔 联系 订阅 管理

文章分类 -  JAVA基础

摘要:Java自定义异常,应该继承Exception。原因:1. 异常层次结构的规范性;2. 编译时异常的强制处理;3. 明确异常处理责任;4. 异常文档化和可读性;5. 团队协作和规范;6. 异常分类和优化。Java的异常类体系中,Exception是所有受检查异常的根类。 一、Java自定义异常,应该 阅读全文
posted @ 2025-05-27 16:00 jsonZhu 阅读(123) 评论(0) 推荐(0)

摘要:1.Synchronized + Object.wait() + Object.notify()/Object.notifyAll(); notify 是释放的是锁,不确定唤醒的是哪个线程; 1.锁的释放时机‌ ‌notify() 不会立即释放锁‌。调用 notify() 的线程会继续持有当前对象的 阅读全文
posted @ 2025-05-14 13:22 jsonZhu 阅读(18) 评论(0) 推荐(0)

摘要:ThreadLocal 的 get() 方法通过‌哈希算法 + 线性探测法‌定位 ThreadLocalMap 中 key 的具体位置,具体流程如下: 一、定位 key 的核心步骤 ‌计算初始索引‌ 根据当前 ThreadLocal 对象的 threadLocalHashCode(唯一哈希值),计算 阅读全文
posted @ 2025-05-13 16:07 jsonZhu 阅读(10) 评论(0) 推荐(0)

摘要:ThreadLocalMap是作为内部类定义在ThreadLocal中,但是是作为成员变量声明在Thread中。 ThreadLocal的set方法, 1.获取当前线程; 2.从当前线程中获取ThreadLocalMap 3.如果map为null,新建一个ThreadLocalMap,赋值给从当前线 阅读全文
posted @ 2025-05-13 15:54 jsonZhu 阅读(10) 评论(0) 推荐(0)

摘要:死锁的四个必要条件如下: ‌互斥条件‌资源至少有一个处于排他性使用状态,即同一时间只能被一个进程/线程独占‌。例如打印机、文件锁等不可共享资源。 ‌请求与保持条件‌进程在持有至少一个资源的同时,继续请求其他资源,且不释放已占有的资源‌。例如进程A持有资源X,同时请求资源Y。 ‌不可剥夺条件‌进程已获 阅读全文
posted @ 2025-04-12 08:57 jsonZhu 阅读(65) 评论(0) 推荐(0)

摘要:jstat(Java Statistics Monitoring Tool) 是用于监视虚拟机各种运行状态信息的命令行工具。 类加载统计:C:\Users\X1 Carbon>jstat -class 19236 Loaded Bytes Unloaded Bytes Time 474 961.3 阅读全文
posted @ 2025-04-05 22:26 jsonZhu 阅读(21) 评论(0) 推荐(0)

摘要:在JVM中类加载过程中,在解析阶段,Java虚拟机会把类的二级制数据中的符号引用替换为直接引用。 1.符号引用(Symbolic References): 符号引用以一组符号来描述所引用的目标,符号可以是任何形式的字面量,只要使用时能够无歧义的定位到目标即可。例如,在Class文件中它以CONSTA 阅读全文
posted @ 2020-02-18 17:23 jsonZhu 阅读(111) 评论(0) 推荐(0)

摘要: 阅读全文
posted @ 2020-02-17 19:38 jsonZhu 阅读(79) 评论(0) 推荐(0)

摘要:-server -Xmx10m -Xms10m -XX:+DoEscapeAnalysis -XX:+PrintGC -Dfile.encoding=GBK -XX:+PrintHeapAtGC -XX:+TraceClassLoading -XX:+PrintClassHistogram -XX: 阅读全文
posted @ 2020-02-13 23:00 jsonZhu 阅读(60) 评论(0) 推荐(0)