上一页 1 ··· 6 7 8 9 10 11 12 13 14 15 下一页
摘要: 学习了GC算法的相关概念之后, 我们将介绍在JVM中这些算法的具体实现。首先要记住的是, 大多数JVM都需要使用两种不同的GC算法 —— 一种用来清理年轻代, 另一种用来清理老年代。 我们可以选择JVM内置的各种算法。如果不通过参数明确指定垃圾收集算法, 则会使用宿主平台的默认实现。本章会详细介绍各 阅读全文
posted @ 2019-04-03 14:55 chen_hao 阅读(1389) 评论(0) 推荐(2) 编辑
摘要: 本章简要介绍GC的基本原理和相关技术, 下一章节再详细讲解GC算法的具体实现。各种垃圾收集器的实现细节虽然并不相同,但总体而言,垃圾收集器都专注于两件事情: 查找所有存活对象 抛弃其他的部分,即死对象,不再使用的对象。 第一步, 记录(census)所有的存活对象, 在垃圾收集中有一个叫做 标记(M 阅读全文
posted @ 2019-04-03 14:50 chen_hao 阅读(1016) 评论(0) 推荐(2) 编辑
摘要: 关于Java中的动态代理,我们首先需要了解的是一种常用的设计模式--代理模式,而对于代理,根据创建代理类的时间点,又可以分为静态代理和动态代理。 静态代理 1、静态代理 静态代理:由程序员创建或特定工具自动生成源代码,也就是在编译时就已经将接口,被代理类,代理类等确定下来。在程序运行之前,代理类的. 阅读全文
posted @ 2019-04-03 10:44 chen_hao 阅读(2053) 评论(0) 推荐(4) 编辑
摘要: 概述 执行引擎是Java虚拟机最核心的组成部分之一。“虚拟机”是一个相对于“物理机”的概念 ,这两种机器都有代码执行能力,其区别是物理机的执行引擎是直接建立在处理器、硬件、指令集和操作系统层面上的,而虚拟机的执行引擎则是由自己实现的,因此可以自行制定指令集与执行引擎的结构体系,并且能够执行那些不被硬 阅读全文
posted @ 2019-04-01 11:09 chen_hao 阅读(1059) 评论(0) 推荐(1) 编辑
摘要: 代码编译的结果从本地机器码转变为字节码,是存储格式发展的一小步,却是编程语言发展的一大步。 7.1 概述 上一章我们了解了Class文件存储格式的具体细节,在Class文件中描述的各种信息,最终都需要加载到虚拟机中之后才能运行和使用。而虚拟机如何加载这些Class文件?Class文件中的信息进入到虚 阅读全文
posted @ 2019-03-29 15:55 chen_hao 阅读(1165) 评论(0) 推荐(1) 编辑
摘要: 代码编译的结果从本地机器码转变为字节码,是存储格式发展的一小步,却是编程语言发展的一大步。 6.1 概述 记得在第一节计算机程序课上我的老师就讲过:“计算机只认识0和1,所以我们写的程序需要经编译器翻译成由0和1构成的二进制格式才能由计算机执行”。10多年时间过去了,今天的计算机仍然只能识别0和1, 阅读全文
posted @ 2019-03-28 10:53 chen_hao 阅读(1423) 评论(0) 推荐(3) 编辑
摘要: 案例分析 高性能硬件上的程序部署策略 例 如 ,一个15万PV/天左右的在线文档类型网站最近更换了硬件系统,新的硬件为4个CPU、16GB物理内存,操作系统为64位CentOS 5.4 , Resin作为Web服务器。整个服务器暂时没有部署别的应用,所有硬件资源都可以提供给这访问量并不算太大的网站使 阅读全文
posted @ 2019-03-26 10:53 chen_hao 阅读(1145) 评论(0) 推荐(2) 编辑
摘要: 理论总是作为指导实践的工具,能把这些知识应用到实际工作中才是 我们的最终目的。 给一个系统定位问题的时候,知识、经验是关键基础,数据是依据,工具是运用知识处理数据的手段。这里说的数据包括:运行日志、异常堆栈、GC日志、线程快照( threaddump/javacore文件)、堆转储快照(heapdu 阅读全文
posted @ 2019-03-25 11:05 chen_hao 阅读(1501) 评论(0) 推荐(3) 编辑
摘要: Java与C++之间有一堵由内存动态分配和垃圾收集技术所围成的“高墙”,墙外面的人想进去,墙里面的人却想出来。 3.1 概述 说起垃圾收集(Garbage Collection,GC),大部分人都把这项技术当做Java语言的伴生产物。事实上,GC的历史比Java久远,1960年诞生于MIT的Lisp 阅读全文
posted @ 2019-03-22 10:10 chen_hao 阅读(1659) 评论(1) 推荐(4) 编辑
摘要: 2.1 概述 对于从事C、C++程序开发的开发人员来说,在内存管理领域,他们即是拥有最高权力的皇帝又是执行最基础工作的劳动人民——拥有每一个对象的“所有权”,又担负着每一个对象生命开始到终结的维护责任。 对于Java程序员来说,不需要在为每一个new操作去写配对的delete/free,不容易出现内 阅读全文
posted @ 2019-03-08 11:16 chen_hao 阅读(2945) 评论(5) 推荐(8) 编辑
上一页 1 ··· 6 7 8 9 10 11 12 13 14 15 下一页