java
cai820105
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
天使与魔鬼同在的Unsafe类详解
public final class Unsafe { private Unsafe() { } @CallerSensitive public static Unsafe getUnsafe() { Class var0 = Reflection.getCallerClass(); if (!VM.isSystemDomainLoader(var0.getClassLoader())) { throw new Secu原创 2021-04-12 23:51:24 · 195 阅读 · 0 评论 -
java序列化
应用场景: rpc框架中数据传输常见的序列化方式: Java原生序列化、xml、json、hessian、protobuffer、avro...以下演示Java原生序列化方式:Java原生序列化缺点: 1.序列化数据比较大 2.无法跨语言传输序列化前提 必须实现Serializable接口public class User implements Serializable { private static final long serialVersionUID = -21原创 2020-06-15 22:27:18 · 166 阅读 · 0 评论 -
从原理层面分析ClassLoad加载机制
运行时序图:装载器启动类装载器装载核心类库 jdk根目录下的jar包扩展类装载器装载jdk home/lib/ext 目录下的jar系统类装载器classpath 下的jar自定义类装载器双亲委派机制package java.lang;public class String { public static void main(String[] args) { }}sout:错误: 在类 java.lang.String 中找不原创 2020-06-15 16:58:50 · 218 阅读 · 0 评论 -
java软引用、弱引用、虚引用、强引用
了解软、弱、虚、强 引用的目的1.了解对象的生命周期2.合理的使用对象的生命周期,使得JVM能够合理的回收,避免OOM异常强引用的回收条件:1.脱离作用域(对象声明在方法内部,当方法执行完毕)2.强引用对象设置成null static Object object=new Object(); public static void main(String[] args) { Object ob=object; object=null; Sy原创 2020-06-09 10:51:37 · 181 阅读 · 0 评论 -
Java受检异常和非受检异常
所有的异常都继承自java.lang.ThrowableJDK中的异常体系Error表示错误 底层和硬件的错误 与程序本身无关 这类错误无法被捕获 也不应被捕获Exception表示异常 程序本身错误,因为逻辑错误或程序不够严谨造成 可以被捕获 也可以不捕获 如果不主动捕获则会被JVM自身去处理(非受检异常)RuntimeException:运行时异常 是指编译时无法获知的错误 可以捕获也可以不捕获 比如NullPointerException(受检异常)Checke原创 2020-06-09 10:45:36 · 1213 阅读 · 0 评论
分享