
JDK源码、java底层
文章平均质量分 95
JDK源码个人剖析归类;
JVM积累总结;
wa_c777
知行合一
展开
-
Java 并发编程(三):synchronized、volatile 详解
https://www.jianshu.com/p/d53bf830fa091. synchronized简介在学习知识前,我们先来看一个现象:public class SynchronizedDemo implements Runnable { private static int count = 0; public static void main(...原创 2019-05-25 16:02:34 · 234 阅读 · 0 评论 -
LinkedList详解
前言:咦~之前做的笔记实在是找不到了,那就重新梳理一下吧~关于LinkedList的基本内容(get、add、remove)以及与ArrayList的对比,在:ArrayList、LinkedList比较,ArrayList详解 - 总结这里对LinkedList做进一步的补充;LinkedList 继承结构:LinkedList 继承自 AbstractSequentialList 接口,同时了还实现了 Deque, Queue 接口。LinkedList 双向链..原创 2021-02-13 11:19:52 · 1313 阅读 · 0 评论 -
Java8新特性 - 个人总结
将之前做的java8新特性的笔记搬运到博客上来。目录:一、JDK8数据结构上的变化:【关于HashMap、LinkedHashMap、TreeMap见自己写的博客:】https://blog.youkuaiyun.com/ScorpC/article/details/902884671、HashMap: ----------------------------------------------------------------- 1.8之前: 数组+链表,默...原创 2021-02-12 17:23:01 · 370 阅读 · 1 评论 -
Java面试个人总结:线程(一)
总结来源:1.https://blog.youkuaiyun.com/XingXing_Java/article/details/919554412.3.... ...1.交替打印奇偶数:public class 交替打印奇偶数 { static class SoulutionTask implements Runnable{ static int value =...原创 2019-06-15 10:38:08 · 136 阅读 · 0 评论 -
Java NIO 详解
文章目录前言 9.AIO 8.NIO源码分析 7.选择器 6.反应堆 5.通道Channel 4.缓冲区Buffer 3.NIO简介 2.BIO与NIO对比 1.阻塞与同步 前言该文是对NIO知识的归纳与整理1.阻塞与同步1)阻塞Block和非租塞 NonBlock;阻塞和非阻塞是进程在访问数据的时候,数据是否准备就绪的一种...原创 2019-06-05 11:59:30 · 204 阅读 · 0 评论 -
深入理解线程池、及线程池的使用
前言多线程的异步执行方式,虽然能够最大限度发挥多核计算机的计算能力,但是如果不加控制,反而会对系统造成负担。线程本身也要占用内存空间,大量的线程会占用内存资源并且可能会导致Out of Memory。即便没有这样的情况,大量的线程回收也会给GC带来很大的压力。为了避免重复的创建线程,线程池的出现可以让线程进行复用。通俗点讲,当有工作来,就会向线程池拿一个线程,当工作完成后,并不是直接关闭线...原创 2019-06-03 21:14:07 · 702 阅读 · 0 评论 -
LInkedHashMap 和 HashMap 的区别
Map集合:总共有五个子接口:Bindings,public interface Bindingsextends Map<String,Object> 表示key只能为String的Map;ConcurrentMap<K,V>, ConcurrentHashMap是它的一个子类;ConcurrentNav...原创 2019-05-20 17:42:54 · 2103 阅读 · 0 评论 -
详谈:HashMap、HashTable、concurrentHashMap
转载自:作者:Java程序员Ashin来源:优快云https://blog.youkuaiyun.com/Ashin719/article/details/90244212,写的非常好,尊重原创!原文:形象化面试过程:现在是晚上11点了,学校屠猪馆的自习室因为太晚要关闭了。勤奋且疲惫的小鲁班也从屠猪馆出来了,正准备回宿舍洗洗睡,由于自习室位置比较偏僻所以是接收不到手机...原创 2019-05-17 16:13:15 · 240 阅读 · 1 评论 -
浅谈 java 编译、加载、执行
参考:https://www.cnblogs.com/fefjay/p/6305499.html一. java的编译过程(以Test.java文件和Test.class文件为例)编译过程四由 Test.java源码文件转为 Test.class二进制字节码文件的过程。我们编写好的源代码,就是Test.java文件。使用 javac Test.java 就可以编译 Test....原创 2019-05-16 19:03:01 · 404 阅读 · 0 评论 -
Java 泛型
浏览博客,发现一篇写泛型不错的博客,转载学习转载自:优快云 VieLie :https://blog.youkuaiyun.com/s10461/article/details/53941091尊重原创!1. 概述泛型在java中有很重要的地位,在面向对象编程及各种设计模式中有非常广泛的应用。什么是泛型?为什么要使用泛型?泛型,即“参数化类型”。一提到参数,最熟悉的就是定义方法...原创 2019-05-11 16:13:34 · 120 阅读 · 0 评论 -
Java 句柄 引用
一. 在学习什么是句柄之前我们先学习虚拟机的对对象的访问方式【1】句柄访问方式:使用句柄访问对象,会在堆中开辟一块内存作为句柄池,句柄中储存了对象实例数据(属性值结构体)的内存地址,访问类型数据的内存地址(类信息,方法类型信息),对象实例数据一般也在heap中开辟,类型数据一般储存在方法区中。使用句柄访问的好处是句柄中储存的是稳定的对象地址,当对象被移动时候,只需要更新句柄中的对象实例部分...原创 2019-04-25 20:28:24 · 435 阅读 · 0 评论 -
java中的引用、对象(实例)、对象赋值
例如:A a1 = new A();它代表A是类,a1是引用,a1不是对象,new A()才是对象,a1引用指向new A()这个对象。在JAVA里,“=”不能被看成是一个赋值语句,它不是在把一个对象赋给另外一个对象,它的执行过程实质上是将右边对象的地址传给了左边的引用,使得左边的引用指向了右边的对象。JAVA表面上看起来没有指针,但它的引用其实质就是一个指针,引用里面存放的并不是对象...原创 2019-04-24 09:54:59 · 272 阅读 · 0 评论 -
javac命令、java命令
javac命令:javac命令用来编译java文件,例如编写一个Test.java文件,使用javac Test.java可以执行编译操作,将生成一个Test.class文件;java命令:java命令可以执行生成的class文件,使用java Test可以执行编写的代码。...原创 2019-04-23 14:53:30 · 682 阅读 · 0 评论 -
java monitor
【个人笔记搬运到博客系列】一、monitor概念在操作系统中,存在着semaphore和mutex,为了更好的编写并发程序,在mutex和semaphore基础上,提出了更高层次的同步原语,实际上,monitor属于编程语言的范畴,具体的实现模式,不同的编程语言都有可能不一样,C语言不支持monitor,而java支持monitor机制。一个重要特点是,在同一时间,只有一个线程/进程能进入monitor所定义的临界区,这使得monitor能够实现互斥的效果。无法进入monitor的临界区的进程/原创 2020-11-02 15:05:01 · 2100 阅读 · 0 评论 -
java对象结构
java对象结构分为三部分:对象头、对象体、对齐字节;三个部分的作用:1、对象头中的Mark Word(标记字)主要用来表示对象的线程锁状态,另外还可以用来配合GC、存放该对象的hashCode;2、Klass Word是一个指向方法区中Class信息的指针,意味着该对象可随时知道自己是哪个Class的实例;3、数组长度也是占用64位(8字节)的空间,这是可选的,只有当本对象是一个数组对象时才会有这个部分;4、对象体是用于保存对象属性和值的主体部分,占用内存空间取决于对象...原创 2020-11-02 10:09:29 · 711 阅读 · 0 评论 -
synchronized关键字-个人理解分析
【个人笔记搬运到博客系列】1、synchronized作用:synchronized关键字解决的是:多个线程之间访问资源的同步性,synchronized关键字可以保证被它修饰的方法或者代码块在任意时刻只能有一个线程执行。2、synchronized作用范围:同步普通方法,锁的是当前对象; 同步静态方法,锁的是当前 Class 对象; 同步块,锁的是 () 中的对象。3、synchronized实现原理:首先,synchronized是JVM层面实现的,不是JDK层面哦(1.6原创 2020-11-02 09:14:20 · 488 阅读 · 0 评论 -
java.util.concurrent.Executor、ExecutorService、ThreadPoolExecutor、Executors,ThreadFactory
一、java.util.concurrent.Executor一个对象执行提交 Runnable任务;Executor通常不是显式创建线程; /** * Executes the given command at some time in the future. The command may execute in a new thread, in a pooled thread, or in the calling * thread, at the discretion o...原创 2020-10-23 16:01:34 · 598 阅读 · 0 评论 -
java.lang.Object
java.lang.ObjectObject类是类层次结构的根。每个类都有 Object作为超类。所有对象,包括数组,实现这个类的方法。protectedObjectclone()创建并返回此对象的副本。booleanequals(Objectobj)指示是否有其他对象“等于”这一个。protected voidfinalize()当垃圾收集确定没有对对象的引用时,由对象上的垃圾收集器调用。类<?>getClass() 返回该Object运行时类。...原创 2020-10-23 11:29:27 · 166 阅读 · 0 评论 -
java.lang.Runnable
【个人笔记搬运到博客系列】ver:jdk1.8@FunctionalInterfacepublic interface Runnable { /** * When an object implementing interface <code>Runnable</code> is used * to create a thread, starting the thread causes the object's * <code&g原创 2020-10-23 11:17:28 · 281 阅读 · 0 评论 -
java.lang.Thread
【个人笔记搬运到博客系列】java.lang.Thread源码剖析:ver:jdk1.8implements Runnable /* Make sure registerNatives is the first thing <clinit> does. */ private static native void registerNatives(); static { registerNatives(); } private vo原创 2020-10-26 09:59:30 · 272 阅读 · 0 评论