随笔分类 -  Java

摘要:volatile和synchronized的区别:1.volatile本质是在告诉jvm当前变量在寄存器(工作内存)中的值是不确定的,需要从主存中读取;synchronized则是锁定当前变量,只有当前线程可以访问该变量,其他线程被阻塞住。2.volatile仅能使用在变量级别;synchronized则可以使用在变量、方法、和类级别的。3.volatile仅能实现变量的修改可见性,并能保证原子性;而synchronized则可以保证变量的修改可见性和原子性。4.volatile不会造成线程的阻塞;synchronized可能会造成线程的阻塞。 5.volatile标记的变量不会被编译器优化; 阅读全文
posted @ 2011-09-05 20:17 cpcpc 阅读(2197) 评论(1) 推荐(0) 编辑
摘要:View Code 1 import java.text.ParseException; 2 import java.text.SimpleDateFormat; 3 import java.util.Calendar; 4 import java.util.GregorianCalendar; 5 import java.util.Hashtable; 6 import java.util.Scanner; 7 import java.util.regex.Matcher; 8 import java.util.regex.Pattern; 9 10 public cl... 阅读全文
posted @ 2011-09-05 20:13 cpcpc 阅读(5421) 评论(3) 推荐(3) 编辑
摘要:要使用dom4j读写XML文档,需要先下载dom4j包,dom4j官方网站在 http://www.dom4j.org/dom4j包下载地址:http://download.csdn.net/source/3532614解开后有两个包,仅操作XML文档的话把dom4j-1.6.1.jar加入工程就可以了,如果需要使用XPath的话还需要加入包jaxen-1.1-beta-7.jar.以下是相关操作:一.Document对象相关1.读取XML文件,获得document对象. SAXReader reader = new SAXReader(); Doc... 阅读全文
posted @ 2011-09-05 19:43 cpcpc 阅读(394) 评论(0) 推荐(1) 编辑
摘要:java中byte数组与int类型的转换,在网络编程中这个算法是最基本的算法,我们都知道,在socket传输中,发送、者接收的数据都是 byte数组,但是int类型是4个byte组成的,如何把一个整形int转换成byte数组,同时如何把一个长度为4的byte数组转换为int类型。下面有两种方式。public static byte[] int2byte(int res) {byte[] targets = new byte[4];targets[0] = (byte) (res & 0xff);// 最低位 targets[1] = (byte) ((res >> 8) & 阅读全文
posted @ 2011-09-05 19:42 cpcpc 阅读(13180) 评论(0) 推荐(1) 编辑
摘要:对象转数组,数组转对象 序列化一个对象,反序列化一个对象就是如此Java代码package com.digican.utils; import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; import java.io.IOException; import java.io.ObjectInputStream; import java.io.ObjectOutputStream; import com.digican.javabean.TestBean; publi... 阅读全文
posted @ 2011-09-05 19:39 cpcpc 阅读(43875) 评论(1) 推荐(0) 编辑
摘要:使用 DJ Java Decompiler 将整个jar包反编译成源文件 阅读全文
posted @ 2011-07-29 11:23 cpcpc 阅读(9286) 评论(2) 推荐(1) 编辑
摘要:所谓回调,就是客户程序C调用服务程序S中的某个函数A,然后S又在某个时候反过来调用C中的某个函数B,对于C来说,这个B便叫做回调函数。例如Win32下的窗口过程函数就是一个典型的回调函数。一般说来,C不会自己调用B,C提供B的目的就是让S来调用它,而且是C不得不提供。由于S并不知道C提供的B姓甚名谁,所以S会约定B的接口规范(函数原型),然后由C提前通过S的一个函数R告诉S自己将要使用B函数,这个过程称为回调函数的注册,R称为注册函数。Web Service以及Java的RMI都用到回调机制,可以访问远程服务器程序。 下面举个通俗的例子: 某天,我打电话向你请教问题,当然是个难题,^_^,你一 阅读全文
posted @ 2011-07-05 17:01 cpcpc 阅读(356) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示