
java
文章平均质量分 75
liangliyin
Hadoop研发、运维
展开
-
Java中User Thread和Daemon Thread的区别
Java将线程分为User线程和Daemon线程两种。通常Daemon线程用来为User线程提供某些服务。程序的main()方法线程是一个User进程。User进程创建的进程为User进程。当所有的User线程结束后,JVM才会结束。 通过在一个线程对象上调用setDaemon(true),可以将user线程创建的线程明确地设置成Daemon线程。例如,时钟处理线程、idle线程、垃圾回收线程、屏幕更新线程等,都是Daemon线程。通常新创建的线程会从创建它的进程哪里继承daemon状态,除非原创 2010-12-14 22:52:00 · 5195 阅读 · 1 评论 -
StringBuffer和StringBuilder的性能比较
None原创 2010-11-04 22:00:00 · 159 阅读 · 0 评论 -
Java HotSpot虚拟机中的垃圾回收
更好地理解原创 2011-06-24 00:00:00 · 169 阅读 · 0 评论 -
可读的JVM GC时间戳
当我们诊断Java应用程序的问题时,能够查到垃圾回收的状况是非常有帮助的。一个基本的最基础的方法是开启垃圾回收日志。 也许你已经知道了,如果我们把下面的参数加到java启动命令行中, -Xloggc: –XX:+PrintGCDetails -XX:+PrintGCDateS翻译 2011-08-22 23:16:20 · 2441 阅读 · 0 评论 -
如何中止Java线程
使用Java内置支持的线程写多线程程序是很常见的事情。然而,多线程给开发人员带来了一些新的挑战。如果处理不好就会导致超出预期的行为以及难于定位的错误。这篇文章解读了其中一个挑战:如何中止一个正在运行的线程。 背景 中止一个线程意味着在线程处理完任务之前停掉正在做的操作,特别是放弃当前的操作。之后无论线程死掉,等待新的任务,或者执行下一步取决于应用程序的逻辑。 虽然这看起翻译 2012-03-02 21:13:36 · 3142 阅读 · 0 评论 -
Java String性能提示
不用使用String的构造函数,可能的话直接使用字符串。两个特例:1)想把char []转换为一个String, 2) 使用一个大的String对象的substring()方法;String.equals() 比 String.equalsIgnoreCase()要快;尽量使用StringBuilder来构造一个String,而不是“+”操作符和String.concat() (除非是一个表达原创 2012-03-06 23:44:35 · 1380 阅读 · 0 评论