`
hz_chenwenbiao
  • 浏览: 1007735 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论
文章列表
关于Java多线程知识可以看看《Thinking in Java 》中的多线程部分和《Java网络编程》中第5章多线程的部分以下是参考<<Java多线程模式>>的 1. sleep() & interrupt()     线程A正在使用sleep()暂停着: Thread.sleep(100000);     如果要取消他的等待状态,可以在正在执行的线程里(比如这里是B)调用         a.interrupt();     令线程A放弃睡眠操作,这里a是线程A对应到的Thread实例     执行interrupt()时,并不需要获取Thread实例的锁定. ...
在论坛上面常常看到初学者对线程的无可奈何,所以总结出了下面一篇文章,希望对一些正在学习使用java线程的初学者有所帮助。首先要理解线程首先需要了解一些基本的东西,我们现在所使用的大多数操作系统都属于多任务, ...
打个比方:一个object就像一个大房子,大门永远打开。房子里有 很多房间(也就是方法)。这些房间有上锁的(synchronized方法), 和不上锁之分(普通方法)。房门口放着一把钥匙(key),这把钥匙可以打开所有上锁的房间。 ...
   学了这么久的Java,才知道Java的对象引用类型有4种。所以,赶紧把不知道的东西补上!     对于需要长期运行的应用程序来说,如果无用的对象所占用的内存空间不能得到即时的释放的话,那么在一个局部的时间段内便形成 ...
自己学习的一点总结,大家多多指教: flip()  使缓冲区为一系列新的通道写入或相对获取 操作做好准备:它将限制设置为当前位置,然后将位置设置为 0。 一段简单的代码,可以更好的理解: package xubin.test; import java.io.IOException; import java.nio.ByteBuffer; public class TestNio { private static final int size = 1024; public static void view(ByteBuffer bu ...
在JDK1.2以前的版本中,当一个对象不被任何变量引用,那么程序就无法再使用这个对象。也就是说,只有对象处于可触及状态,程序才能使用它。这就像在日常生活中,从商店购买了某样物品后,如果有用,就一直保留它,否则 ...
public class ab implements Runnable{ public void run(){ for(int i = 0 ; i < 4000 ; i++) System.out.println(i); } public static void main(String[] args){ Thread thread = new Thread(new ab()); thread.start(); System.out.println("Started"); try { thread.jo ...
public class ab implements Runnable{ public void run(){ System.out.println("当前是谁调用run方法:" + Thread.currentThread().getName()); } public static void main(String[] args){ Thread thread = new Thread(new ab()); thread.run(); thread.start(); } }  
本文主要参考http://tech.ccidnet.com/art/1081/20050413/237901_1.html 上的文章。   C++调用JAVA主要用到了SUN公司的JNI技术, JNI是Java Native Interface的 缩写。从Java 1.1开始,Java Native Interface (JNI)标准成为java平台的一部分,它允许Java代码和其他语言写的代码进行交互。相关资料见http://java.sun.com/j2se/1.5.0/docs/guide/jni/spec/jniTOC.html   开发环境安装及配置   1.1  安装J ...
简单的说:Java把内存划分成两种:一种是栈内存,一种是堆内存。 在函数中定义的一些基本类型的变量和对象的引用变量都在函数的栈内存中分配。 当在一段代码块定义一个变量时,Java就在栈中为这个变量分配内存空间,当超过变量的作用域后,Java会自动释放掉为该变量所分配的内存空间,该内存空间可以立即被另作他用。 堆内存用来存放由new创建的对象和数组。 在堆中分配的内存,由Java虚拟机的自动垃圾回收器来管理。 在堆中产生了一个数组或对象后,还可以在栈中定义一个特殊的变量,让栈中这个变量的取值等于数组或对象在堆内存中的首地址,栈中的这个变量就成了数组或对象的引用变量(栈里只存放少量的数据,所以只把引 ...
package biao.scut.test; import java.io.CharArrayWriter; import java.io.FileNotFoundException; import java.io.FileReader; import java.io.IOException; import org.xml.sax.Attributes; import org.xml.sax.InputSource; import org.xml.sax.SAXException; import org.xml.sax.XMLReader; import org.xm ...
1 到SourceForge.net上去下载Heritrix包,下载地址链接为:http://sourceforge.net/project/showfiles.php?group_id=73833&package_id=73980下载heritrix-1.14.3-src包和heritrix-1.14.3包。 2 将下载的heritrix-1.14.3-src解压出来,自己新建一个项目文件夹,我这里 ...
工厂模式,谈到这种模式时,主要是关注工厂角色的设计,也因为工厂的变化而分成三种不同的工厂模式,而其它的角色的变化,会使工厂的设计发生适应性改变。 简单工厂模式(Simple Factory)是工厂模式中最简单的一种模式 ...
简单工厂模式的缺点就是,每次增加一个具体产品实现类,工厂类就一定要重新修改。工厂方法模式主要是针对简单工厂模式的该问题,给出了解决方法。 工厂方法模式的一般结构,如图所示:   通过上图可以看到,工厂方法具有下面四个不同的角色: 01.抽象工厂角色02.具体工厂角色03.抽象产品角色04.具体产品角色 工厂方法模式各个角色描述如下: 01.抽象工厂角色 抽象工类厂将具体工厂类的实现细节隐藏起来,如果具体工厂实现类发生过变化,对外部客户端的调用没有任何影响。这也说明了工厂类具有多态性,抽象工厂一定不可以实例化,这需要根据具体工厂类的实例来完成产品对象的创建。 因为抽象工厂类中给 ...
建造模式(Builder)体现了艺术性的“建造”,并不是像工厂模式一样简单地生产一个产品对象,提供给请求者就满足了。建造模式,在其建造地过程中,能够非常清晰将一个产品的组成部分分离开来,同时又能够在一定的指导下 ...
Global site tag (gtag.js) - Google Analytics