Java
欧拉兔
vfrvwr
展开
-
Java序列化框架
Java默认的序列化机制效率很低、序列化后的码流也较大,所以涌现出了非常多的优秀的Java序列化框架,例如:hessian、protobuf、thrift、protostuff、kryo、msgpack、avro、fst等等。简介对比 优点 缺点 Kryo 速度快,序列化后体积小 跨语言支持较复杂 Hessian 默认支持跨语言 较慢 P...原创 2019-03-09 23:37:23 · 248 阅读 · 0 评论 -
Java并发编程:Java创建线程的三种方式
在日常开发工作中,多线程开发可以说是必备技能,好的程序员是一定要对线程这块有深入了解的,我是Java程序员,并且Java语言本身对于线程开发的支持是非常成熟的,所以今天我们就来入个门,学一下Java怎么创建线程。创建线程的三种方式Java创建线程主要有三种方式:1、继承Thread类2、实现Runnable接口3、使用Callable和Future创建线程下面分别讨论这三种...原创 2019-03-16 23:02:29 · 121 阅读 · 0 评论 -
Java 线程池Thread Pool
线程池用于多线程处理中,它可以根据系统的情况,可以有效控制线程执行的数量,优化运行效果。线程池做的工作主要是控制运行的线程的数量,处理过程中将任务放入队列,然后在线程创建后启动这些任务,如果线程数量超过了最大数量,超出数量的线程排队等候,等其它线程执行完毕,再从队列中取出任务来执行。线程池的3个优点:线程复用,不需要频繁的创建和销毁线程 控制最大并发数,提高系统资源利用率,同时避免过多...原创 2019-03-17 00:43:23 · 137 阅读 · 0 评论 -
JDK动态代理实现原理
JDK动态代理JDK动态代理是代理模式的一种实现方式,其只能代理接口。使用步骤1、 新建一个接口2、 为接口创建一个实现类3、 创建代理类实现java.lang.reflect.InvocationHandler接口4、 测试简单案例根据使用步骤:首先新建一个接口Subject/** * Subject * 抽象主题接口 * @author * @...原创 2019-04-11 14:46:47 · 149 阅读 · 0 评论 -
ArrayList,LinkedList,vector区别
ArrayList,LinkedList,Vector这三个类都实现了java.util.List接口,但它们有各自不同的特性,主要如下:1.同步性ArrayList,LinkedList都是线程不同步的,而Vector是线程同步的。所以如果不要求线程安全的话,可以使用ArrayList或LinkedList,可以节省为同步而耗费的开销。但在多线程的情况下,有时候就不得不使用Vecto...原创 2019-05-29 21:34:19 · 751 阅读 · 0 评论 -
HashMap和Hashtable的区别
HashMap是Hashtable的轻量级实现(非线程安全的实现),他们都完成了Map接口,主要区别在于HashMap允许空(null)键值(key),由于非线程安全,在只有一个线程访问的情况下,效率要高于Hashtable。HashMap允许将null作为一个entry的key或者value,而Hashtable不允许。HashMap把Hashtable的contains方法去掉...原创 2019-05-29 21:40:01 · 4461 阅读 · 0 评论