JAVA的Serialization机制如何进行对象的拷贝



JAVA的Serialization机制如何进行对象的拷贝?在JAVA中,对一个复杂的对象进行深拷贝是一件比较麻烦的事情,《JAVA核心编程》中介绍了一种独特的方法来进行对象的深拷贝, 该方法利用了Serialization机制,无需考虑对象的内部结构,无论多复杂的对象,写出来的代码都是一样的,大大的方便了程序员的工作,只不过效率稍微低下了一点,但不失为一种选择。

原理很简单,要把A对象拷贝给B,那就先把A对象写入到某个存储介质中,在让B对象去该存储介质中把内容读出来。在这一过程中,JAVA的Serialization机制会保证A和B的内容完全相同,即实现了从A到B的深拷贝。

以下[......]

Read more

java使用非递归实现素数环问题的实例源码介绍



java使用非递归实现素数环问题的实例源码介绍。关于素数环问题,我在早先的一个帖子里已经做了详细的说明。那时候我用的是递归的方式来实现的。今天我又使用非递归的方式把这个问题做了一遍。

package andycpp;

public class Main {

public static void main(String[] args) {
primering(20);
}

public static void primering(int n) {
if(n % 2 != 0) {
System.out.println(“若要实现素数环,元素的个数必须为偶数,您的输[......]

Read more

java验证日期格式的正确性实例源码

java验证日期格式的正确性实例源码,使用java编程的时候,经常要验证一个日期的正确性,在网上看到一个十分简易但不是很完善的方法,挺有意思的,代码如下:

public static boolean validateDate(String date) {
SimpleDateFormat sdf = new SimpleDateFormat(“yyyy-M-d”);
try {
Date d = sdf.parse(date);
String s = sdf.format(d);
return date.compareTo(s)==0;
} catch (ParseExcep[......]

Read more

常见Swing监听器事件处理方法实例源码介绍

常见Swing监听器事件处理方法实例源码介绍。java swing编程实例。监听器:ActionListener
     法:actionPerformed
     件:ActionEvent
               ●  String  
getActionCommand()

actioncommand是控件内部的一个字符串,用于标识控件的状态。此函数可以取得控件的状态,从而决定到底该做什么。

                 int  getModifiers()

取得“产生此事件时,用户同时按下的组合键”

               ●  long [......]

Read more

Tomcat5.5中文乱码完美解决方案有哪些

Tomcat5.5中文乱码完美解决方案有哪些?新手学习Web编程的时候大多数都是使用Tomcat作为服务器,其中面临的一个最主要的问题就是中文乱码问题。JAVA阵营的工具不如.NET阵营那样容易使用,我们必须手动的做一些修改才能让Web页面支持中文。幸运的是,Tomcat发展到今天的5.5版本,对于非英文的支持已经相当不错了,你只需做很少的很简单的修改就可以让网页支持中文,下面我们就来看一看该如何做修改。

首先,对于所有的页面应该指定为GBK编码,也就是包含如下指令:

<%@ page contentType=”text/html;charset=GBK” language=[......]

Read more

Eclipse+Tomcat环境下如何使用JSTL实例源码介绍

Eclipse+Tomcat环境下如何使用JSTL实例源码介绍。随着JAVA EE5的出现,JSP技术已经升级为2.1版本,其中一个比较重要的特性就是JSTL1.2,允许你在JSP页面中使用标签来简化开发。现在简单介绍一下在Tomcat+Eclipse环境下如何使用JSTL技术。

先需要明确的一个概念是:JSP2.1虽然是JAVA EE5的一部分,但他只是一个规范,具体的实现还要靠各个厂商来完成。比如我们的Tomcat5.5,他就没有实现JSP2.1规范,他只实现了JSP2.0规范。因此,你在Tomcat5.5中就无法使用JSP2.1中的JSTL1.2技术,只能使用稍微早一点的版本,也就[......]

Read more

java Swing给一个窗体增加快捷键实例源码介绍

java Swing给一个窗体增加快捷键实例源码介绍。熟练运用一些快捷键的话,会大大增加效率,那么使用Swing编程该如何添加快捷键呢?下面就来实现他。一般来讲,快捷键一定是要被绑定到某一个组件上面的,并且在这个组件拥有焦点的时候快捷键才有效。这就遇到问题了,并没有哪一个组件能够长期拥有焦点,焦点是经常变化的,难道快捷键也会随着组件失去焦点而失效吗?Swing的设计者考虑到了这个问题,他们放宽了快捷键有效的范围:本组件拥有焦点,快捷键有效;本组件内部包含的其他组件拥有焦点,快捷键有效;与本组件处于并列关系的其他组件(即几个组件位于同一个容器中)拥有焦点,快捷键有效。

Swing并没有把快[......]

Read more

JAVA事件处理机制注意事项以及相关的自定义事件

JAVA事件处理机制注意事项以及相关的自定义事件。JAVA的事件处理机制的核心内容是:事件的发生与事件的处理相分离。某一个组件发生了一些变化,则该组件只需要产生一个事件,而不用关心该事件如何被处理。其它组件如果对该事件感兴趣,则编写相应的事件处理代码。
例子:点击一个按钮,改变JPanel的背景色。事件的发生代码一定是写在按钮类里面的(由于这个事件已经被AWT定义好了,因此不用我们操心,后面会讲到自定义事件),而事件的处理代码一定是写在JPanel类里面的(我们会在继承于JPanel的一个类中定义一个ActionListener,实现actionPerformed方法),最后把这个Actio[......]

Read more

java算法计算1到N个数里面一到底有多少个

java算法计算1到N个数里面一到底有多少个,统计1出现的总次数。首先是我做的,从1到n,对每个数字都数一下里面有多少个1,累加起来得到最终的结果。好大一个循环啊,循环里面还要再套循环,感觉挺垃圾的一个程序:
// 第0个元素表示当前数字的长度,第1个元素表示个位,第2个表示十位……
int[] num = { 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0 };
int n = 12345;
int count = 0;
for (int i = 1; i <= n; i++) {
// 统计当前数字的1的个数
for (int k = 1; k <[......]

Read more

java Swing日期选择组件与JDialog的冲突问题实例源码

java Swing日期选择组件与JDialog的冲突问题实例源码。

由于很多应用程序都需要用户输入日期,却又怕用户输入的日期格式错误,所以日期选择组件便应运而生。虽然我们很需要它,但是网上绝大多数的组件都是需要给钱的。在找到SwingX之前,我找到的唯一能够免费使用的日历组件就是一个名为DateChooserJDialog

看样子很不错,它支持中文,对于今天高亮显示,可以调整年分和月份……一切都非常符合要求。但是这么好的组件却不能用在我的程序里,原因是在我的程序中,调用这个组件的组件也是一个JDialog,并且设置了setAlwaysOnTop(true)—即总在最前端显[......]

Read more