上一页 1 2 3 4 5 6 ··· 9 下一页
摘要: 在学习类加载机制之前,我们先了解一下类加载器,因为类加载器是类加载机制的前提。类加载器的主要任务就是:根据一个类的全限定名,将该类的字节码文件加载进JVM中,然后转换为一个对应类的Java.lang.Class对象实例。程序员也可以自定义类加载器,一般的将派生于抽象类ClassLoader的类加载器 阅读全文
posted @ 2019-08-26 08:23 德鲁大叔817 阅读(135) 评论(0) 推荐(0) 编辑
摘要: 当我们了解完垃圾回收算法后,我们正式的一起来的JVM到自动内存管理工具的实现 即GC(即可完成内存分配,也可进行垃圾回收)。我们会了解到一些常见的GC版本,比如:Serial/Serial Old收集器,Parallel/Parallel Old收集器,CMS(Concurrent Mark Swe 阅读全文
posted @ 2019-08-24 00:28 德鲁大叔817 阅读(171) 评论(0) 推荐(0) 编辑
摘要: 一:String: String类不可变的原因:底层是由private final char [ ]修饰的字符数组,这也决定了String类不可被继承(final修饰); 1.构造方法:由于在内存中存放的方式不同(常量池,堆),String可以使用常量进行赋值。 2.常用方法: 二,StringBu 阅读全文
posted @ 2019-08-23 23:36 德鲁大叔817 阅读(130) 评论(0) 推荐(0) 编辑
摘要: Collection接口:包含list 和set两个子接口(注意map不是Collection下的接口) List:有序可重复 ArrayList,LinkedList,Vector 1.ArrayList: 构造方法: 无参构造默认初始值大小为10,且每次扩容的大小为(原始容量*1.5+1); 遍 阅读全文
posted @ 2019-08-23 21:29 德鲁大叔817 阅读(303) 评论(0) 推荐(0) 编辑
摘要: 本文主要了解三种常用的垃圾收集算法: 1.标记-清除算法(Mark Sweep): 此过程分为两个步骤:垃圾标记,垃圾清除。该算法相比于其他两个算法:执行效率低下,还容易产生内存碎片。 但是由于老年代的生命周期比较长,使用复制清除算法操作的对象会比较多,所以老年代会使用标记清除算法。但是由于内存空间 阅读全文
posted @ 2019-08-22 23:42 德鲁大叔817 阅读(657) 评论(0) 推荐(0) 编辑
摘要: 1.GC的作用: GC(Garbage Collection)就是JVM中自动内存管理机制的具体实现。GC包括两大功能:内存的分配,垃圾的回收。内存的分配上一文章中已经介绍过,因为对象生命周期的差异性,故采使用分代垃圾回收策略。 那么如何评价一款GC的性能优劣呢???主要有如下的几个标准 2.垃圾的 阅读全文
posted @ 2019-08-22 23:25 德鲁大叔817 阅读(437) 评论(0) 推荐(0) 编辑
摘要: 之前有提到过,为了提高GC的回收效率,对象实例的内存分配不一定必须存在于堆区中,还可采用堆外分配。而最常见的堆外分配就是采用逃逸分析筛选出未发生逃逸的对象,在栈帧中分配内存空间。 逃逸分析:就是分析出对象的作用域。当一个对象在方法体内声明后,该对象的引用被其他外部所引用时该对象就发生了逃逸,反之就会 阅读全文
posted @ 2019-08-22 22:48 德鲁大叔817 阅读(615) 评论(0) 推荐(0) 编辑
摘要: 1.JVM的三种引用类型: 之前介绍过,为了提高GC的执行效率Java的实例对象也可以创建在堆区之外,但是绝大多数的实例对象还是创建在了堆区中。在JVM中包含三种引用类型即:类类型(class type),数组类型(array type),接口类型(interface type),这些引用类型的对象 阅读全文
posted @ 2019-08-22 00:17 德鲁大叔817 阅读(306) 评论(0) 推荐(0) 编辑
摘要: 前言:在学习Java第一课时,老师就讲到:Java不同于C/C++的手动内存分配与回收。原来这都得益于JVM的内存自动管理机制,但是在这背后又暗藏什么玄机呢???本人从图书馆借来了《Java虚拟机精讲》来一探究竟。 一.JVM的内存模型: 如下图所示可以分为5个模块:堆,栈,本地方法栈,PC寄存器, 阅读全文
posted @ 2019-08-21 22:15 德鲁大叔817 阅读(164) 评论(0) 推荐(0) 编辑
摘要: 1.JSON: 1.1基本概念: JSON(JavaScript Object Nation:JS对象标记)是一种数据交换格式,JS中的数据类型都可以采用JSON表示。 JS中的数据类型: 对象采用 属性名:属性值 形式的键值对; 数据之间采用逗号隔开; 数组采用方括号表示; 对象采用花括号表示;J 阅读全文
posted @ 2019-08-13 01:07 德鲁大叔817 阅读(168) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 ··· 9 下一页