- 浏览: 6823 次
- 性别:
- 来自: 北京
最新评论
文章列表
【原创】HotSpot JVM性能优化(一)
- 博客分类:
- JVM
本文只讨论JVM本身的性能优化,不涉及通过系统架构角度调优整体性能,原因是想重点讨论JVM本身。架构级的性能优化后续会总结归纳单独讨论。
首先,需要确定调优目标,即最求系统的响应时效性或者是CPU计算吞吐量。之所以这么说的原因是,固定CPU的情况下,CPU的计算能力几乎是一定的(排除超频)。追求响应时效性,要让CPU的计算要尽可能在最短时间内满足应用程序本身的线程调用,而不是让应用程序线程处于等待状态;追求CPU吞吐量,是要在一个段内CPU的计算尽可能多的用于应用程序本身的线程,也可以说成是(CPU有效技术/CPU计算量)×时间的值。
通常,与用户交互较频繁的系统更加关注系统 ...
VMware Workstation 下安装Linux的步骤
一、准备工作
1、 安装VMware Workstation
安装VMware Workstation(下简称VM)同安装其他Windows程序一样,如果不需要选择安装目录,一路下一步直至安装完成就OK了,安装过程中序列号可以在Google上自行去搜索。
2、 VMware Workstation的网络配置
VM的网络配置主要有三种类型:
(1) Bridged(桥接模式)
在桥接模式下,VMware虚拟出来的操作系统就像是局域网中的一独立的主机,它可以访问网内任何一台机器。不过你需 ...
今天去参加一个面试,其中有道笔试题是关于最少硬数币问题的,其实是个很简单的问题,思路无非就是优先选择大面值硬币构成目标金额,使用略小面值处理零头。弄两个长度相等的数组,一个由大到小依次存储硬币面值,一个初始值全部为零。遍历硬币数组,取面值尝试构成目标金额,用目标金额减去已构成金额后,继续迭代。
问题就是:我们在日常的开发工作中经常会拿到一个任务后简单思索后就拿机器开始写代码,实现逻辑的正确性,严谨性都由程序运行结果来验证。当手头没有机器或者不让使用机器的时候,居然不知道怎么去梳理逻辑了,或者说大脑根本就在告诉你,这个上机器上跑一下就行了。
我的答案:在处理简单逻辑的时 ...
我们在设计开发工程中,经常会用到HashMap,HashSet,HashTable等Java类,如果查看这些类的add,put等方法时,会发现这些方法都是基于参数对象的hashCode方法返回值经过一系列运算后,确定对象在哈希表中的位置。如果我们没有重写hashCode方法且所有父类也没有重写过Object的该方法,hashCode方法将使用Object类中native的hashCode方法,经验证,此方法产生的haseCode与子对象中的成员字段值无关系。
下面通过一段代码,分析下如果重写hashCode方法,在使用不当时会怎样引起内存泄漏问题。
//代码1
publi ...