基础基础
林头头03
德玛西亚从不退缩
展开
-
阻塞队列与普通队列的区别
阻塞队列与普通队列的区别 阻塞队列与普通队列的区别在于,当队列是空的时,从队列中获取元素的操作将会被阻塞,或者当队列是满时,往队列里添加元素的操作会被阻塞。试图从空的阻塞队列中获取元素的线程将会被阻塞,直到其他的线程往空的队列插入新的元素。同样,试图往已满的阻塞队列中添加新元素的线程同样也会被阻塞,直到其他的线程使队列重新变得空闲起来,如从队列中移除一个或者多个元素,或者完全清空队列....原创 2019-03-17 12:21:33 · 1872 阅读 · 0 评论 -
reentrantLock与synchronized的区别
ReentrantLock与sync有什么区别主要的区别从一下几个方面说:1、用锁的灵活性 一个是程序员不能认为控制的,一个是程序员可以人为控制,中断、释放。可以设置尝试获取锁的时间等,ReentrantLock灵活得多.但是也带来了不安全的因素 因为锁每次都要人为释放 不想sync自己会释放2、可以不可以获取锁的当前状态 synchronized无法判断是否获...原创 2019-03-17 12:24:40 · 408 阅读 · 0 评论 -
volatile、synchronized两者的区别联系
Volatile、synchronized两者的区别联系1.volatile本质是在告诉jvm当前变量在寄存器(工作内存)中的值是不确定的,需要从主存中读取;synchronized则是锁定当前变量,只有当前线程可以访问该变量,其他线程被阻塞住。2.volatile仅能使用在变量级别;synchronized则可以使用在变量、方法、和类级别的。3.volatile仅能实现变量的修改可见...原创 2019-03-17 12:26:05 · 351 阅读 · 1 评论 -
java基础知识总结(精简)
以下是java基础的精摘以及总结:Object类中的方法1.equals();2.hashcode();3.clone();4.toString(),notify(),notifyAll(),wait();5.finalize()Java中实现序列化的两种方式1.实现Serializable接口。序列化的时候的一个关键字:transient(临时的)...原创 2019-04-26 11:02:39 · 1055 阅读 · 0 评论 -
java反射总结
什么是反射技术?动态获取指定类以及类中的内容(成员),并运行其内容。应用程序已经运行,无法在其中进行new对象的建立,就无法使用对象。这时可以根据配置文件的类全名去找对应的字节码文件,并加载进内存,并创建该类对象实例。这就需要使用反射技术完成1.获取属于哪个类方法一//使用getClass()Person p = new Person();Class c1 = p.get...原创 2018-11-27 21:58:02 · 241 阅读 · 0 评论 -
动态代理 看这一篇就够了
动态代理与静态代理本文整理归纳了一些博客的关于动态代理的介绍。Spring AOP中使用了两种动态代理,一种是JDK的动态代理,一种CGLIB的动态代理。JDK的动态代理必须指定接口,这些接口都是已经被代理对象实现了的;而CGLIB代理则不需要指定接口。 静态:由程序员创建代理类或特定工具自动生成源代码再对其编译。在程序运行前代理类的.class文件就已经存在了。 ...原创 2019-04-26 13:19:08 · 480 阅读 · 0 评论