每5秒生成一个随机数代码
由 milk 于 星期四, 2010-01-21 10:05 发表
import java.util.Random;
import java.util.Timer;
import java.util.TimerTask;
/**
* Java如何每5秒生成一个随机数
*
* @author Java人(java2000.net)
*/
public class Test {
public static void main(String[] args) {
final Random random = new Random();
Timer executeSchedule = new Timer();
executeSchedule.schedule(new TimerTask() {
@Override
public void run() {
System.out.println(random.nextInt());
}
}, 0, 5000);
}
}
举例说明什么是JAVA序列化
由 milk 于 星期四, 2010-01-21 10:03 发表 首先来看看要序列化的对象
[code]
Person.java
package com.zjut.yunfeiyang;
import java.io.Serializable;
public class Person implements Serializable{
private static final long serialVersionUID = -5434734211562785652L;
public Person() {
}
private String name;
private String password;
private String id;
private String address;
/**
* @return the name
*/
public String getName() {
return name;
}
/**
* @param name the name to set
*/
public void setName(String name) {
this.name = name;
}
/**
PING和TELNET用法介绍
由 maggie 于 星期三, 2010-01-20 14:00 发表JAVA里的PING是在JDK 1.5后用了新的函数isreachable去实现,具体介绍如下:
InetAddress对象的常用方法
InetAddress类有很多get方法,用来获取主机名,主机地址等信息。主要有:
byte[] getAddress() 返回次InetAddress对象的原始IP地址,保存为一个byte数组
String getCanonicalHostName() 获取此IP地址的完全限定域名
String getHostAddress() 获取IP地址的字符串,返回为一个String
String getHostName() 获取此IP地址的主机名
下面一个简单的例子展示这些方法的使用:
[code]
package org.dakiler.javanet.chapter1;
import java.net.InetAddress;
public class Example3
{
public static void main(String args[])throws Exception
{
InetAddress address=InetAddress.getByName("www.microsoft.com");
Java异常类总结
由 maggie 于 星期三, 2010-01-20 13:57 发表算术异常类:ArithmeticExecption
空指针异常类:NullPointerException
类型强制转换异常:ClassCastException
数组负下标异常:NegativeArrayException
数组下标越界异常:ArrayIndexOutOfBoundsException
违背安全原则异常:SecturityException
文件已结束异常:EOFException
文件未找到异常:FileNotFoundException
字符串转换为数字异常:NumberFormatException
操作数据库异常:SQLException
输入输出异常:IOException
方法未找到异常:NoSuchMethodException
java.lang.AbstractMethodError
抽象方法错误。当应用试图调用抽象方法时抛出。
java.lang.AssertionError
断言错。用来指示一个断言失败的情况。
java.lang.ClassCircularityError
引用类型和原始类型
由 milk 于 星期二, 2010-01-19 18:00 发表Java 提供两种不同的类型:引用类型和原始类型(或内置类型)。另外,Java 还为每个原始类型提供了封装类(Wrapper)。如果需要一个整型变量,是使用基本的 int 型呢,还是使用 Integer 类的一个对象呢?如果需要声明一个布尔类型,是使用基本的 boolean,还是使用 Boolean 类的一个对象呢?本文可帮助您作出决定。
下表列出了原始类型以及它们的对象封装类。
原始类型 封装类
================= boolean Boolean char Character byte Byte short Short int Integer long Long float Float double Double
引用类型和原始类型的行为完全不同,并且它们具有不同的语义。例如,假定一个方法中有两个局部变量,一个变量为 int 原始类型,另一个变量是对一个 Integer 对象的对象引用:
int i = 5; // 原始类型 Integer j = new Integer(10); // 对象引用
值传递和引用传递
由 milk 于 星期二, 2010-01-19 17:56 发表在java中实质只存在一种传递方式:即值传递。 而引用传递是对C/C++而言的。结论:
对于基本类型,在方法体内对方法参数进行重新赋值,并不会改变原有变量的值。
对于引用类型,在方法体内对方法参数进行重新赋予引用,并不会改变原有变量所持有的引用。
方法体内对参数进行运算,不影响原有变量的值。
方法体内对参数所指向对象的属性进行运算,将改变原有变量所指向对象的属性值。
在JAVA中变量有以下两种:
基本类型变量,包括char、byte、short、int、long、float、double、boolean。
引用类型变量,包括类、接口、数组(基本类型数组和对象数组)。
最后我们得出如下的结论:
基本类型和基本类型变量被当作参数传递给方法时,是值传递。在方法实体中,无法给原变量重新赋值,也无法改变它的值。
对象和引用型变量被当作参数传递给方法时,在方法实体中,无法给原变量重新赋值,但是可以改变它所指向对象的属性。
[code]
2 public class Person
3 {
4 private String name = null;
5 private int age = 0;
6
如何应用Clone
由 maggie 于 星期一, 2010-01-18 17:02 发表对于克隆(Clone),Java有一些限制:
1、被克隆的类必须自己实现Cloneable 接口,以指示 Object.clone() 方法可以合法地对该类实例进行按字段复制。Cloneable 接口实际上是个标识接口,没有任何接口方法。
2、实现Cloneable接口的类应该使用公共方法重写 Object.clone(它是受保护的)。某个对象实现了此接口就克隆它是不可能的。即使 clone 方法是反射性调用的,也无法保证它将获得成功。
3、在Java.lang.Object类中克隆方法是这么定义的:
protected Object clone() throws CloneNotSupportedException
创建并返回此对象的一个副本。表明是一个受保护的方法,同一个包中可见。
按照惯例,返回的对象应该通过调用 super.clone 获得。
引题:
举个例子说吧,现在有一个对象比如叫foo,你需要在创建当前对象的一个副本作为存根你能怎么做?
假如你不用Clone,那么你可以先new一个对象foo1:Foo foo1=new Foo(),然后用foo给foo1对象set值,这样就得到foo的副本foo1;除此之外,别无选择。
Java线程同步的使用
由 maggie 于 星期二, 2010-01-12 13:04 发表Synchronized,顾名思义,代表线程同步。那么,在java编程中如何使用它呢?
我们首先来看这样一个情况:对于同一个变量synDemo,我们分别在2个不同的线程中调用synDemo.synMethord1()与synDemo.synMethord2()。
[code]
package com.cnblogs.gpcuster;/** * * @author Aaron.Guo * */
public class Tester {public static void main(String[] args) {final SynDemo synDemo = new SynDemo();Thread thread1 = new Thread() {@Overridepublic void run() {// TODO Auto-generated method stub
super.run();synDemo.synMethord1();}};Thread thread2 = new Thread() {@Overridepublic void run() {// TODO Auto-generated method stub










最新评论
1 天 12 小时之前
1 天 12 小时之前
2 天 7 小时之前
2 天 8 小时之前
2 天 14 小时之前
2 天 14 小时之前
2 天 14 小时之前
2 天 16 小时之前
2 天 16 小时之前
2 天 17 小时之前