`
文章列表
多个线程等待   多个线程共同的等待一个操作(N-1),可以多次使用这个barrier对象,他不同于cutdownlatch锁,他可以多次重复使用   以下为实例:   package com.common; import java.util.Random; import java.util.concurrent.CyclicBarrier; import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; import java.util.regex ...
一个线程等待   CountDownLatch使用其await()等待其他线程完成(使用减值为0来判断是否完成)。 是一个线程等待多个线程(1-N)的锁工具。   以下为实例代码:   package com.common; import java.util.concurrent.CountDownLatch; import java.util.concurrent.Executor; import java.util.concurrent.Executors; import java.util.concurrent.locks.Condition; import ...
 PropertyChangeLinstener可以监听属性bean值的改变,应用Observe模式,进行一些操作   下面是其简单的使用过程: 1.所要监听的bean的基类:   package dirk.prohange; import java.beans.PropertyChangeListener; import java.beans.PropertyChangeSupport; public class PropertyChangeSupportTest { transient protected PropertyChangeSupport li ...
转发 深入研究java.lang.Runtime类     前言:Java的类库日益庞大,所包含的类和接口也不计其数。但其中有一些非常重要的类和接口,是Java类库中的核心部分。常见的有String、Object、Class、Collection、ClassLoader、Runtime、Process...,熟悉这些类是学好Java的基础。而这些类一般不容易理解,需要做深入的研究和实践才能掌握。下面是我对这些类理解和使用的一些总结。欢迎你在阅读后将你宝贵的意见和读后感留下!   一、概述      Runtime类封装了运行时的环境。每个 Java 应用程序都有一个 Runtime ...
  根据 Java API, 所谓 shutdown hook 就是已经初始化但尚未开始执行的线程对象。在 Runtime 注册后,如果 jvm 要停止前,这些 shutdown hook 便开始执行。   有什么用呢?就是在你的程序结束前,执行一些清理工作,尤其是没有用户界面的程序。   很明显,这些 shutdown hook 都是些线程对象,因此,你的清理工作要写在 run() 里。 根据 Java API,你的清理工作不能太重了,要尽快结束。但仍然可以对数据库进行操作。     package dirk.runtime; public class ShutDow ...
java socket   代码:   package com.socketTest; import java.io.BufferedReader; import java.io.DataOutputStream; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.io.OutputStream; import java.io.PrintWriter; import java.net.InetAddr ...
java输入输出流,图:http://blog.sina.com.cn/s/blog_855ce96b0100vr7r.html   字节输入输出代码:       public static void main(String[] arg) { try { File f = new File("D:\\project\\EclipseWorkSpace\\jsfdemo\\src\\testIo"); InputStream infile = new FileInputStream(f); byte[] b = new by ...
(转载http://blog.csdn.net/pwlazy/article/details/5640286)   1) 背景    jni的使用场景,多线程读,单线程写,写的时候会更新java对象,当老的java对象无须再使用的时候必须释放jni所占用本地方法区的内存,这个区域的内存不在java heap范畴,因此也无法被垃圾回收掉,需要显式的释放。但问题在于什么释放?有人会说使用finalize,但finalize过于依赖jvm的回收的时机,这使得什么时候能真正释放显得不太好预测。或者使用synchronized 内部锁,这样会导致性能的下降,为了极少量的写牺牲了大量的读。释放的时机确实 ...
(转发,地址忘记了。。。)有时候在开发Web应用的时候,需要tomcat启动后自动加载一个用户的类,执行一些初始化方法,如从数据库中加载业务字典到内存中,因此需要在tomcat启动时就自动加载一个类,或运行一个类的方法。 可 ...
 RandomAccess 是判断集合是否支持快速随即访问,以下是个测试用例:(转发http://jianchen.iteye.com/blog/291047)   JDK中推荐的是对List集合尽量要实现RandomAccess接口 如果集合类是RandomAccess的实现,则尽量用for(int i = 0; i < size; i++) 来遍历而不要用Iterator迭代器来遍历,在效率上要差一些。反过来,如果List是Sequence List,则最好用迭代器来进行迭代。 JDK中说的很清楚,在对List特别是Huge size的List的遍历算法中,要尽量来 ...
不久前用到了同步,现在回过头来对JAVA中的同步做个总结,以对前段时间工作的总结和自我技术的条理话。JAVA中synchronized关键字能够作为函数的修饰符,也可作为函数内的语句,也就是平时说的同步方法和同步语句块。假如再细的分类,synchronized可作用于instance变量、object reference(对象引用)、static函数和class literals(类名称字面常量)身上。 在进一步阐述之前,我们需要明确几点: A.无论synchronized关键字加在方法上还是对象上,他取得的锁都是对象,而不是把一段代码或函数当作锁――而且同步方法很可能还会被其他线程的对象访问。 ...
java正则表达式基本符号 一:基本符号: 1.句点符号:. 匹配任意单个字符,如t.n匹配:tan, Ten, tim, t n, t#n等 2.方括号:[] 匹配方括号内的任意单个字符,如t[aeio]n匹配:tan, ten, tin, ton, 但不匹配toon或taen,注意是只匹配方括号内的单个字符 3.圆括号:() 构建一个组,如果要输出"("或")", 要加转义字符/ 4.否符号:^ 如果用在方括号内,表示否,即不想要匹配的字符,如[^a]表示非a. 如果用在方括号外,则表示行开始 5.或符号:| ...
    感谢http://blog.csdn.net/jjx0224/article/details/5887589      感谢http://hi.baidu.com/guodong828/blog/item/cc53404ef40af002b3de0500.html     c# 匿名类 上代码:   using System;  
转载 http://www.cnblogs.com/wangjunchao/archive/2010/02/02/1662064.html backgroundworker控件的使用(线程传值) 2010-02-02 16:27 by WJCsharp, 83 visits, 收藏, 编辑
android读取xml文件: 1.SAX 1.生成xml读取器SAXParser 2.创建自己的内容处理器,处理xml节点、属性等等,需要继承于 DefaultHandler 并且has a自己的数据结构 3.读取器1加载处理器2,读取xml                /* 创建xml文件的URL*/                URL url = new URL("http://5billion.com.cn/example.xml");                /* 从SAXParserFactory获取SAXParser. */         ...
Global site tag (gtag.js) - Google Analytics