Java编程技巧
文章平均质量分 74
jackoo
这个作者很懒,什么都没留下…
展开
-
用JFig管理配置文件
许多应用使用各种各样的配置文件。配置在应用开发中扮演着一个重要的角色。因为在java应用中,各种各样的配置文件被使用,如属性文件,XML文件等。JFig对于Java应用来说,是一个强大且易于使用的配置工具。它允许开发者管理更多的配置文件。列表1展示了一个JFig的一个简单的配置文件,名字为:主机名.config.xml,这儿的“主机名”就是hostname。这是因为JFig默认转载 2009-07-13 17:57:00 · 2137 阅读 · 2 评论 -
java5线程框架Executor的用法举例
java.util.concurrent 与java线程框架有关的类主要都在这个包下。 java.util.concurrent.atomic 包含了不用加锁情况下就能改变值的原子变量。 java.util.concurrent.locks 包包含锁定的工具 Executor 是 java5 下的一个多任务并发执行框架(DougLea),可以建立一个转载 2009-07-06 14:11:00 · 4016 阅读 · 1 评论 -
Timer & TimerTask sample
invoke: private static Timer timer = new Timer(true); private static DiscoveryTask discover = new DiscoveryTask(); DiscoveryTask.productModuleGuid = productModuleGuid; timer.sch原创 2009-07-06 11:20:00 · 831 阅读 · 0 评论 -
java守护线程读取配置文件
java守护线程读取配置文件对于某些应用需要实时读取配置文件,但是读取的频率非常高,比如1秒100次以上,修改配置文件的频率远远低于读取频率。此时如果当程序执行的时候每次都读取配置文件,那么系统的io可能会有些压力,因此可以做一个守护线程每隔一段时间(例如1分钟)读取一次配置文件,代码直接取最新的配置文件的值来执行,这样既降低了读取配置文件的频率又获得了较好的实时性。代码如转载 2009-07-06 11:00:00 · 1188 阅读 · 0 评论 -
多播
4.3.2 多播与广播一样,多播与单播之间的一个主要区别是地址的形式。一个多播地址指示了一组接收者。IP协议的设计者为多播分配了一定范围的地址空间,IPv4中的多播地址范围是224.0.0.0到239.255.255.255,IPv6中的多播地址是任何由FF开头的地址。除了少数系统保留的多播地址外,发送者可以向以上范围内的任何地址发送数据。Java中多播应用程序主要通过Multic转载 2009-07-02 10:04:00 · 1123 阅读 · 0 评论 -
java基于TCP的socket编程简单实现[代码实践过]
1.什么是socket 所谓socket通常也称作"套接字",用于描述IP地址和端口,是一个通信链的句柄。应用程序通常通过"套接字"向网络发出请求或者应答网络请求。 以J2SDK-1.3为例,Socket和ServerSocket类库位于java.net包中。ServerSocket用于服务器端,Socket是建立网络连接时使用的。在连接成功时,应用程序两端都会产生一个So转载 2009-07-01 16:58:00 · 1497 阅读 · 1 评论 -
java基于UDP的socket通信
一.socket通信有2种,一种是基于tcp的可靠连接,一种是基于UDP的无连接包投递服务连接,UDP通信中常用到的类有:DatagramSocket类和DatagramPacket类。二.DatagramSocket类表示用来发送和接收数据报包的套接字。 数据报套接字是包投递服务的发送或接收点。每个在数据报套接字上发送或接收的包都是单独编址和路由的。从一台机器发送到另一台机器的多个包转载 2009-07-01 16:55:00 · 919 阅读 · 0 评论 -
用于Commons Digester的基于XML的规则集
Commons Digester1.6提供了将XML转化为对象的最简单的方法。Digester已经由OReilly网站上的两篇文章介绍过了:“学习和使用JakartaDigester”,作者是Philipp K. Janert,和“使用Jakarta Commons, 第二部分”,作者是VikramGoyal。两篇文章都演示了XML规则集的使用,但如何在XML中定义规则集并没有理解。转载 2009-06-24 14:56:00 · 741 阅读 · 0 评论 -
XJL:XML文件处理
XJL:XML文件处理发布: 2007-5-18 12:03 | 作者: 丢失信仰的猪 | 来源: www.chinaitlab.com | 查看: 1次<!--google_ad_client = "pub-7484653539234976";/* 300x250, 创建于 09-4-21com */google_ad_slot = "8427转载 2009-06-24 14:54:00 · 572 阅读 · 0 评论 -
守护线程
守护线程是为其他线程的运行提供便利的线程。守护线程不会阻止程序的终止。Java的垃圾收集机制的某些实现就使用了守护线程。非守护线程包括常规的用户线程或诸如用于处理GUI事件的事件调度线程。程序可以包含守护线程和非守护线程。程序只有守护线程时,该程序便可以结束运行。如果要使一个线程成为守护线程,则必须在调用它的start方法之前进行设置(通过以true作为转载 2009-07-06 11:02:00 · 563 阅读 · 0 评论 -
使用守护线程,为特定任务计时
最近在开发blog的注册系统的时候遇到一个小小的困难,因为blog的注册是通过访问blog系统的页面并模拟人的行为来为用户注册的,在正常情况下是没有问题的,但是如果遇到异常,这样的注册方式就显得很脆弱了,比如用户已经注册过,这个时候虽然页面上会出现错误提示,但是用程序来捕捉这样的提示比较困难,而且如果这样做还需要加上更多的判断,考虑各种可能的异常情况,如果考虑不全,会极大降低该模块的可转载 2009-07-06 11:03:00 · 793 阅读 · 0 评论 -
ThreadLocal 介绍
早在Java1.2推出之时,Java平台中就引入了一个新的支持:java.lang.ThreadLocal,给我们在编写多线程程序时提供了一种新的选择。使用这个工具类可以很简洁地编写出优美的多线程程序,虽然ThreadLocal非常有用,但是似乎现在了解它、使用它的朋友还不多。 ThreadLocal是什么 ThreadLocal是什么呢?其实ThreadLoca转载 2009-07-10 14:57:00 · 479 阅读 · 0 评论 -
Java to learning.....
以Ruby为助力的Ruby on Rails 横空出世,又刷新了一次人们对Framework的认识:Closures、Maxin、Continuations、Metaprogramming、Reflection,又一堆名词砸得人悴不及防。 Java 虽然没有动态语言般暴起,但仍然天连天,水接水的生出好多框架技术---反射(reflection),泛型(generics),元数转载 2009-07-10 16:30:00 · 450 阅读 · 0 评论 -
ThreadLocal是什么
早在JDK 1.2的版本中就提供java.lang.ThreadLocal,ThreadLocal为解决多线程程序的并发问题提供了一种新的思路。使用这个工具类可以很简洁地编写出优美的多线程程序。ThreadLocal很容易让人望文生义,想当然地认为是一个“本地线程”。其实,ThreadLocal并不是一个Thread,而是Thread的局部变量,也许把它命名为ThreadLocalVari转载 2009-07-10 15:00:00 · 385 阅读 · 0 评论 -
Java Annotation手册
版权声明:本文可以自由转载,转载时请务必以超链接形式标明文章原始出处和作者信息及本声明 作者:cleverpig(作者的Blog:http://blog.matrix.org.cn/page/cleverpig)原文:http://www.matrix.org.cn/resource/article/44/44055_Java+Annotation+Reflect.html转载 2009-07-08 13:57:00 · 295 阅读 · 0 评论 -
Java Annotation入门
版权声明:本文可以自由转载,转载时请务必以超链接形式标明文章原始出处和作者信息及本声明作者:cleverpig(作者的Blog:http://blog.matrix.org.cn/page/cleverpig)原文:[http://www.matrix.org.cn/resource/article/44/44048_Java+Annotation.html]http:转载 2009-07-08 13:56:00 · 1127 阅读 · 0 评论 -
Java Annotation 高级应用
Java Annotation 高级应用 版权声明:本文可以自由转载,转载时请务必以超链接形式标明文章原始出处和作者信息及本声明 作者:cleverpig(作者的Blog:http://blog.matrix.org.cn/page/cleverpig)原文:http://www.matrix.org.cn/resource/article/44/44062转载 2009-07-08 17:05:00 · 530 阅读 · 0 评论 -
java5线程框架Executor 排程定时功能
1,带有排程功能的例子(测试ScheduledExecutorService)。 应用场景:延时5秒后每秒执行一次task1,task1打印一些信息;延时10秒后执行task2, task2用来取消task1的执行。=============== ScheduledExecutorServiceTest.java start ==================pack转载 2009-07-06 14:25:00 · 1189 阅读 · 0 评论 -
Timer & sleep()
我在做一个东东,要定时从某些地方读取消息 例如,每5S读取一次消息,然后再把消息保存到本地。 开始打算用Timer做,但是发现,如果用Timer,那么有可能下一次任务开始了,但是上一次任务还在进行。为了防止这种情况的出现我打算使用Sleep()来代替原来的方案。 //原来的方案 timer.schedule(new MyTask(),转载 2009-07-06 11:19:00 · 1624 阅读 · 0 评论 -
Using the java.rmi.server.codebase Property
Dynamic code downloading using Java RMIDynamic code downloading using JavaTM RMI(Using the java.rmi.server.codebase Property)This tutorial is organized as follows: Starting out转载 2009-06-23 14:11:00 · 1413 阅读 · 0 评论 -
Apache之Digester
Digester是apache开源项目Commons中的一个子项目,是一款解析处理XML文档的工具。现在Java领域中流传了很多有关处理XML文档解析的工具,除官方(Sun)的标准的SAX(最新版本2.0),DOM(最新版本3.0,在Tiger版本中集成)外[JAXP只是Sun定义的一组规范接口],其他开源不泛多多,比如Jdom,Dom4j,Castor等等,包括这款Apache的dige转载 2009-06-24 14:57:00 · 1950 阅读 · 0 评论 -
toString、hashCode、equals的重写原因与重写示例
2009-02-19 16:03 问题一:我们自定义类中的toString()、hashCode()和equals(Objectobj)均继承自Object,其中equals()方法是比较两对象的地址是否相同,hashCode()方法返回的是该对象本身的内存地址。但这个需求不能满足我们的需求。如问题二。(JDK中其它类都已重写了上述方法,不作考虑) 问题二:在转载 2009-08-10 15:53:00 · 1048 阅读 · 0 评论 -
开发人员一定要加入收藏夹的23个网站
开发人员一定要加入收藏夹的23个网站 收藏 document.body.oncopy = function() { if (window.clipboardData) { setTimeout(function() { var text =转载 2009-08-07 14:15:00 · 852 阅读 · 0 评论 -
必备的 Java 参考资源列表【转】
Web 站点和开发人员 Web 门户 java.sun.com 这是 JDK 的发源地,通常是 Java 开发人员下载 JDK 和文档副本的首要站点。除此之外,该站点还是查找有关整个 Java 平台的信息的好来源,包括一段非常详细的 JVM 介绍(Hotspot),它极其深入地描述了 JVM 的细节。 java.net Java.NET 站点汇集了开源项目转载 2009-05-27 17:20:00 · 694 阅读 · 0 评论 -
几个老的JAVA问题
1、interface与abstract class的区别 2、collection中类的层次结构 7.7. 抽象类 1) Abstract(抽象)可以修饰类、方法如果将一个类声明为abstract,此类不能生成对象,只能被继承使用。Abstract类的设计是将子类的共性最大限度的抽取出来,以提高程序的统一性。2) 一个类中包含有抽象方法转载 2009-05-27 17:17:00 · 468 阅读 · 0 评论 -
JDBC与JNDI的区别
程序员开发时,知道要开发访问MySQL数据库的应用,于是将一个对 MySQL JDBC 驱动程序类的引用进行了编码,并通过使用适当的JDBC URL 连接到数据库。 就像以下代码这样: Connection conn=null;try ...{Class.forName("com.mysql.jdbc.Driver", true,Thread.currentTh转载 2009-07-27 14:21:00 · 1141 阅读 · 0 评论 -
Core Java Concurrency 多线程小手册(基本涵盖多线程所有要点)
关于 Java Concurrency 自从Java诞生之时,Java 就支持并行的概念,比如线程和锁机制。这个教程帮助开发多线程Java程序员能够理解核心的Java并行理念以及如何使用他们。 内容涉及到Java语言中的线程, 重练级以及轻量级同步机制 以及JavaSE 5 中的锁,原子量 并行容转载 2009-07-17 14:10:00 · 1094 阅读 · 0 评论 -
Hibernate的三种连接池设置C3P0、Proxool和DBCP
以下三种连接都是以连接MySQl为例。 <propertyname="connection.driver_class">org.gjt.mm.mysql.Driver<propertyname="connection.url">jdbc:mysql://localhost:3306/struts?useUnicode=true&characterEncoding=转载 2009-07-14 16:07:00 · 769 阅读 · 0 评论 -
JFig读取配置文件,实现动态加载
size=small] 通过JFig.jar可以实现读取配置文件,把数据保存到集合中,然后通过代理就可以实现动态加载了.Collection类Java代码 /** * @author 42087743 * 功能:读取配置文件,将数据存储到hashmap中转载 2009-07-14 09:59:00 · 1132 阅读 · 0 评论 -
JarInputStream Sample
/* * Created on Jan 31, 2008 Copyright (c) Sybase, Inc. 2008 All rights reserved. */package com.sybase.uep.tooling.deploy.uepserver.operations;import java.io.File;import java.io.FileInputS原创 2009-06-10 17:39:00 · 822 阅读 · 0 评论 -
JarInputStream Sample2
public static void cpJar() { try { JarInputStream jarIn = new JarInputStream(new FileInputStream("inputJar.jar")); JarOutputStream jarOut = new JarOutputStream(new FileOutputStre原创 2009-06-10 17:59:00 · 614 阅读 · 0 评论 -
CheckedInputStream&CheckedOutputStream
求和校验java.util.zip包中另外一些比较重要的类是Adler32和CRC32,它们实现了java.util.zip.Checksum接口,并估算了压缩数据的校验和(checksum)。众所周知,在运算速度方面,Adler32算法比CRC32算法要有一定的优势;但在数据可信度方面,CRC32算法则要更胜一筹。正所谓,"鱼与熊掌,不可兼得。",大家只好在不同的场合下,加以转载 2009-06-18 15:12:00 · 1754 阅读 · 0 评论 -
java IO应用
IO流的典型应用尽管库内存在大量IO流类,可通过多种不同的方式组合到一起,但实际上只有几种方式才会经常用到。然而,必须小心在意才能得到正确的组合。下面这个相当长的例子展示了典型IO配置的创建与使用,可在写自己的代码时将其作为一个参考使用。注意每个配置都以一个注释形式的编号起头,并提供了适当的解释信息。//: IOStreamDemo.java// Typical IO转载 2009-06-18 13:41:00 · 549 阅读 · 0 评论 -
Java IO学习笔记+代码
Java IO学习笔记+代码 文件对象的生成和文件的创建 /* * ProcessFileName.java * * Created on 2006年8月22日, 下午3:10 * * 文件对象的生成和文件的创建 */package study.iostudy;import java.io.*;public class GenerateFi转载 2009-06-18 11:31:00 · 387 阅读 · 0 评论 -
LineNumberReader 提供更好的出错消息
开发人员经常会随手写一些类来读入一个简单的配置文件,或者用BufferedReader一行一行地读入特定格式的数据。这些随手写成的解析器往往会提供基本的出错报告,但有时候它们会很难记录下出错的行号。幸运的是,Java的java.io.LineNumberReader类提供了行号的记录而不需做任何额外的工作。 java.io.LineNumberReader类是java.io.Buf转载 2009-06-18 13:40:00 · 473 阅读 · 0 评论 -
Java处理Zip文件
Java处理Zip文件 作者:曾巧(numenzq) 最近做的一个项目需要用Java程序读写Zip文件,迫于找不到好的工具类来处理,也只好用java.util.zip包提供的类来实现Zip文件的压缩和解压操作了,在这之前你需要了解以下几个基本概念: ZipEntry:This class转载 2009-06-12 14:33:00 · 606 阅读 · 0 评论 -
PipedInputStream与PipedOutputStream
在Java的IO流中有一种很特殊的流就是管道流类:PipedInputStream PipedOutputStream.这两个类的实例对象必须要通过connect方法连接. 其实看这么一个程序就知道了管道流类的使用方法. //sender.java import java.io.*;转载 2009-06-11 10:30:00 · 2678 阅读 · 2 评论 -
JAAS简介及实例
JAAS是对JCE安全框架的重要补充,通过提供认证用户和确定用户授权来增强JAVA解决方案的动态安全性,使得资源能够得到很好得到保护和控制(JAAS使用动态的安全策略来定义权限,而不是将其静态的嵌入到代码中)。 JAAS采用的是插件的运行方式,一开始就被设计成可插拔的(Pluggable),根据应用的需要,只要配置一下JAAS的配置文件,这些组件即可包含在我们的应用程序中。转载 2009-08-19 16:07:00 · 1259 阅读 · 2 评论 -
关于PrintWriter和PrintStream的区别
关于PrintWriter和PrintStream的区别2008-08-16 20:06PrintStream类和PrintWriter类 PrintStream类是过滤器类中一个不可忽视的成员,最基本的标准输出就要借助于它——我们常用的System.out变量就是PrintStream实例。与之对应的字符流类是PrintWriter类。 PrintS转载 2009-06-11 10:20:00 · 2481 阅读 · 0 评论 -
JMX Notification
JMX Notification 收藏 document.body.oncopy = function() { if (window.clipboardData) { setTimeout(function() { var text =转载 2009-09-22 15:36:00 · 607 阅读 · 0 评论