摘要: 从Java虚拟机的角度来讲,只存在两种不同的类加载器:一种是启动类加载器(Bootstrap ClassLoader),这个类加载器使用c++语言实现,是虚拟机自身的一部分;另一种就是所有其他的类加载器,这些加载器都是由Java语言实现,独立与虚拟机外部,并且全部都继承自java.lang.Clas 阅读全文
posted @ 2017-08-11 18:02 chump 阅读(229) 评论(0) 推荐(0) 编辑
摘要: 1、概述 虚拟机把描述类的数据从Class文件加载到内存,并对数据校验、转换解析和初始化,最终形成可以被虚拟机直接使用的Java类型,这就是虚拟机的类加载机制。 与那些在编译时需要进行连接工作的语言不通,在Java语言里,类型的加载、连接和初始化过程都是在程序运行期间完成的,这位Java应用程序提供 阅读全文
posted @ 2017-08-11 15:12 chump 阅读(161) 评论(0) 推荐(0) 编辑
摘要: Java时一门面向对象的编程语言,在Java程序运行过程中无时无刻都有对象被创建出来。那在虚拟机中对象如何而创建呢? 虚拟机遇到一条new指令时,将首先检查这个指令的参数能否子常量池中定位到一个类的符号引用,并且检查这个符号引用代表的类是否已被加载、解析和初始化过。如果没有,那就必须先执行相应地类加 阅读全文
posted @ 2017-08-11 10:29 chump 阅读(130) 评论(0) 推荐(0) 编辑
摘要: 1、程序计数器 程序计数器是一块较小的内存空间,可以看作是当前线程所执行的字节码的行号指示器。Java虚拟机的多线程是通过线程轮流切换并分配处理器执行时间的方式来实现的,在任何一个确定的时刻,一个处理器都只会执行一条线程中的指令。为了线程切换后能恢复到正确的执行位置,每条线程都需要有一个独立的程序计 阅读全文
posted @ 2017-08-11 09:56 chump 阅读(130) 评论(0) 推荐(0) 编辑
摘要: Java虚拟机规范中试图定义一种Java内存模型来屏蔽掉各种硬件和操作系统的内存访问差异,以实现让Java程序在各种平台下都能达到一致的访问效果。 Java内存模型的主要目标是定义程序中各个变量的访问规则,即在虚拟机中将变量存储到内存和从内存中取出变量这样的底层细节。 1、java内存模型:java 阅读全文
posted @ 2017-08-10 16:18 chump 阅读(126) 评论(0) 推荐(0) 编辑
摘要: 包含与LinkedList相关的一些算法问题 阅读全文
posted @ 2017-07-06 16:30 chump 阅读(304) 评论(0) 推荐(0) 编辑
摘要: 矩阵与其转置矩阵相乘 阅读全文
posted @ 2017-07-03 10:34 chump 阅读(4187) 评论(0) 推荐(0) 编辑
摘要: 1、算法思想:通过一趟排序将待排序记录分隔成独立的两部分,其中一部分的关键字均比另一部分的关键字小,则可分别对这两部分记录继续进行排序,从而达到排序目的。 2、代码实现: 阅读全文
posted @ 2017-06-13 22:18 chump 阅读(158) 评论(0) 推荐(0) 编辑
摘要: (1)概述: 最基本、发展历史最悠久的收集器。是一个单线程的收集器,在进行垃圾收集时,必须暂停其他所有的工作线程(Stop The World),直到它收集结束。 (2)优点:简单而高效 2、ParNew收集器 (1)概述:Serial收集器的多线程版本,使用多线程进行垃圾收集。除多线程收集之外,其 阅读全文
posted @ 2017-06-10 19:45 chump 阅读(189) 评论(0) 推荐(0) 编辑
摘要: 一、概述 java内存运行时区域的各个部分,其中程序计数器、虚拟机栈、本地方法栈3个区域随线程而生,随线程而灭;栈中的栈帧随着方法的进入和退出而有条不紊地执行着出栈和入栈操作。 二、对象死亡判定 1、引用计数算法 (1)判定算法:给对象中添加一个引用计数器,每当一个地方引用它时,计数器值就加1;当引 阅读全文
posted @ 2017-06-10 19:43 chump 阅读(200) 评论(0) 推荐(0) 编辑