
java
文章平均质量分 84
为乐.rookie
互联网 研发 管理 中间件
展开
-
java 同步机制
不久前用到了同步,现在回过头来对JAVA中的同步做个总结,以对前段时间工作的总结和自我技术的条理话。JAVA中synchronized关键字能够作为函数的修饰符,也可作为函数内的语句,也就是平时说的同步方法和同步语句块。假如再细的分类,synchronized可作用于instance变量、object reference(对象引用)、static函数和class literals(类名称字面常转载 2010-05-27 16:49:00 · 384 阅读 · 0 评论 -
设计模式之:解剖观察者模式
<br /> 论坛上很多人都讲设计模式,也讲了很多设计模式,现在也来说说我对一些设计模式的理解,对于一些简单的模式就不多说了,一切都在我以前写的例子中使用到了,比如说在velocity和freemarker的比较那篇文章里用到了单例,工厂,方法模板,在java邮件,在简单和复杂之间那篇文章里用到了策略,适配,在easywebwork中也使用了几种设计模式,在哪些文章我没有对设计模式进行详细的讲解是因为我觉得那些都是些常用的模式,大家肯定经常见到,一看就明白了,根本用不着讲解,而在那篇《解惑:在spring+转载 2010-08-14 09:21:00 · 848 阅读 · 0 评论 -
精简出最小 jre
<br /><br />ava是跨平台的东西,但有的时候我们不需要它去跨平台,我们希望能想c++做的程序一样,编码和简单处理后能够在系统运行。<br />这次的项目是要放到classmate pc上,这款机器是为学生订做的,系统资源很有限,一个jre1.5就70多M,放在上面肯定是不行的。于是我找了一些相关的资料,提供链接如下:<br />如何制作最小的RCP程序压缩包(包含JRE)<br />java程序发布之jre篇<br />基本知道思路了,我把写的程序打包成jar,能双击运行了,然后拷贝一个jre到转载 2010-12-11 15:38:00 · 1532 阅读 · 1 评论 -
java 充当浏览器访问网站
<br />在用Java的HttpURLConnection 来下载网页,发现访问google的网站时,会被google拒绝掉。 <br /> try <br /> { <br /> url = new URL(urlStr); <br /> httpConn = (HttpURLConnection) url.openConnection(); <br /> HttpURLConnection.setFollowRedirects(true); <br /> // logger.info(ht转载 2010-12-27 16:39:00 · 4871 阅读 · 0 评论 -
java 计算时间差
package test; import java.util.*; public class Test2 { public static void main(String[] args) { long t1=System.currentTimeMillis(); //排序前取得当前时间 try { Thread.currentThread().sleep(3160); } catch(Exception err) { }转载 2010-12-27 19:04:00 · 7797 阅读 · 0 评论 -
java 线程池
JDK1.5中的线程池(java.util.concurrent.ThreadPoolExecutor)使用简介 在多线程大师Doug Lea的贡献下,在JDK1.5中加入了许多对并发特性的支持,例如:线程池。一、简介线程池类为 java.util.concurrent.ThreadPoolExecutor,常用构造方法为:ThreadPoolExecutor(int corePoolSize, int maximumPoolSize,long keepAliveTime,原创 2011-05-16 11:25:00 · 508 阅读 · 0 评论 -
java--time
这两个类使用起来非常方便,可以完成我们对定时器的绝大多数需求 Timer类是用来执行任务的类,它接受一个TimerTask做参数 Timer有两种执行任务的模式,最常用的是schedule,它可以以两种方式执行任务:1:在某个时间(Data),2:在某个固定的时间之后(int delay).这两种方式都可以指定任务执行的频率.看个简单的例子: import java.io.IOException;import java.util.Timer; public class TimerTest ...{publi转载 2011-05-17 23:20:00 · 919 阅读 · 0 评论 -
java serialVersionUID
Java中serialVersionUID的解释 serialVersionUID作用: <br /> 序列化时为了保持版本的兼容性,即在版本升级时反序列化仍保持对象的唯一性。<br />有两种生成方式:<br /> 一个是默认的1L,比如:private static final long serialVersionUID = 1L;<br /> 一个是根据类名、接口名、成员方法及属性等来生成一个64位的哈希字段,比如:<br /> private stat原创 2011-05-19 09:05:00 · 496 阅读 · 0 评论 -
JAVA获取CLASSPATH路径
<br /><br />ClassLoader提供了两个方法用于从装载的类路径中取得资源:<br />public URL getResource(String name); <br />public InputStream getResourceAsStream(String name);<br />这里name是资源的类路径,它是相对与“/”根路径下的位置。getResource得到的是一个URL对象来定位资源,而getResourceAsStream取得该资源输入流的引用保证程序可以从正确的位置抽取数转载 2010-06-22 20:32:00 · 6656 阅读 · 0 评论 -
contextclassloader 意义
<br /><br />父Classloader可以使用当前线程Thread.currentthread().getContextLoader()中指定的classloader中加载的类。<br />颠覆了父ClassLoader不能使用子Classloader或者是其它没有直接父子关系的Classloader中加载的类这种情况。<br />这个就是Context Class Loader的意义。转载 2010-06-22 19:56:00 · 586 阅读 · 0 评论 -
eclipse 调试 ant中运行的java
<br /><br />如果要在gameGarden下开发游戏的话,因为游戏会运行在sandbox中,服务端和客户端都将用ant任务来启动,这给开发调试带来了很多的困难。下面介绍一种可以在eclipse中调试ant任务的方法。<br /> <br />首先在build.xml中复制server任务到一个新的任务,比如叫做server-debug,在启动虚拟机的时候加入下面的这条语句。<br /> <br /><jvmarg value="-Xrunjdwp:transport=dt_socket,addre转载 2010-07-27 09:43:00 · 2461 阅读 · 0 评论 -
使用 Eclipse 远程调试 Java 应用程序
概述远程调试简单的说就是通过运行在A机器上的debug客户端要调试一个运行在远程B机器上的应用程序。工作中我们常常需要把程序部署在服务器上(有时联调受对方源IP限制,或者应用程序有时必须运行在特定机器上),而源代码在本机,这时我们一般习惯通过日志调试,迫不得已时可能会在服务器上运行个代理来解决源IP限制的问题,从而在本机的IDE环境中调试。但是不管怎样,远程调试(Remote Debugging)常常也是重要的。Sun在设计JPDA(Java Platform Debug architecture)就留下了转载 2010-07-27 09:45:00 · 953 阅读 · 0 评论 -
Java中文处理学习笔记——Hello Unicode
<br /><br />作者: 车东 Email: chedongATbigfoot.com/chedongATchedong.com<br />写于:2002/07 最后更新: Tue, 26 Oct 2004 02:25:01 GMT<br />版权声明:可以任意转载,转载时请务必以超链接形式标明文章原始出处和作者信息及本声明<br />http://www.chedong.com/tech/hello_unicode.html<br />关键词:linux java mutlibyte encodin转载 2010-08-04 08:50:00 · 2963 阅读 · 0 评论 -
JDK native2ascii工具用法
<br />背景:在做Java开发的时候,常常会出现一些乱码,或者无法正确识别或读取的文件,比如常见的validator验证用的消息资源(properties)文件就需要进行Unicode重新编码。原因是java默认的编码方式为Unicode,而我们的计算机系统编码常常是GBK等编码。需要将系统的编码转换为java正确识别的编码问题就解决了。<br />1、native2ascii简介:native2ascii 是sun java sdk提供的一个工具。用来将别的文本类文件(比如*.txt,*.ini,*.转载 2010-08-04 20:43:00 · 508 阅读 · 0 评论 -
在网页中使用Applet的标签详解
<br /><br />上一遍文章简要的说明了什么是Java Plug-in,那么这一篇我们就来就applet的使用方法进行一个详细的讨论:<br />虽然w3c不推荐使用applet,但用applet在企业内部网(Intranet)中进行applet的部署是一个推荐的常用做法,那么就先来讨论一下<applet>标签的使用。<br /><applet>的使用<br />再早期进行applet的部署,用<applet>标签是一种很常见的做法,applet标签所有的属性列表,你可以在这里找到,http://ww转载 2010-08-05 10:54:00 · 821 阅读 · 0 评论 -
什么是Java Plug-in
<br /><br />什么是Java Plug-in <br /> Java-plug-in,也就是我们通常说的Applet与JWS(Java Web Start),从技术上来讲,他们都隶属与RIA(Rich Internet Application)Java Plug-in的存在,使得在浏览器中运行Java程序成为可能,Java Plug-in在浏览器中作为插件存在,它扩展了浏览器的功能,也就是说在浏览器中,我们可以做的更多,更好。<br /> 现存Java版本可以支持很多的主流服务器,比转载 2010-08-05 11:01:00 · 1864 阅读 · 0 评论 -
浅析Context Class Loader
<br /><br />转载自 薛笛的专栏http://blog.youkuaiyun.com/kabini/archive/2008/09/24/2975263.aspx<br />浅析Context Class Loader<br />1 前言<br />对于一般的Java应用而言,类装载器是透明的,我们在做普通的Java桌面应用程序和Web程序的时候也很少会与ClassLoader打交道。但是当我们深入地研究一些WebServer(如Tomcat)的时候,发现里面用到了很复杂的自定义类装载器体系结构,想要了解其工转载 2010-06-14 09:31:00 · 553 阅读 · 0 评论 -
对 java线程synchronized的理解--转自新浪小竞
<br /><br />Java中内置了对于对象并发访问的支持,每一个对象都有一个监视器(monitor),同时只允许一个线程持有监视器从而进行对对象的访问,那些没有获得监视器的线程必须等待直到持有监视器的线程释放监视器。对象通过synchronized关键字来声明线程必须获得监视器才能进行对自己的访问。<br />例如<br />public void test(){<br /> synchronized(obj){<br /> //同步块1<br /> obj.add();<br />转载 2010-08-14 12:15:00 · 481 阅读 · 0 评论 -
java Static 用法
java Static 用法注:static成员变量的生存周期为程序运行开始到程序运行结束。。这就意味着你并不需要去初始化或者管理这些变量,随时拿来用即可,另外一方面,如果定义了过多的静态变量的话,会占用大量内存造成浪费,所以不要过多使用静态成员变量有时你希望定义一个类成员,使它转载 2011-07-20 17:01:35 · 869 阅读 · 0 评论 -
Java 正则表达式
<br />本文将介绍如何在Java中使用正则表达式来处理文本数据。正则表达式就是一个字符串,但和普通的字符串不同的是,正则表达式是对一组相似字符串的抽象,如下面的几个字符串:<br /> <br />a98b c0912d c10b a12345678d ab<转载 2010-06-27 12:24:00 · 512 阅读 · 0 评论 -
JAVA中string.replace()和string.replaceAll()的区别及用法
乍一看,字面上理解好像replace只替换第一个出现的字符(受javascript的影响),replaceall替换所有的字符,其实大不然,只是替换的用途不一样。public String replace(char oldChar,char newChar)返回一个新的字符串,它转载 2011-07-28 09:41:51 · 3079 阅读 · 0 评论 -
跨操作系统的JNI入门(Java调用C语言)
跨操作系统的JNI入门(Java调用C语言) 使用JNI的常规做法是:把性能敏感的模块用低级语言实现(一般是C语言),编译成动态连接库,然后在Java中调用这个链接库的方法。 但用了JNI以后,将失去Java的可移植性,例如在Windows下动态连接库是dll文件,而在Linux下则是so文件。二者文件格式不同,不能在其它平台被调用,解决方案是:分别编译好各个平台下的动态连接转载 2011-11-29 19:21:28 · 1191 阅读 · 0 评论 -
编译生成CLASS文件
在java中,如果在一个类中定义了内部类,刚会生成: super&this.class的文件,如果给某个控件添加了Listener事件,则会生成 super&i.class的文件,其中i为Listener的个数。转载 2011-12-01 18:43:46 · 630 阅读 · 0 评论 -
痴情研究java内存中的对象
总结:1. ==用于比较对象的引用值是否相同,即是否同一对象,而对于基本数据类型来说,==比较的是值,如果基本数据类型和同类型的类进行比较,也采取比值得方式。2. Integer和Character才用缓存的机制,存储常用的对象,Integer缓存值为-128—127之间的对象,而Character缓存ASCII在0—127之间的对象,如果使用Integer xx转载 2011-12-04 19:12:15 · 880 阅读 · 0 评论 -
Java相对路径读取文件
不管你是新手还是老鸟,在程序中读取资源文件总会遇到一些找不到文件的问题,这与Java底层的实现有关,不能算bug,只要方法得当,问题还是可以解决的。 项目的文件夹结构: repathtest ├─src │ └─com │ └─lavasoft │ ├─test │转载 2011-11-14 17:14:54 · 2484 阅读 · 0 评论 -
一道位操作的趣味编程题
看到一道很有意思的编程题:大厅里有64盏灯,每盏灯都编了号码,分别为1-64。每盏灯都由一个开关来控制。(开关按一下,灯亮,再按一下灯灭。开关的编号与被控制的灯相同。)开始时,灯是全灭的。现在按照以下规则按动开关。 第一次,将所有的灯点亮。 第二次,将所有2的倍数的开关按一下。 第三次,将所有3 的倍数的开关按一下。以此类推。第N次,将所有N的倍数的开关按一下。 问第N次(N小于等于64)按完转载 2011-12-08 19:47:10 · 890 阅读 · 0 评论 -
XML文件中DTD的简单应用-属性表声明
属性用于将名字-值对与元素进行关联。属性说明只能在【开始标签】和【空元素标签】中出现。属性表声明详细说明了与给定元素类型相关联的每一个属性的名字,数据类型和缺省值。属性表声明的语法如下:元素名:属性所属的元素的名字属性名:属性的名字属性类型:用来指定该属性属于哪种类型,共十种类型缺省声明:用于说明在元素中该元素是否必须出现,如果不是必须出现,那么在没有出现时,XML转载 2011-12-19 10:16:22 · 3101 阅读 · 0 评论 -
如何查看Class文件编译的JDK版本
由于JDK一般是向下兼容的,所以有时候本地的JDK版本比类库的版本低,往往会抛出java.lang.UnsupportedClassVersionError: Bad version number in .class file。有时候需要确认到底是哪个类的版本低。所以需要确认类的编译JDK的版本。 可用二进制编辑工具(例如EmEditor)打开类文件,会有以下的显示:转载 2012-02-23 15:23:35 · 1328 阅读 · 0 评论 -
在java中CreateProcess出现的异常的处理(备忘)
java中调用外部程序时,出现类似这样的异常:---------- java ----------java.io.IOException: CreateProcess: C:/j2sdk1.4.2_04/bin/javac error=267 at java.lang.Win32Process.create(Native Method) at java.lang.Win32Process.转载 2012-05-09 09:50:25 · 4863 阅读 · 0 评论 -
ActiveMQ介绍
使用 ActiveMQ 示例发表于:2010年1月23日 | 分类:Demo, Install | 标签: jms, mq, spring | views(10,360)版权信息: 可以任意转载, 转载时请务必以超链接形式标明文章原文出处, 即下面的声明.原文出处:http://blog.chenlb.com/2010/01/activemq-hello.htm转载 2011-11-28 22:37:05 · 772 阅读 · 0 评论 -
java 颜色列表
static Colour AQUA (浅绿色) static Colour AUTOMATIC (自动) static Colour BLACK (黑色)static Colour BLUE (蓝色)static Colour BLUE_GREY (蓝灰色)st转载 2011-11-08 14:49:06 · 11590 阅读 · 0 评论 -
OO设计原则 -- Dependency Inversion Principle:OO设计的 DIP依赖倒置原则
依赖倒置原则的2个重要方针A. High level modules should not depend upon low level modules. Both shoulddepend upon abstractions.高层模块不应该依赖于低层模块,二者都应转载 2011-09-25 19:42:25 · 591 阅读 · 0 评论 -
解决 java.util.MissingResourceException: Can't find bundle for base name com...con
Solve java.util.MissingResourceException: Can't find bundle for base name com...config, locale zh_CNat java.util.ResourceBundle.throwMissi转载 2011-10-10 10:39:43 · 2728 阅读 · 0 评论 -
Java 执行 SQL 脚本文件
假定Java 程序中要定期执行 SQL 语句,因需求变更应修改原有 SQL 语句或者加上更多的语句时,不得不修改源代码,然后再次编译。要是把 SQL 语句写在单独的 SQL 脚本文件中,由 Java 程序来定时加载执行,那么每次改动时仅仅修改 SQL 脚本文件就行了。Java 没有提供现成的东西,所以自己写了一个这样的 SQL 脚本执行类 SqlFileExecutor。支持通用的 SQL转载 2011-11-14 17:14:11 · 1149 阅读 · 0 评论 -
java中加载读取文件方式
在java程序中需要加载的文件的方法有两种:一种是利用文件的路径创建File类,从File中读取文件,或者创建url实例,从url中读取。一种是利用ClassLoader的getResource方法获取url,从url中读取。对于java类径路中的文件,使用第二种方法和第一种方法都可以。若将java工程打成独立的jar包执行的话,对与jar包内的文件使用第一种和第二种方法皆原创 2011-11-15 22:40:41 · 755 阅读 · 0 评论 -
java 中重要工具 VisualVM介绍
VisualVM 入门指南VisualVM 提供在 Java 虚拟机 (Java Virutal Machine, JVM) 上运行的 Java 应用程序的详细信息。在 VisualVM 的图形用户界面中,您可以方便、快捷地查看多个 Java 应用程序的相关信息。本入门指南应当对您快速设置并运行 VisualVM 有所帮助。本指南将演示如何安装 VisualVM,以及如何通过安转载 2011-09-12 16:15:23 · 6584 阅读 · 0 评论 -
java-正则表达式收集
1.验证IPv4地址Pattern pattern = Pattern.compile("(([1-9])|([1-9]\\d)|([1]\\d{2})|([2][0-4]\\d)|([2][5][0-5]))" + "(\\.((\\d)|([1-9]\\d)|([1]\\d{2})|([2][0-4]\\d)|([2][5][0-5]))){3}");转载 2011-11-02 09:40:00 · 768 阅读 · 0 评论 -
Statement和PreparedStatement之间的区别
转自: http://blog.sina.com.cn/u/3e9d2b3501000a521.PreparedStatement是预编译的,对于批量处理可以大大提高效率. 也叫JDBC存储过程2.使用 Statement 对象。在对数据库只执行一次性存取的时侯,用 Statement 对象进行处理。PreparedStatement 对象的开销比Statement转载 2011-11-07 23:02:13 · 668 阅读 · 0 评论 -
MySQL同时执行多条SQL语句解决办法
最近做一个数据库初始化工具的时候发现了这个问题,就是在一个Statement中执行一条SQL语句的时候可以正确执行,如果同时执行多条,就会报SQL语法错误,伤透了脑筋。 经过网上查找,发现有两种解决办法: 1、最简单的办法,在MySQL的连接字符串中设置allowMultiQueries参数置为true。 2、在程序中对SQL语句以分号拆分成多条SQL语句,然后转载 2011-11-07 22:53:31 · 1256 阅读 · 0 评论 -
java 文件读写代码收藏
感谢http://www.cnblogs.com/lovebread/archive/2009/11/23/1609122.html public class ReadFromFile { /** * 以字节为单位读取文件,常用于读二进制文件,如图片、声音、影像等文件。 */ public static void readFileByBytes(转载 2012-12-12 11:02:09 · 1129 阅读 · 0 评论