摘要: 【概述】 阅读全文
posted @ 2019-06-08 06:38 米突小搞羊 阅读(127) 评论(0) 推荐(0) 编辑
摘要: 【概述】 如果说收集算法是内存回收的方法论,那么垃圾收集器就是内存回收的具体实现。Java 虚拟机规范中对垃圾收集器应该如何实现没有任何规定,因此不同的厂商、不同版本的虚拟机所提供的垃圾处理器都可能会有很大差别,并且一般都会提供参数供用户根据自己的应用特点和要求组合出各个年代所使用的收集器。下图为 阅读全文
posted @ 2019-06-08 06:37 米突小搞羊 阅读(182) 评论(0) 推荐(0) 编辑
摘要: 【概述】 常见的垃圾回收算法有:标记-清除算法、复制算法、标记-整理算法、分代收集算法。 【标记-清除算法】 标记-清除算法是最基础的收集算法,如同它的名字一样,算法分为 “标记” 和 “清除” 两个阶段:首先标记出所有需要回收的对象,在标记完成之后统一回收所有被标记的对象,这里的标记采用的是 “可 阅读全文
posted @ 2019-06-08 06:36 米突小搞羊 阅读(154) 评论(0) 推荐(0) 编辑
摘要: 【概述】 在堆里面存放着 Java 世界中几乎所有的对象实例,垃圾收集器在对堆进行回收前,第一件事情就是要确定这些对象之中哪些还 “存活” 着,哪些已经 “死去”(即不可能再被任何途径使用的对象)。 【引用计数算法(Reference Counting)】 算法逻辑是这样的:给对象中添加一个引用计数 阅读全文
posted @ 2019-06-08 06:34 米突小搞羊 阅读(277) 评论(0) 推荐(0) 编辑
摘要: 【概述】 Java 技术体系中所提倡的自动内存管理最终可以归结为自动化地解决两个问题:给对象分配内存以及回收分配给对象的内存。 对象的内存分配,往大方向讲,就是在堆上分配,对象主要分配在新生代的 Eden 区上,如果启动了本地线程分配缓存(使用 ThreadLocal 类),则将线程优先在 TLAB 阅读全文
posted @ 2019-06-08 02:57 米突小搞羊 阅读(170) 评论(0) 推荐(0) 编辑
摘要: 【概述】 虚拟机设计团队把类加载阶段中的 “通过一个类的全限定名来获取描述此类的二进制字节流” 这个动作放到 Java 虚拟机外部去实现,以便让应用程序自己决定如何去获取所需要的类。实现这个动作的代码模块称为 “类加载器”。 类加载器可以说是 Java 语言的一项创新,也是 Java 语言流行的原因 阅读全文
posted @ 2019-06-06 13:32 米突小搞羊 阅读(153) 评论(0) 推荐(0) 编辑
摘要: 【概述】 虚拟机把描述类的数据从 Class 文件加载到内存,并对数据进行校验、转换解析和初始化,最终形成可以被虚拟机直接使用的 Java 类型,这就是虚拟机的类加载机制。 与那些在编译时需要进行连接工作的语言不同,在 Java 语言里面,类型的加载、连接和初始化过程都是在程序运行期间完成的,这种策 阅读全文
posted @ 2019-06-05 17:02 米突小搞羊 阅读(140) 评论(0) 推荐(0) 编辑
摘要: 【概述】 在这篇笔记中,需要描述虚拟机中的内存是如何划分的,哪部分区域、什么样的代码和操作可能导致内存溢出异常。虽然 Java 有垃圾处理机制,但是如果生产环境在出现内存溢出异常时,由于开发人员不熟悉 Java 垃圾处理机制,导致无法定位和解决问题,则可能引起较为严重的生产问题。在后续的学习中,将学 阅读全文
posted @ 2019-06-04 22:25 米突小搞羊 阅读(141) 评论(0) 推荐(0) 编辑
摘要: 【创建型模式】(5种) 创建型模式,就是创建对象的模式,抽象了实例化的过程。它帮助一个系统独立于如何创建、组合和表示它的那些对象。创建型模式关注的是对象的创建,将创建的过程进行了抽象,也可以理解为将创建对象的过程进行了封装,作为客户程序仅仅需要去使用对象,而不再关心创建对象的过程。 工厂及工厂方法模 阅读全文
posted @ 2019-06-04 09:41 米突小搞羊 阅读(360) 评论(0) 推荐(0) 编辑
摘要: 【建模】 建模就是建立模型,就是为了理解事物而对事物做出的一种抽象。建立系统模型的过程,又称模描述型化。建模是研究系统的重要手段和前提。凡是用模型描述系统的因果关系或相互关系的过程,都属于建模。因描述的关系各异,所以实现这一过程的手段和方法也是多种多样的。可以通过对系统本身运动规律的分析,根据事务的 阅读全文
posted @ 2019-03-22 15:32 米突小搞羊 阅读(269) 评论(0) 推荐(0) 编辑