- 浏览: 181607 次
- 性别:
- 来自: 杭州
最新评论
文章列表
转自:http://www.ibm.com/developerworks/cn/java/j-jtp05236.html
这样的情景您也许并不陌生:您在编写一个测试程序,程序需要暂停一段时间,于是调用 Thread.sleep()。但是编译器或 IDE 报错说没有处理检查到的 InterruptedException。InterruptedExce ...
我们知道,计算机CPU和内存的交互是最频繁的,内存是我们的高速缓存区,用户磁盘和CPU的交互,而CPU运转速度越来越快,磁盘远远跟不上CPU的读写速度,才设计了内存,用户缓冲用户IO等待导致CPU的等待成本,但是随着CPU的发 ...
本部分,我们将关注堆(heap) 中一个主要区域,新生代(young generation)。首先我们会讨论为什么调整新生代的参数会对应用的性能如此重要,接着我们将学习新生代相关的JVM参数。
单纯从JVM的功能考虑,并不需要新生代,完全可以 ...
理想的情况下,一个Java程序使用JVM的默认设置也可以运行得很好,所以一般来说,没有必要设置任何JVM参数。然而,由于一些性能问题(很不幸的是,这些问题经常出现),一些相关的JVM参数知识会是我们工作中得好伙伴。在 ...
在这个系列的第二部分,我来介绍一下HotSpot JVM提供的不同类别的参数。我同样会讨论一些关于JIT编译器诊断的有趣参数。
JVM 参数分类
HotSpot JVM 提供了三类参数。第一类包括了标准参数。顾名思义,标准参数中包括功能和输出的参数都是很稳定的,很可能在将来的JVM版本中不会改变。你可以用java命令(或者是用 java -help)检索出所有标准参数。我们在第一部分中已经见到过一些标准参数,例如:-server。
第二类是X参数,非标准化的参数在将来的版本中可能会改变。所有的这类参数都以-X开始,并且可以用java -X来检索。注意,不能保证所有参数都可以被检索出来,其 ...
原文地址:https://blog.codecentric.de/en/2012/07/useful-jvm-flags-part-1-jvm-types-and-compiler-modes/
译者:赵峰,iDestiny 校对:郭蕾
现在的JVM运行Java程序(和其它的兼容性语言)时在高效性和稳定性方面做的非常出色。自适应内存管理、垃 ...
作为UNIX/Linux下使用广泛的调试器,gdb不仅提供了丰富的命令,还引入了对脚本的支持:一种是对已存在的脚本语言支持,比如python,用户可以直接书写python脚本,由gdb调用python解释器执行;另一种是命令脚本(command file),用户可以在脚本中书写gdb已经提供的或者自定义的gdb命令,再由gdb执行。在这篇文章里,我会介绍一下如何写gdb的命令脚本。(一) 自定义命令gdb支持用户自定义命令,格式是:
define commandName
statement
......
end
其中statement可以是任意gd ...
引自:http://www.ibm.com/developerworks/cn/education/java/j-nio/index.html
在开始之前
关于本教程
新的输入/输出 (NIO) 库是在 JDK 1.4 中引入的。NIO 弥补了原来的 I/O 的不足,它在标准 Java 代码中提供了高速的、面向块的 I/O。通过定义包含数 ...
java.util.logging.Logger使用详解
java.util.logging.Logger不是什么新鲜东西了,1.4就有了,可是因为log4j的存在,这个logger一直沉默着,其实在一些测试性的代码中,jdk自带的logger比log4j更方便。
一、创建Logger对象
static Logger getLogger(String name) 为指定子系统查找或创建一个 logger。 static Logger getLogger(String name, String resourceBundleName) ...
一,使用taskset充分利用多核cpu,让cpu的使用率均衡到每个cpu上
#taskset-p, 设定一个已存在的pid,而不是重新开启一个新任务-c, 指定一个处理,可以指定多个,以逗号分隔,也可指定范围,如:2,4,5,6-8。
1,切换某个进 ...
tcpdump常用命令;使用Wireshark查看数据出现"Packet size limited during capture"错误的解决方法
例:tcpdump host 172.16.29.40 and port 4600 -X -s 500 tcpdump采用命令行方式,它的命令格式为: tcpdump [ -adeflnNOpqStvx ] [ -c 数量 ] [ -F 文件名 ] [ -i 网络接口 ] [ -r 文件名] [ -s snaplen ] [ -T 类型 ] [ -w 文件名 ] [表达式 ]1. ...
本文翻译自 – http://www.tigase.org/content/basic-information 所有Tigase代码从逻辑上分为三个模块:components/plug-ins/connectors. component(组件)是tigase服务的主要模块。它使用大量的代码实现了“接收和发送stanzas(可以理解为各种各样的消息),可配置,并依据配置对大量事件做出应答”,它可以有独立ip地址。像c2s connection manager,s2s connection manager,session manager,XEP-01140外部组件连接管理,MUC-multi use ...
除了直接使用在《Tigase如何创建一个新Component 第一部分》当中介绍的那些接口外,我推荐extend一些现成的抽象类,因为它们已经实现了大部分“繁琐和令人厌倦”的接口实现工作。这里有一个你可能会感兴趣的抽象类列表。
tigase.server.AbstractMessageReceiver – 它已经实现了四个接口:ServerComponent,MessageReceiver,Configurable和StatisticsContainer。它通过自己的多个线程来管理内部数据队列,且能避免死锁。它使用事件驱动的方式来处理数据,当packet被发送到AbstractMessa ...
本文翻译自 – http://www.tigase.org/content/basic-information下面是当你需要创建一个新的Component所需要关注的接口列表:
tigase.server.ServerComponent – 这是一个非常基本的component接口。所有的component都必须实现接口中定义的方法。
/**
* Interface ServerComponent
* 这种类型的对象可以被MessageRouter管理.
* 所有被MessageRouter加载的类必须要实现这个接口。
*/
public interface Serv ...
引自: http://www.iteye.com/topic/378077
http://wenku.baidu.com/link?url=Sc-d2SNGIevHoy0W05tCSi5Rg5eDyVCxOGacXVnciHX2HISUxdMg68i6C4Z3hlsutDRzr8ZlPLqpmR7gkl4CvthuFC1_hjHq6ycA07FCgma
log4j是一个非常强大的log记录软件,下面我们就来看看在项目中如何使log4j。
首先当然是得到log4j的jar档,推荐使用1.2.X版,下载地址:
http://logging.apache.org/log ...