月度归档:2014年08月

NIO——Java NIO学习笔记(1)

前言

JDK 1.4 中引入的新输入输出 (NIO) 库在标准 Java 代码中提供了高速的、面向块的 I/O。NIO 弥补了原来的 I/O 的不足,它在标准 Java 代码中提供了高速的、面向块的 I/O。通过定义包含数据的类,以及通过以块的形式处理这些数据,NIO 不用使用本机代码就可以利用低级优化,这是原来的 I/O 包所无法做到的。

为什么要使用NIO?

NIO 的创建目的是为了让 Java 程序员可以实现高速 I/O 而无需编写自定义的本机代码。NIO 将最耗时的 I/O 操作(即填充和提取缓冲区)转移回操作系统,因而可以极大地提高速度。
继续阅读

Java插件式框架PF4J

原文地址:http://www.oschina.net/p/pf4j

PF4J 是一个 Java 的插件框架,为第三方提供应用扩展的渠道。使用 PF4J 你可以轻松将一个普通的 Java 应用转成一个模块化的应用。PF4J 本身非常轻量级,只有 50KB 左右,目前只依赖了 slf4j。Gitblit 项目使用的就是 PF4J 进行插件管理。
Maven:

实例代码:

使用jconsole.exe的图形化界面监控Java进程状态

启动程序时加控制台参数:

注意参数-Dcom.sun.management.jmxremote.port=9112  表示监控的端口
启动程序后,使用jdk路径下的bin下的jconsole.exe工具

点击连接

JDK1.6 Runtime.getRuntime().exec(cmd)执行错误:Cannot allocate memory

最近遇到一个问题,在程序中通过Runtime.getRuntime().exec(cmd)调用Linux中的脚本文件执行脚本抛出了异常:

继续阅读