某某橙
某某橙
全部文章
未归档
exercise(1)
Java(11)
数据库(1)
练习(1)
网络(1)
归档
标签
去牛客网
登录
/
注册
某渣橙的博客
大佬们喷的轻点
全部文章
/ 未归档
(共18篇)
synchronized与ReentrantLock的区别
synchronized是Java原语,提供了互斥的语义和可见性,当一个线程已经获取了当前的锁时,其他试图获取锁的线程就只能等待或者阻塞。 ReentrantLock是实现了Lock接口,是一个互斥的同步器。当一个线程试图获取一个它已经获取的锁时,这个获取动作自动成功。 在基本用法上,synch...
2018-11-20
0
483
HashTable与ConcurrentHashMap的区别
HashTable比ConcurrentHashMap低效,它的实现基本就是给put、get、size等方法加了synchronized,所以并发操作的时候就需要去竞争一把锁,一个线程进行同步操作时,其它线程只能等待。一般不适用于高并***况下。 ConcurrentHashMap分为JDK1.8...
2018-11-20
0
368
浅析final关键字
final可以用来修饰类、方法、变量,分别有不同的意义。 修饰类:这个类不能被继承,所有的方法不能被重写,但是里面的成员变量并不是不可变得,如果需要让它们不可变则需要用final去修饰变量。 修饰方法:不可以被重写,但是子类可以去使用这个方法。 修饰变量:不可修改,可以用于保护只读数据,尤其是...
2018-11-06
0
296
双重校验锁 为啥要用volatile修饰
public class Single { private static volatile Single single; public static Single getSingle(){ if (single==null){ synchron...
2018-11-06
0
559
Vector、ArrayList、LinkedList的区别
Vector、ArrayList、LinkedList实现的都是List,即有序集合。 Vector,是Java早期的线程安全的动态数组。默认创建大小为10的Object数组,将capacityIncrement设置为0,在插入的时候,如果数组大小不够,当capacityInc...
2018-10-15
0
405
多态的底层原因
目录 静态分派 动态分派 动态分配的实现 多态的底层就是分派,分派分为静态分派(重载)与动态分派(重写)。 静态分派 发生在编译时期,因此静态分派的动作实际上不是由虚拟机来执行的,只能通过语言上的规则去理解和推断哪个是更加合适的版本,自动转型: char->int->lon...
2018-10-15
0
405
int与Integer的区别
int是Java的八个基本类型之一,基本类型都有:byte,char,short,int,float,double,boolean,long. Integer是int的包装类,它有一个int类型的字段存储数据,并且提供了基本操作。而且Integer里有缓存区间[-128-127]; 自动拆装箱其...
2018-09-29
0
449
JVM的分代年龄为什么是15
在一次面试中,被问到JVM的分代年龄问题,最后面试官问了一句,为什么它的分代年龄是15,而不是17或者16?当时有些太想当然,觉得这个和HashMap的负载因子是0.75类似,就答得是多次试验后得出来的一个平衡的数字。后来面试就凉凉了,接着回去查了一下资料,原来原因是在MarkWord里。 这...
2018-09-23
0
602
首页
上一页
1
2
下一页
末页