- 博客(5)
- 资源 (2)
- 收藏
- 关注
原创 深入Java代理,代理功能是如何实现的?
代理?InvokeHandler?Proxy?代理对象?它们到底有什么关系?JDK自带的代理功能又是如何实现的?
2022-08-11 19:08:32 232 1
原创 Java反射机制
静态语言 与 动态语言 动态语言: 运行时可以根据自身条件改变数据结构 动态语言举例:Object - c,JavaScript,C#,PHP,Python 等。 eg(JavaScript): 静态语言: 运行时不可改变自身数据结构。 静态语言举例:Java,C,C++。 Java不是动态语言,但Java是一门 “ 准动态语言 ” 。即可使用反射机制使Java获得类似于动态语言的特性。 Reflection(反射) Reflection(反射)允许程序在执行期间借助于 Reflection API
2021-04-05 15:41:15 375 2
原创 Synchronize下的volatile关键字
Synchronize下的volatile关键字 简介关键词:Synchronize与volatile Synchronize:无论是对于Synchronize同步方法异或是Synchronize块,本质是对某对象或某类加锁,让多线程进行队列化的有序地同步执行。 volatile:用于修饰变量。在多线程执行过程中,禁止线程从工作内存(缓存)中读取值。 volatile问题抛出: 让我们看到这样一个问题,我们设置一个含有boolean标志位的类Test,以及两个Runable接口实例,分别为MyT
2021-03-10 18:27:29 2616 9
原创 细论Synchronize的使用区别
Synchronize的作用 在并发编程中实现共享数据的同步。 Synchronize使用形式 Synchronize的使用方式大体分为两种:Synchronize同步方法 以及 Synchronize块。其本质都是对目标对象(或类)的锁定,让该方法变为原子操作。
2021-03-06 16:03:56 971 10
原创 ReenTrantLock (公平锁)Lock过程源码剖析
ReenTrantLock (公平锁)Lock过程源码剖析 情况一:第一个进入的线程 t1 进入lock 进入acquire(1); public final void acquire(int arg) { if (!tryAcquire(arg) && //tryAcquire尝试获取 acquireQueued(addWaiter(Node.EXCLUSIVE), arg)) selfInterrupt(); } 进入tryA
2021-03-01 19:19:36 582 5
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人