源码阅读
specialApe
大咖王子,爱写博客爱阅读爱分享
展开
-
数组和集合的初始化的方式!
/** * // List集合初始化的几种方式 */ public static void listInit(){// number one final ArrayList<Integer> integers = new ArrayList<>(); integers.add(1); integers.add(2); integers.add(23); ...原创 2021-10-22 16:30:06 · 290 阅读 · 0 评论 -
开源协议的理解!
参考来源:黑马的谷粒商城:原创 2021-08-09 15:49:30 · 87 阅读 · 0 评论 -
Java main函数入口有什么,可以得到什么启发?
首先,main方法是JVM(java虚拟机)自动调用,JVM调用main方法的位置自然不会在某个类中、或某个包中,因此只有当main方法在公有级别上时,才对JVM可见,所以mian方法需要public修饰,同理,main方法所在的类也需要public修饰符。 其次,由于main方法是所有程序的入口,也就是main被调用时没有任何对象创建,不通过对象调用某一方法,只有将该方法定义为静态方法,所以main方法是一个静态方法,既需要static修饰。 最后,JVM对于ja...原创 2021-07-19 22:49:47 · 128 阅读 · 0 评论 -
ConcurrentHashMap和HashMap
下面是从jdk1.8的源码中的截图,可以得出ConcurrentHashMap是基于ReentrantLock 加上synchronized实现的:这也是区别于hashtables的单纯的synchronized效率更高的原因!那么什么是AQS请参考下面的链接:java并发编程框架AQS源码resize的解决方法就是其中之一:cas同时解决了hashmap线程安全问题:产生循环链表的问题,那么循环链表怎么产生的呢?多线程同时put时,如果同时调用了resize...原创 2021-07-15 23:28:40 · 110 阅读 · 2 评论