评:
最近查看JDK源码时,无意间发现几个类在陌生包里:com.sun.*、sun.*、org.*,google了一把总结了下以备他人搜索,如内容有误欢迎指正!
Jre库包含的jar文件(jdk1.6):resources.jar、rt.jar、jsse.jar、jce.jar、charsets.jar、dnsns.jar、localedata.jar等共10个jar文件,其中resource
原创
2023-04-20 13:52:37
140阅读
最近查看JDK源码时,无意间发现几个类在陌生包里:com.sun.*、sun.*、org.*,google了一把总结了下以备他人搜索,如内容有误欢迎指正!
Jre库包含的jar文件(jdk1.6):resources.jar、rt.jar、jsse.jar、jce.jar、charsets.jar、dnsns.jar、localedata.jar等共10个jar文件,其中resource.j
转载
2016-11-16 10:37:00
148阅读
【JDK】Linux安装源码包JDK完整步骤1、检查一下系统中的jdk版本[root@loca
原创
2022-11-02 10:10:01
221阅读
一、简介volatile是Java提供的一种轻量级的同步机制。Java 语言包含两种内在的同步机制:同步块(或方法)和 volatile 变量,相比于synchronized(synchronized通常称为重量级锁),volatile更轻量级,因为它不会引起线程上下文的切换和调度。但是volatile 变量的同步性较差(有时它更简单并且开销更低),而且其使用也更容易出错。二、并发编程的3个基本概
原创
2021-11-27 17:03:40
116阅读
开启正文之前,先说一下源码剖析这一系列,就以“死磕到底”的精神贯彻始终,JDK--》JRE--》JVM(以openJDK代替)
最近想看看JDK8源码,但JDK中JVM(安装在本地C:\Program Files\Java\jdk1.8.0_121\jre\bin\server下jvm.dll)本身并不开源,只能找来openJDK来看(说是和JDK相似度很高)。源码包下载飞机票:http://d
转载
2023-05-24 18:50:13
101阅读
https://baijiahao.baidu.com/s?id=1617089947709260129&wfr=spider&for=pchttps://www.cnblogs.com/zerotomax/p/8687425.htmlhttps://www.cnblogs.com/yangming1996/p/8031199.htmlhttps://www.cnblogs.com
原创
2021-11-24 21:07:27
240阅读
3.线程池问题 通过上述的比较,可以通过join方法实现CountDownLatch的按顺序执行线程的功能,但是CountDownLatch有join实现不了的情况,比如使用线程池时,线程池的线程不能直接使用,所以只能使用CountDownLatch实现按顺序执行线程,而无法使用join()方法。具体代码如下: Java并发编程笔记之 CountDownLatch闭锁的源码分析JUC
原创
2021-11-25 22:29:15
172阅读
CyclicBarrier 例子: /** * 实现功能是将goodsReqDtoList作为calcEstimateAmount方法的入参,然后将最终的结果放入map中进行返回 * 1.根据 goodsReqDtoList 的长度,判断我们要开多少个线程 * 2.将每个线程获得的结果放入 map 中,等到所有线程都计算完,将结果进行返回 * @param g
原创
2021-11-25 22:46:46
172阅读
安装的jdk目录下自带源码,但是源码不包含sun包。以下提供包含sun包的源码下载地址:openjdk官网下载:://hg.openjdk.java.net/jdk8u/jdk8u/jdk/file/6bfaecb8ff77/src/share/classes/百度网盘下载:链接:https://pan.baidu.com/s/1hM5Dsp2lPLI-9LW0UMV2vQ提取码...
原创
2022-04-06 10:12:19
6492阅读
安装的jdk目录下自带源码,但是源码不包含sun包。
以下提供包含sun包的源码下载地址:
openjdk官网下载:http://hg.openjdk.java.net/jdk8u/jdk8u/jdk/file/6bfaecb8ff77/src/share/classes/
百度网盘下载:链接:https://pan.baidu.com/s/1hM5Dsp2lPLI-9LW0UMV2vQ 提取码
原创
2021-07-12 17:59:31
2761阅读
1. 原理解析利用 ==CAS + synchronized== 来保证并发更新的安全底层使用==数组+链表+红黑树==来实现1.1. 重要成员变量table:默认为null,初始化发生在第一次插入操作,默认大小为16的数组,用来存储Node节点数据,扩容时大小总是2的幂次方。nextTable:默认为null,扩容时新生成的数组,其大小为原数组的两倍。sizeCtl :默认为0,用来控制tabl
原创
2021-11-27 18:34:05
186阅读
抽象类AbstractList实现List接口,具体为vector,SubList,ArrayList,LinkedList,Stack,RandomAccessSubList1、Vector 类几乎对每一个独立操作(除 Iterator 相关方法)都实现了同步,即在每个方法上几乎都增加了 synchronized 关键字来实现线程间的同步。可见 Vector 的扩容量是由 oldCapacity
原创
2021-11-21 18:00:46
111阅读
前言经过本系列的上半部分 JDK1.8 AbstractQueuedSynchronizer 的实现分析(上)的解读,相信很多读者已经对 AbstractQueuedSynchronizer(下文简称 AQS) 的独占功能了然于胸, 那么这次我们通过对另一个工具类:CountDownLatch 的分析来解读 AQS 的另外一个功能:共享功能。AQS 共享功能的实现在开始解读 AQS 的共享功能前,
原创
2021-11-23 23:38:06
191阅读
Java 中的 FutureTask 作为可异步执行任务并可获取执行结果而被大家所熟知。通常可以使用 future.get() 来获取线程的执行结果,在线程执行结束之前,get 方法会一直阻塞状态,直到 call() 返回,其优点是使用线程异步执行任务的情况下还可以获取到线程的执行结果,但是 FutureTask 的以上功能却是依靠通过一个叫 AbstractQueuedSynchronizer
原创
2021-11-23 23:08:13
212阅读
HashSet:和前面介绍的大多数集合一样,HashSet 也实现了 Cloneable 接口和 Serializable 接口,分别用来支持克隆以及支持序列化。还实现了 Set 接口,该接口定义了 Set 集合类型的一套规范。①:实现了Serializable接口,表明它支持序列化。②:实现了Cloneable接口,表明它支持克隆,可以调用超类的clone()方法进行浅拷贝。③继承了Abst
原创
2021-11-21 18:04:16
178阅读
概述ArrayDeque是一个数组实现的双端队列,它不是线程安全的,并且不允许操作null值,把他当做栈使用时,要比Stack(Stack是线程安全的,使用synchronized修饰方法)更高效,当队列使用时,要比LinkedList(使用链表实现)更高效。结构在看ArrayDeque的源码前,先要了解循环数组。++++++++++++++++++++++++++++++++++++++++++
原创
2021-11-21 18:34:52
176阅读
下载jdk1.8.0,安装http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html使用eclipse查看源码。点 “window”-> "Preferences" -> "Java" -> "Installed JRES";在右边框里会列出现在的jre环境,如果没有想要看
原创
2016-03-15 13:48:29
1270阅读
点赞
1、先说一下源码解析的过程:JDK-->JRE-->JVM(以openJDK代替)注意:这里要了解jdk和jre和jvm他们分别是什么?以及他们的关系才可以继续。这里先上一章从网上下载的关系图方便理解2、笔者本地的jdk是oraclejdk,jvm所在位置就是安装的jdk。jdk下jre下bin下server下的jvm.dll。也就是F:\Java\jdk\jdk1.7.0_60\jr
转载
2023-07-20 23:44:05
196阅读
1. 前言 之前断断续续读过一部分 JDK 常用类的源码,这里想把过程中的一些心得和方法记录下来,如果能帮到需要的小伙伴就再好不过了!本文主要分享一下我的阅读工具和阅读顺序。PS: 由于当前主流使用的 JDK 版本仍是 1.8,因此源码阅读主要是 1.8 版本,有些地方可以参考 1.7(面试可能问到)。2. 工具 工欲善其事,必先利其器。需要的工具不多,IDE + Google 翻译足够了。使用
转载
2024-01-24 12:57:05
59阅读
概述 CyclicBarrier 是并发包中的一个工具类,它的典型应用场景为 “屏障
原创
2021-08-05 15:20:09
196阅读