`
flychao88
  • 浏览: 753166 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论
文章列表
有时候并不是在任何场景下使用线程池,效率都比顺序执行程序快,请看下面例子程序:   这是使用线程池程序。 ThreadPoolExecutor threadPool = new ThreadPoolExecutor(CORE_POOL_SIZE, MAX_POOL_SIZE, KEEP_ALIVE_TIME, TimeUnit.SECONDS, nocardTaskQueue); threadPool.setRejectedExecutionHandler(new ThreadPoolExecutor.CallerRunsPolicy ...
使用jmap -heap pid查看进程堆内存使用情况,包括使用的GC算法、堆配置参数和各代中堆内存使用情况。比如下面的例子:  
public class MultiThreadOOM { public static class SleepThread implements Runnable public void run(){ try { Thread.sleep(10000000); } catch (InterruptedException e) { e.printStackTrace(); } } } public static void main(String ...
客户端类图:   服务端类图
客户端结构:     服务端结构:
public class EchoServer {       public static int DEFAULT_PORT = 7777;          public 
常用优化要点 nginx使用的是固定数量的workers, 每个worker都处理进入的请求。最佳实践是每个CPU内核配置一个worker. 如何知道您的系统有几个CPU?

临时记录

mvn deploy -Dmaven.test.skip=true  http://kkovacs.eu/cassandra-vs-mongodb-vs-couchdb-vs-redis http://www.infoq.com/cn/articles/tq-redis-memory-usage-optimization-storage
讨论命题:当一个单例的对象长久不用时,会不会被jvm的垃圾收集机制回收。 首先说一下为什么会产生这一疑问,笔者本人再此之前从来没有考虑过垃圾回收对单例模式的影响,直到去年读了一本书,《设计模式之禅》秦小波著。在书中提到在j2ee应用中,jvm垃圾回收机制会把长久不用的单例类对象当作垃圾,并在cpu空闲的时候对其进行回收。之前读过的几本设计模式的书,包括《java与模式》,书中都没有提到jvm垃圾回收机制对单例的影响。并且在工作过程中,也没有过单例对象被回收的经历,加上工作中很多前辈曾经告诫过笔者:尽量不要声明太多的静态属性,因为这些静态属性被加载后不会被释放。因此对jvm垃圾收集会回收单例对 ...
在前面的文章里,我介绍了IntelliJ IDEA(以下称IntelliJ)中与代码补全及重构相关的特性。今天我将介绍另外一个利器——IntelliJ的导航(Navigation),只要运用得当,它将节约你大把的时间。 作为一个IntelliJ的用户,你应先明确一点——IntelliJ是用来让你专注于代码的工具。只有这样我们才能充分利用并享受它的魔力。因此,大部分的时间里你应该专心工作于代码编辑器中,仅把导航当做在不同位置的代码间快速切换的好帮手。 本文旨在介绍IntelliJ的导航在工程文件(project files)、代码块(block of code),及工具窗口(tool win ...
如图:
电商的秒杀和抢购,对我们来说,都不是一个陌生的东西。然而,从技术的角度来说,这对于Web系统是一个巨大的考验。当一个Web系统,在一秒钟内收到数以万计甚至更多请求时,系统的优化和稳定至关重要。这次我们会关注 ...
使用maven最烦人的可能就是类包之间的版本冲突引发的问题了,类包冲突的一个很大的原因即产类包之间的间接依赖引起的。每个显式声明的类包都会依赖于一些其它的隐式类包,这些隐式的类包会被maven间接引入进来,因而可能造成一个我们不想要的类包的载入,严重的甚至会引起类包之间的冲突。 要解决这个问题,首先就是要查看pom.xml显式和隐式的依赖类包,然后通过这个类包树找出我们不想要的依赖类包,手工将其排除在外就可以了。 下面,通过一个例子来说明: 我的项目使用testng进行测试,使用了untilis,由于unitils的类包会隐式依赖于junit,这是我不想看到的,下面的目的就是找出junit会谁 ...
一、MAT是什么?       MAT(Memory Analyzer Tool),一个基于Eclipse的内存分析工具,是一个快速、功能丰富的JAVA heap分析工具,它可以帮助我们查找内存泄漏和减少内存消耗。使用内存分析工具从众多的对象中进行分析,快速的计算 ...
一、常用命令分析 1. jstat -gc pid            可以显示gc的信息,查看gc的次数,及时间。            其中最后五项,分别是young gc的次数,young gc的时间,full gc的次数,full gc的时间,gc的总时间。 2.jstat -gccapacity pid            可以显示,VM内存中三代(young,old,perm)对象的使用和占用大小,            如:PGCMN
Global site tag (gtag.js) - Google Analytics