![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java核心技术
文章平均质量分 70
Java基础
SmallKa0
CCPC银牌 ICPC银牌 双非acmer
展开
-
synchronized原理详解
由于轻量级锁会自旋,即不会放弃CPU,那么对一些执行时间短的任务而言,用轻量级锁可以减少线程切换的时间(对比重量级锁)。偏向锁通过对比 Mark Word 解决加锁问题,避免执行CAS操作。轻量级锁是通过用 CAS 操作和自旋来解决加锁问题,避免线程阻塞和唤醒而影响性能。重量级锁是将除了拥有锁的线程以外的线程都阻塞。原创 2024-05-17 23:50:16 · 237 阅读 · 0 评论 -
抽象类、接口、Lambda、内部类
6.1 抽象类抽象类是指定义时有 abstract 修饰的类,例如:public abstract class Person{ ... public abstract String getDescription();//注意末尾没有花括号,而有分号}在定义中有abstract修饰符的方法是抽象方法。抽象类中可以包含实例变量和实例方法,甚至可以没有抽象方法,但是有抽象方法的类一定要定义为抽象类。抽象方法充当着占位的角色,它们的具体实现在子类中。抽象方法不能有方法体,即没有花括号,但必须原创 2024-05-16 23:17:11 · 669 阅读 · 0 评论 -
Java泛型程序设计
java代码中,判断两个方法是否是同一个方法是根据方法的签名来决定的,方法的签名是不包含方法的返回值的,也就是“方法签名=方法名+参数”。那上面这个两个方法不就冲突了吗,没错,如果我们代码里面这样写确实是冲突了,但是Java虚拟机中的方法签名规则是不同的,其“方法签名=方法名+参数+返回值”,所以他是能正确区分两个方法的,所以字节码中是允许存在上面这种情况的。当然这种情况不只是在使用泛型的时候会出现,当在重写方法时,指定了一个更加严格的返回值类型,虚拟机会帮我们生成桥方法。称为有协变的返回类型。原创 2024-05-15 16:22:09 · 1090 阅读 · 0 评论 -
Java反射知识梳理
反射原创 2024-05-15 00:12:18 · 860 阅读 · 0 评论