某某橙
某某橙
全部文章
分类
exercise(1)
Java(11)
数据库(1)
未归档(18)
练习(1)
网络(1)
归档
标签
去牛客网
登录
/
注册
某渣橙的博客
大佬们喷的轻点
全部文章
(共33篇)
HashTable与ConcurrentHashMap的区别
HashTable比ConcurrentHashMap低效,它的实现基本就是给put、get、size等方法加了synchronized,所以并发操作的时候就需要去竞争一把锁,一个线程进行同步操作时,其它线程只能等待。一般不适用于高并***况下。 ConcurrentHashMap分为JDK1.8...
2018-11-20
0
368
阻塞与非阻塞,同步与异步
Java的IO有三种:IO、NIO、AIO 第一种是Java刚开始就出现的IO即BIO(同步阻塞IO),我们一般常说的IO就是这种IO,这种IO相对来说比较简单,基于流模型,提供一种IO操作。交互方式是同步、阻塞,调用的顺序是线性顺序,这种IO有一个好处就是,代码简单,但是缺点就是IO的效率较低、...
2018-11-20
0
411
浅析Java线程池
在Java里,线程池的运用场景很多,几乎所有需要异步或者并发执行任务的程序都可以使用线程池。 目录 线程池的好处 线程池的工作流程 线程池的组成元素 向线程池提交任务 关闭线程池 Java自带的四种线程池 线程池的好处 降低资源消耗。通过重复利用已创建的线程降低了创建线程和...
2018-11-20
0
472
浅析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
浅解volatile
volatile是Java的关键字,可以被理解为轻量级的synchronized,在多线程并发中可以保证共享变量的可见性,每当有线程修改这个共享变量的时候,对其他的线程就是可见的。一般被volatile修饰的共享变量会认为这个变量是易变得。 它有三个特性:可见性、有序性、原子性。 可见性:对一个...
2018-11-01
0
370
HashTable、HashMap、TreeMap的区别
Map是集合框架的一部分(另一部分是Collection),以键值对的形式存储和操作数据的数据容器。 HashTable是Java早期基于Hash表的实现的类,本身就是同步,不论是key还是value都不支持null值,而且因为同步开销太大,现在基本不用这个容器了。 HashMa...
2018-10-16
0
508
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
首页
上一页
1
2
3
4
下一页
末页