Java
PdKingLiu
其实我们每个成年人心中都有一个小孩子,有时悲观,有时胆怯,有时羞涩,但又不得不负重前行,给自己勇气和力量...
展开
-
Java虚拟机学习笔记(六)——GC机制补充(安全点、OopMap、触发条件、收集器)
文章目录GC触发条件OopMap安全点新生代收集器Serial(串行)收集器ParNew 收集器Parallel Scavenge 收集器老年代收集器Serial Old收集器Parallel Old收集器CMS收集器G1收集器 GC触发条件 Minor GC触发条件 当Eden区满时,触发Minor GC。 Full GC触发条件 调用System.gc时,系统建议执行Full GC,但是...原创 2019-11-08 00:43:01 · 965 阅读 · 0 评论 -
Java知识回顾(二)
文章目录泛型是什么泛型如何工作泛型中的限定通配符和非限定通配符编写泛型方法异常异常关键字异常的层次结构throw和throwsOutOfMemoryError注解注解分类反射动态代理 泛型是什么 集合存储对象并在使用先进行类型转换很不方便,泛型是为了那种情况的发生。他提供了编译器的类型安全,确保你只能把正确类型的对象放入集合中,避免了在运行时出现ClassCastException。 泛型如何工作...原创 2019-11-05 09:32:05 · 479 阅读 · 0 评论 -
Java知识回顾(一)
文章目录面向对象和面向过程的区别Java语言有哪些特点JVM JDK 和 JREJava和C++的区别字符型常量和字符串常量的区别构造器是否可以被override重载和重写的区别封装 继承 多态String StringBuffer StringBuilder自动装箱与拆箱接口和抽象类的区别== 与 equalshashCode 与 equals线程的基本状态final 关键字Java异常有些字段...原创 2019-11-04 22:37:39 · 473 阅读 · 0 评论 -
Java虚拟机学习笔记(五)——委派模型、ClassLoader
文章目录类加载器类加载器总结双亲委派模型双亲委派模型实现源码分析双亲委派模型的好处自定义类加载器补充:Android中的ClassLoaderAndroid中的dexBaseDexClassLoader 及其子类PathClassLoaderDexClassLoaderBaseDexClassLoader 类加载器 JVM 中内置了三个重要的 ClassLoader,除了 BootstrapCla...原创 2019-10-19 10:22:04 · 275 阅读 · 0 评论 -
Java虚拟机学习笔记(四)——类加载
文章目录类加载过程概述加载连接验证准备解析初始化 类加载过程 概述 Class 文件需要加载到虚拟机中之后才能运行和使用,那么虚拟机是如何加载这些 Class 文件呢? 系统加载 Class 类型的文件主要三步:加载 => 连接 => 初始化。连接过程又可分为三步:验证 => 准备 => 解析。 加载 类加载过程的第一步,主要完成下面3件事情: 通过全类名获取定义此类的...原创 2019-10-17 20:22:26 · 354 阅读 · 0 评论 -
Java——锁相关整理
文章目录悲观锁与乐观锁乐观锁常见的两种实现方式版本号机制CAS自旋锁synchronized对于synchronized 关键字的了解synchronized的使用synchronized底层原理通过代码块修饰方法synchronized和ReentrantLock 的区别volatileJava内存模型原子性、可见性和有序性 悲观锁与乐观锁 乐观锁对应于生活中乐观的人总是想着事情往好的方向发展...原创 2019-10-17 16:08:15 · 476 阅读 · 0 评论 -
Java集合常见问题整理
文章目录说说常见的集合有哪些吧?List、Set、Map三者的区别ArrayList和LinkedList的区别RandomAccess接口ArrayList 与 Vector 区别ArrayList扩容机制HashMap 和 Hashtable 的区别HashMap 和 HashSet区别==与equals的区别HashMap的底层实现HashMap 的长度为什么是2的幂次方多线程操作导致死循环...原创 2019-10-16 21:55:16 · 317 阅读 · 0 评论 -
LinkedList源码分析整理
文章目录概述基本数据增删改单向队列、双向队列、栈总结 概述 LinkedList是List的另一种实现,他的底层是基于双向链表实现的,因此它具有插入删除快,查询慢的特点,此外,对双向链表操作还可以实现队列和栈的功能。 基本数据 结点类结构 //结点内部类 private static class Node<E> { E item; //元素 Node&l...原创 2019-10-16 15:49:53 · 217 阅读 · 0 评论 -
ArrayList源码分析整理
文章目录概述属性构造方法add系列remove系列set系列get系列clear方法indexOf 方法lastIndexOf方法fail-fast事件总结 概述 ArrayList继承于AbstractList,并实现了Serializable,Cloneable。Iterable,Collection,List,RandomAccess这些接口。 Seriallizable ,序列化接口,支...原创 2019-10-16 14:45:05 · 226 阅读 · 0 评论 -
HashMap常见问题整理
文章目录一、HashMap实现原理你看过HashMap源码嘛,知道原理嘛?为什么用数组+链表?hash冲突你还知道哪些解决办法?我用LinkedList代替数组结构可以么?既然是可以的,为什么HashMap不用LinkedList,而选用数组?二、HashMap在什么条件下扩容HashMap在什么条件下扩容为什么扩容是2的次幂为什么为什么要先高16位异或低16位再取模运算三、hashmap的get...原创 2019-10-15 21:15:16 · 491 阅读 · 0 评论 -
HashMap源码分析整理
基本数据 JDK8的HashMap在内部实现上使用数组+链表+红黑树三种数据结构。 对于hash冲突,HashMap的解决是使用链地址法,将hash相同的记录放在同一个数组位置上,多个hash相同的记录被存储在一同链上。 链表节点 static class Node<K,V> implements Map.Entry<K,V> { final in...原创 2019-10-15 20:08:21 · 216 阅读 · 0 评论 -
Java虚拟机学习笔记(三)——GC机制
文章目录垃圾标记算法Java中的引用引用计数法跟搜索法Java对象在虚拟机中的声明周期垃圾收集算法标记——清除算法复制算法标记——压缩算法分代收集算法分代收集 垃圾标记算法 垃圾收集器,通常称为GC。 GC 主要做了两个工作,一个是内存的划分和分配,另一个是对垃圾的回收。 内存的划分依赖于GC设计,为了能够更快的进行垃圾回收。 GC是采用的分代垃圾回收算法。 Java中的引用 1.强引用 当新建一...原创 2019-10-12 23:28:47 · 298 阅读 · 0 评论 -
Java虚拟机学习笔记(二)——对象创建、对象内存分布、oop-klass
文章目录对象的创建对象的堆内存分布oop-klass模型 对象的创建 通常情况下,我们是通过new指令完成一个对象的创建的。 虚拟机在接受到一个new指令会做如下操作: 判断对象的类是否加载、链接、初始化 虚拟机在接收到一条new指令时,首先会检查这个指令的参数是否在常量池中定位到一个类的引用,并且检查这个符号引用代表的类是否被类加载器加载、链接和初始化。 为对象分配内存 类加载完成后,接...原创 2019-10-12 20:23:20 · 475 阅读 · 0 评论 -
Java虚拟机学习笔记(一)——class文件结构、类生命周期、内存分布
Java虚拟机结构 java虚拟机包括运行时数据区域、执行引擎、本地接口和本地方法库。 类加载系统不属于Java虚拟机结构。 class文件结构 Java文件编译后生成了class文件,这种二进制文件不依赖于硬件和操作系统。 Class文件格式包含了很多关键的信息,其中的u4 u2 表示的事进本数据类型。 u1: 1字节,无符号类型 u2: 2字节,无符号类型 u4: 4字节,无符号类型 u...原创 2019-10-10 22:06:42 · 346 阅读 · 0 评论 -
Eclipse汉化
Eclipse汉化 下载汉化包 Eclipse 汉化包下载 进入官方网站 找到 Babel Language Pack Zips 点击 Oxygen 找到和Eclipse版本相对应的汉化包下载,我的是 BabelLanguagePack-eclipse-zh_4.7.0.v20171231020002.zip 汉化 关闭Eclipse 打开汉化包,将plug...原创 2018-05-18 18:18:37 · 10465 阅读 · 3 评论