J2SE
文章平均质量分 53
普通网友
这个作者很懒,什么都没留下…
展开
-
关于Class.getClassLoader()空指针.
ClassLoader cl = XXX.class.getClassLoader();//此处getClassLoader()返回null;百思不得其解后,翻看JDK,有如下说明:getClassLoaderpublic ClassLoader getClassLoader()返回该类的类加载器。有些实现可能使用 null 来表示引导类加载器。如果该类由引导类加载器加载,则此...2009-10-12 14:11:00 · 1011 阅读 · 0 评论 -
[jdk1.4]socket举例--基于nio
直接上代码,后续文章会有io,nio比较.. ServerMain.javapackage test.server;import java.io.IOException;import java.net.InetSocketAddress;import java.nio.ByteBuffer;import java.nio.CharBuffer;import ja...2010-05-12 11:51:00 · 115 阅读 · 0 评论 -
nio和io的服务器端比较
1.) io:传统的io,JDK1.4以前:即当程序执行输入/输出操作后,在这些操作返回之前会一直阻塞该线程,所以服务器必须为每个客户端都提供一条独立线程进行处理(否则无法继续运行),当服务器需要同时处理大量客户端时,这种做法会导致性能下降.(比如在单核状态下,CPU同一时刻处理一个线程).做为服务器端,其处理结构如下图所示: 假设如 [jdk1.4]socket举例--基于ni...2010-05-13 14:46:00 · 139 阅读 · 0 评论 -
java.util.concurrent下线程池总结(1)
首先,看下总的结构: Executors类,提供了一系列工厂方法用于创先线程池,返回的线程池都实现了ExecutorService接口。public static ExecutorService newFixedThreadPool(int nThreads)创建固定数目线程的线程池。public static ExecutorService newCachedThreadP...2010-02-08 09:35:00 · 179 阅读 · 0 评论 -
java.util.concurrent下线程池总结(2)
生命周期:ExecutorService扩展了Executor并添加了一些生命周期管理的方法。一个Executor的生命周期有三种状态,运行 ,关闭 ,终止 。Executor创建时处于运行状态。当调用ExecutorService.shutdown()后,处于关闭状态,isShutdown()方法返回true。这时,不应该再想Executor中添加任务,所有已添加的任务执行完毕后,E...2010-02-08 09:36:00 · 70 阅读 · 0 评论 -
【解惑】 慎用守护线程Daemon
public class Test{ public static void main(String[] args){ int i=1; System.out.println("主线程:"+i); } } 当我们运行上面这段简单代码的时候,很...2010-12-14 11:29:00 · 92 阅读 · 0 评论 -
枚举小例子
不多说,定义什么的网上找,直接上代码:public class Test { public static void main(String[] args) { // 可见枚举类型是静态的。。 不用NEW。 switch (Name.valueOf("B")) { case A: System.out.println(Name.A.getNum());...2010-12-14 13:41:00 · 72 阅读 · 0 评论 -
关于线程安全
线程安全的本质体现在两个方面:A变量安全:多线程同时运行一段代码B线程同步:一个线程还没执行完,另一个线程又进来接着执行。看个简单的例子。public class ThreadSafe implements java.lang.Runnable { int num = 1; public void run() { for (int i = 0; i &l...2010-06-07 10:57:00 · 53 阅读 · 0 评论 -
正确地kill java进程(转)
在linux/unix下,你是怎么中止一个java进程的?你可能会回答 kill -9 pid,这是一种在多数情况下正确的做法。不过,这种方式过于暴力,如果用户对环境不熟悉,很容易造成致命的后果。本文将分析kill -9产生问题的原因,并给出另一种标准的kill方式。标准中断信号在Linux信号机制中,存在多种进程中断信号(Linux信号列表)。其中比较典型的有 SIGNKILL(9) 和...2010-06-07 17:29:00 · 109 阅读 · 0 评论 -
Java虚拟机(JVM)中的内存设置详解
在一些规模稍大的应用中,Java虚拟机(JVM)的内存设置尤为重要,想在项目中取得好的效率,GC(垃圾回收)的设置是第一步。 PermGen space:全称是PermanentGenerationspace.就是说是永久保存的区域,用于存放Class和Meta信息,Class在被Load的时候被放入该区域Heapspace:存放Instance。 GC(GarbageColle...2010-06-08 17:47:00 · 63 阅读 · 0 评论 -
JAVA的几种对象(PO,VO,DAO,BO,POJO,DTO)解释
Java的几种对象(PO,VO,DAO,BO,POJO)解释一、PO : persistant object 持久对象,可以看成是与数据库中的表相映射的java对象。最简单的PO就是对应数据库中某个表中的一条记录,多个记录可以用PO的集合。PO中应该不包含任何对数据库的操作。二、VO : value object值对象。通常用于业务层之间的数据传递,和PO一样也是仅仅包含数据而已。但...2010-10-25 15:04:00 · 81 阅读 · 0 评论 -
Java Swing LayoutManager
BorderLayoutFlowLayoutGridLayoutGridBagLayoutCardLayoutBoxLayout1.BorderLayout java.lang.Object--java.awt.BorderLayout将版面划分成东、西、南、北、中五个区域,将添加的组件按指定位置放置。Bo...2010-11-20 21:09:00 · 64 阅读 · 0 评论 -
Java.*和javax.*以及com.sun.*
java.* 是j2se的标准库,是java标准的一部分,是对外承诺的java开发的接口,通常要保持向后兼容,一般不会轻易修改。所有的jdk的实现(其他厂家的,在java.*上都是一样的)javax.*也是标准,但是没有包含在标准库中,一般属于面向标准库的扩展,通常属于某个特定领域,不是一般性的api。所以以类似扩展的方式提供api,以避免jdk的标准库过大。但也不能排除某些早期的java...原创 2011-03-24 17:54:07 · 465 阅读 · 0 评论 -
传统socket举例--基于io
教程网上多的是,直接上代码..ServerMain.javapackage test.server;import java.io.IOException;import java.net.ServerSocket;import java.util.concurrent.ExecutorService;import java.util.concurrent.Execut...2010-05-10 15:34:00 · 70 阅读 · 0 评论 -
JAVA获取CLASSPATH路径
ClassLoader提供了两个方法用于从装载的类路径中取得资源:1).public URLgetResource(String name);2).public InputStreamgetResourceAsStream(String name); 这里name是资源的类路径,它是相对与“/”根路径下的位置。getResource得到的是一个URL对象来定位资源,而getResource...2010-05-10 10:47:00 · 125 阅读 · 0 评论 -
终止程序(exit() and halt())
public class Main extends Thread { @Override public void run() { for(int i = 0; i try { TimeUnit.SECONDS.sleep(3L); } catch (InterruptedException e) { // ignore } } }...2010-03-11 05:50:00 · 402 阅读 · 0 评论 -
线程中断.
昨天试了试线程中断...代码如下: public class Main extends Thread { @Override public void run() { while(!this.isInterrupted()){ System.out.println("the thread is run ..."); try { TimeUnit.SEC...2010-03-12 02:14:00 · 76 阅读 · 0 评论 -
线程的异常捕获(非线程组方式)
由于线程的种种特性,有时候我们不能捕获线程所抛出的异常,如下情况:import java.util.concurrent.ExecutorService;import java.util.concurrent.Executors;public class ExceptionThread implements Runnable{ public void run() { thro...2009-12-02 09:36:00 · 56 阅读 · 0 评论 -
web页面代码关键字着色(类似于CSDN的插入代码)
一直以来觉得CSDN和JAVAEYE的代码关键字着色很神奇..(自己先鄙视自己下..-_-!),今天闲来无事,在Google上乱逛.发现了个syntaxhighlighter 这个 JavaScript 小框架.SyntaxHighlighter 的最近版本是:2.1.364 下载地址:点击 下载完成后解压文件,其中scripts文件夹下全部是着色语言文件,如shBrushSql.js...2009-12-04 13:33:00 · 323 阅读 · 0 评论 -
Log4j配置文件
#%p 输出优先级,即DEBUG,INFO,WARN,ERROR,FATAL #%r 输出自应用启动到输出该log信息耗费的毫秒数 #%c 输出所属的类目,通常就是所在类的全名 #%t 输出产生该日志事件的线程名 #%n 输出一个回车换行符,Windows平台为“\r\n”,Unix平台为“\n” #%d 输出日志时间点的日期或时间,默认格式为ISO8601...2009-12-04 14:54:00 · 61 阅读 · 0 评论 -
对象池化技术(1)--为什么要使用
网上的转帖很多,其中我任务较为确切的说明是:http://www.ibm.com/developerworks/cn/java/l-common-pool/index.html作者在文中写道: 恰当地使用对象池化技术,可以有效地减少对象生成和初始化时的消耗,提高系统的运行效率。<!-- START RESERVED FOR FUTURE USE INCLUDE FIL...2009-12-14 14:18:00 · 145 阅读 · 0 评论 -
对象池化技术(2)--一个简单的实现(基于apache的commons-pool)
这几天没事的时候都在自己写池的通用方法..今天测试了下,性能超差..算了,还是用大牛的吧..要站在巨人肩膀上..import java.util.NoSuchElementException;import java.util.concurrent.TimeUnit;import org.apache.commons.pool.BasePoolableObjectFactory;im...2009-12-16 16:39:00 · 76 阅读 · 0 评论 -
Proxy模式以及java动态代理实现
一. Proxy模式定义: 为其他对象提供一种代理以控制这个对象的访问.二.模式解说 Proxy代理模式是一种结构型设计模式,主要解决的问题是:在直接访问对象时带来的问题,比如说:要访问的对象在远程的机器上.在面向对象系统中,有些对象由于某些原因(比如对象创建开销很大,或者某些操作需要安全控制,或者需要进程外的访问),直接访问会给使用者或者系统结构带来很多麻烦,我们可以在访问此对象时加上一个对此对...2009-12-24 16:28:00 · 105 阅读 · 0 评论 -
ArrayList的初始化(可用作其他集合类)
public class Test { public ArrayList<String> al = new ArrayList<String>(){ { add("one"); add("two"); } }; public static void main(String[] args) { System.o...2009-12-30 14:28:00 · 77 阅读 · 0 评论 -
基于SNMP和JRobin的监控
SNMP4J模拟SNMPGETpublic class Snmp_Test_1 { private static final Logger logger = Logger.getLogger(Snmp_Test_1.class); private static String protocol = "udp"; // 监控时使用的协议 private static St...2010-01-05 19:47:00 · 103 阅读 · 0 评论 -
java线程死锁例子
public class DealLockTest implements Runnable { static String i = new String(); static String j = new String(); private String str = null; public DealLockTest(String str) { this.str = str;...2010-01-10 11:12:00 · 83 阅读 · 0 评论 -
Nutz Java 编码规范 (V1.0)
Nutz Java 编码规范 (V1.0) By:zozoh<zozohtnt></zozohtnt> 0. 规范的规范 1. 代码格式 2.1 包 2.2 类和接口 2.3 成员变量 2.4 ...2010-04-28 08:07:00 · 85 阅读 · 0 评论 -
HotSpot是什么
1. HotSpot历史 SUN的JDK版本从1.3.1开始运用HotSpot虚拟机, 2006年底开源,主要使用C++实现,JNI接口部分用C实现。 HotSpot是较新的Java虚拟机,用来代替JIT(Just in Time),可以大大提高Java运行的性能。 Java原先是把源代码编译为字节码在虚拟机执行,这样执行速度较慢。而HotSpot将常用的部分代码编译为...原创 2011-03-24 18:00:09 · 159 阅读 · 0 评论