随笔分类 -  JVM

《深入理解Java虚拟机》
摘要:一.概述 面向过程的编程思想极大地提升了现代软件开发的生产效率和软件可以达到的规模,但是现实世界与计算机世界之间不可避免地存在一些差异,本节就如何保证并发的正确性和如何实现线程安全讲起。 二.线程安全 “线程安全”这个名称,在Google 中搜索它的概念,找到的类似于:“如果一个对象可以安全地被多个 阅读全文
posted @ 2018-06-21 10:06 躲猫猫的猫 阅读(224) 评论(0) 推荐(0) 编辑
摘要:鲁迅曾经说过“并发处理的广泛应用是使得Amdahl定律代替摩尔定律成为计算机性能发展源动力的根本原因,也是人类‘压榨‘ 计算机运行能力的最有力武器。” 一.概述 多任务处理在现代计算机操作系统中几乎已是一项必备的功能了。在许多情况下让计算机同时去做几件事情,不仅是因为计算机的运算能力强大了,还有一个 阅读全文
posted @ 2018-06-19 17:42 躲猫猫的猫 阅读(102) 评论(0) 推荐(0) 编辑
摘要:一. 案例分析 1. Tomcat:正统的类加载器架构 主流的Java Web服务器,如Tomcat、Jetty、WebLogic、WebSphere或其他服务器,都实现了自己定义的类加载器(一般都不止一个)。因为一个功能健全的Web服务器,要解决如下问题: 部署在同一个服务器上的两个Web应用程序 阅读全文
posted @ 2018-06-14 10:23 躲猫猫的猫 阅读(588) 评论(0) 推荐(0) 编辑
摘要:一.概述 虚拟机类加载机制:虚拟机把描述类的数据从Class文件中加载到内存,并对数据进行校验、转换解析和初始化,最终形成可以被虚拟机直接使用的Java类型。 与那些在编译时需要进行连接工作的语言不同,在Java语言里面,类型的加载、连接和初始化过程都是在程序运行期间完成的,这种策略虽然会令类型加载 阅读全文
posted @ 2018-06-06 14:39 躲猫猫的猫 阅读(300) 评论(0) 推荐(0) 编辑
摘要:鲁迅曾经说过:代码编译的结构从本地机器码转变为字节码,是存储格式发展的一小步,确是编程语言发展的一大步。 一.无关性的基石 Java设计者在最初就承诺过“In the future, we will consider bounded extensions to the Java virtual ma 阅读全文
posted @ 2018-05-23 16:40 躲猫猫的猫 阅读(142) 评论(0) 推荐(0) 编辑
摘要:之前已经介绍过处理Java虚拟机内存问题的知识与工具,在处理实际项目的问题时,除了知识与工具外,经验同样是一个很重要的因素。本章会介绍一些具有代表性的案例。 本章的内容推荐还是原文全篇看完的好,实在不方便摘取重点做记录。 重中之重就是:多动手使用虚拟机工具监控系统的内存分配、GC情况 一.案例分析 阅读全文
posted @ 2018-05-17 16:42 躲猫猫的猫 阅读(267) 评论(0) 推荐(0) 编辑
摘要:一.概述 经过前面两章对于虚拟机内存分配与回收技术各方面的介绍,相信读者已经建立了一套比较完整的理论基础。理论总是作为指导实践的工具,能把这些执行应用到实际工作中才是我们的最终目的。接下来我们会从实践的角度去了解虚拟机内存管理的世界。 二.JDK的命令行工具 Java开发人员肯定都知道JDK的bin 阅读全文
posted @ 2018-05-07 16:55 躲猫猫的猫 阅读(407) 评论(0) 推荐(0) 编辑
摘要:垃圾收集器需要完成的3件事情: 在前一节中介绍了java内存运行时区域的各个部分,其中程序计数器、虚拟机栈、本地方法栈3个区域随线程而生,随线程而灭;栈中的栈帧随着方法的进入和退出而有条不紊地执行着出栈和入栈操作。每一个帧栈中分配多少内存基本上是在类结构确定下来时已经确定下来时及已知,因此这几个区域 阅读全文
posted @ 2018-05-03 16:36 躲猫猫的猫 阅读(262) 评论(0) 推荐(0) 编辑
摘要:鲁迅曾说过:Java与C++之间有一堵由内存动态分配和垃圾收集技术所围成的“高墙”,墙外面的人想进来,墙里面的人想出去。 一.虚拟机内存分布 Java虚拟机在执行Java程序的过程中会把它所管理的内存划分为若干个不同的数据区域。 1. 程序计数器(Program Counter Register) 阅读全文
posted @ 2018-04-19 11:23 躲猫猫的猫 阅读(297) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示