![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java
Okloong
这个作者很懒,什么都没留下…
展开
-
synchronized
一个对象对应一把锁,要线程同步需要两者同步为同一对象。在该问题中,synchronized修饰pubulic方法中没有具体的参数默认的锁为this,即是当前实例对象。在创建过程中创建的是两个不同对象,对应两把不同的锁。由于调用时由于用的不是同一个锁,所以不能线程同步。synchronized修饰的静态方法,能构成线程同步。静态方法加的锁为类对象的锁。由于静态方法具有全局唯一性,调用的时候调用的是...原创 2019-02-17 23:49:25 · 152 阅读 · 0 评论 -
Java动态代理
动态代理其实是面向切面编程AOP。实现有两种,一个是Java SDK提供的,另外一个是第三方库提供,比如cglib下面是Java SDK提供的代理静态代理package aop;public class SimpleStaticProxyDemo { static interface IService { public void sayHello(); } static c...原创 2019-02-11 23:16:06 · 183 阅读 · 0 评论 -
单例模式
饿汉模式初始化时就实例化,线程安全。懒汉模式使用时候才实例化。双重判空,第一次判空防止重复加锁,第二次判空才实例化。原创 2019-02-25 22:50:32 · 113 阅读 · 0 评论 -
Java反射
将介绍Class对象获取以及其内部一些方法属性介绍。原创 2019-02-18 22:56:51 · 219 阅读 · 1 评论 -
Thread生命周期
Java中线程的状态分为6种。- NEW:初始状态,线程被构建,还未调用start()方法;- RUNNABLE:运行状态,在java多线程模型中,就绪和运行都是运行状态;- BLOCKED:阻塞状态,线程阻塞于锁;- WAITING:等待状态,需要等待其他线程做出一些特定动作(通知或中断)。比如中断,需要其他的线程来唤醒;- TIME_WAITING:超时等待,可以在指定的时间内自行返回;- TERMINATED:终止状态,线程执行完毕。原创 2019-09-02 21:52:45 · 549 阅读 · 0 评论