2020年5月11日

synchronized和Reentrantlock的区别

摘要: 1、Synchronized是jvm层面的锁是由jvm实现的而ReentrantLock是Api层面的锁它需要lock()和unlock()方法来获得锁和释放锁。 2、ReentrantLock获取锁可等待中断、可作为公平锁和非公平锁而Synchronized只能阻塞的等待获取锁、只能为非公平锁。 阅读全文

posted @ 2020-05-11 23:00 会飞的小杰 阅读(279) 评论(0) 推荐(0)

简单记录一些ArrayList和Vector和CopyOnWriteArrayList的区别

摘要: 1、两个都是基于一个Object的数组来实现的,初始化默认值都是10,CopyOnWriteArrayList默认长度为0。 2、最大的区别就是ArrayList是线程不安全的而Vector是线程安全的,同事CopyOnWriteArrayList是兼顾了并发的线程安全的。 3、Vector扩容每次 阅读全文

posted @ 2020-05-11 18:33 会飞的小杰 阅读(504) 评论(0) 推荐(0)

2020年5月10日

ConcurrentHashMap面试问题

摘要: 1、JDK1.7中ConcurrentHashMap是通过分段锁+数组+链表来实现的,在ConcurrentHashMap中保存一个SegMent数组,Segment是继承ReentrantLock的可重入锁,也就是说对于每个Segment的操作可以通过加锁解锁的方式来保证线程的安全性。 2、JDK 阅读全文

posted @ 2020-05-10 18:58 会飞的小杰 阅读(1455) 评论(0) 推荐(0)

HashMap相关的面试问题总结

摘要: 1、HashMap是基于hash原理,通过PUT或GET来存储和读取Key、Value键值对的,当需要PUT一个键值对时,通过计算KEY的hashcode找到该键值对所在的bucket中的位置同时基于哈希碰撞的时候将键值对存储在bucket中的链表或者红黑树中。 2、在put元素的时候,如果产生ha 阅读全文

posted @ 2020-05-10 15:39 会飞的小杰 阅读(270) 评论(0) 推荐(0)

2019年9月22日

java多线程---创建线程的几种方式

摘要: 创建线程的几种方式 在并发编程中,创建线程是我们经常会做的事情,那么一般来说,创建线程有4种方式: 1、继承Thread类。 2、实现Runnable接口。 3、实现Callable接口,结合FutureTask来使用。 4、利用线程池的方式来实现。 继承Thread创建线程 由上述例子可以看出,调 阅读全文

posted @ 2019-09-22 20:50 会飞的小杰 阅读(211) 评论(0) 推荐(0)

2019年9月19日

java多线程---进程和线程

摘要: 进程和线程 什么是进程 进程是操作系统运行的基本单元,进程就是一段程序的执行过程,我们打开电脑的任务管理器,可以看到很多程序正在执行,这些程序都是进程,腾讯QQ的执行时一个进程、微信的执行也是一个进程等等。 进程是操作系统分配资源和调度的独立单位,它是程序执行的一个实例,腾讯QQ不是一个进程,腾讯Q 阅读全文

posted @ 2019-09-19 23:49 会飞的小杰 阅读(153) 评论(0) 推荐(0)

2019年9月17日

java对象表示方法---Gson实现对象Json化

摘要: Gson 上一篇博客讲到了java的序列化,jdk自带的序列化有如下优缺点: 1、java序列化使用的方法都是jdk自带的,不需要引入第三方jar包即可使用。 2、java序列化生成的字节数组不能够跨平台使用,序列化之后的数据只能使用java语言进行反序列化,使用面窄。 3、java自带的序列化方式 阅读全文

posted @ 2019-09-17 02:12 会飞的小杰 阅读(722) 评论(0) 推荐(0)

2019年9月8日

java序列化

摘要: java序列化 为什么要使用序列化 我们在java内存中的对象是无法直接进行网络通信或者将其持久化的,因为对象时无法进行网络传输或者IO通信的,我们必须在使用它之前将其转换成某种可传输的格式,那么就是序列化了。序列化传输之后要将其转化为可使用的对象,就是反序列化的过程了。所以序列化就是将一个对象转化 阅读全文

posted @ 2019-09-08 02:33 会飞的小杰 阅读(128) 评论(0) 推荐(0)

2019年9月3日

Java反射

摘要: Java反射 概念 java反射指的是,在程序运行过程中,程序可以动态地获取任何一个类有哪些方法和属性,对于一个对象可以获取它的属性和方法进行调用,我们把这种动态地获取类的属性和方法的过程叫做反射机制。 反射的实现方法 反射一共有三种实现方式:1、通过Class.forName()方法;2、通过ge 阅读全文

posted @ 2019-09-03 22:48 会飞的小杰 阅读(157) 评论(0) 推荐(0)

2019年8月14日

java设计模式--模板方法模式

摘要: 模板方法模式 模板方法模式是设计模式是类的行为模式,意图定义一个算法的骨架,而将一些不通用的步骤延迟到子类中,模板方法模式使得子类可以不重新定义一个算法的整体框架而改变某些步骤的实现。例如,我们将钱存在银行中,分为定期存储和活期存储,两种存储方式的计算规则类似,但是仅仅是计算方式不同而已,这样我就不 阅读全文

posted @ 2019-08-14 00:57 会飞的小杰 阅读(115) 评论(0) 推荐(0)

导航