/**
* InvokeTester.java
* 版权所有(C) 2010 cuiran2001@163.com
* 创建:崔冉 2010-2-9 下午02:07:13
*/
package com.timer.demo.objectsocket;
import java.lang.reflect.Method;
/**
* @author 崔冉
*
*/
public class InvokeTester {
public int add(int param1, int param2) {
return param1 + param2;
}
public String echo(String mesg) {
return "echo" + mesg;
}
public static void main(String[] args) throws Exception {
Class classType = InvokeTester.class;
Object invokertester = classType.newInstance();
Method addMethod = classType.getMethod("add", new Class[] { int.class,
int.class });
//Method类的invoke(Object obj,Object args[])方法接收的参数必须为对象,
//如果参数为基本类型数据,必须转换为相应的包装类型的对象。invoke()方法的返回值总是对象,
//如果实际被调用的方法的返回类型是基本类型数据,那么invoke()方法会把它转换为相应的包装类型的对象,
//再将其返回
Object result = addMethod.invoke(invokertester, new ......
今天碰到了一个很变态的问题,写了一个很简单的HelloWord.java,内容如下:
package com.yanjiuyanjiu;
public class HelloWorld {
public static void main(String args[]) {
System.out.println("Hello World!");
}
}
在eclipse中运行是可以的,但是在命令行下运行总是失败。我的工程位置为 d:\workspace\HelloWorld\。
尝试了很多次,如下
d:\workspace\HelloWorld\bin\com\yanjiuyanjiu\>java HelloWorld
Exception in thread "main" java.lang.NoClassDefFoundError: HelloWorld (wrong name: com/yanjiuyanjiu/HelloWorld)
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClassCond(Unknown Source)
at java.lang.ClassLoader.defineClass(Unknown Source)
at java.security.SecureClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.defineClass(Unknown Source)
at java.net.U ......
import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.FileWriter;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.util.StringTokenizer;
public class FileOperate {
private String message;
public FileOperate() {
}
/**
* 读取文本文件内容
* @param filePathAndName 带有完整绝对路径的文件名
* @param encoding 文本文件打开的编码方式
* @return 返回文本文件的内容
*/
public Strin ......
JAVA的序列化API,它提供了一个框架,用来将对象编码成一个字节流,以及从字节流编码中重新构建对象。将一个对象编码成一个字节流,这个是序列化过程,反过来就是饭序列化。一旦一个对象被序列化后,则它的编码可以从一个正在运行的虚拟机被传递到另外一个虚拟机上,或者被存储在磁盘上,供以后反序列化使用。序列化技术为远程通信提供了标准的线路,这样我们的JAVABEAN组件结构提供了标准的永久数据格式。
谨慎实现Serializable
要想使一个类的实例可以被序列化,我们只要在声明中加入“implements java.io.Serializable”就可以。正是因为太容易了,所以普遍存在一个误解:程序员只需要做极少的工作就可以支持序列化了。实际情形是十分复杂的。
因为实现Serializable而付出的最大代价是,一旦一个类被发布,则“改变这个类的实现”的灵活性将大大降低。 ......
java同一用户登录问题
1.上个月也有讨论这个问题的,有好多人都发表了意见,但也没有标准的答案
我看到一个,:将SEssionID存入DB中,当你登录时,判断当前的SEssionID和DB
里是不是同一个,如果不是,说明是第二人登录了,那就将DB里的SESSIONID注销
然后再处理第二个登录.
2.在Context中建立一个Map <String,Sission>,存放的是用户名和用户的session.
当用户登录时先从Context中检查Map中有无此username的KEY,来判断用户是否登录.
由于Map中存放的value是用户的session,所以还可以使后登陆用户踢掉先前用户.
不过要在工程下加一个session的监听器,当用户session失效时要及时把用户在Context的Map里面的K/V移除掉. ......
LADyR是西班牙一个实验室有个web extraction的项目 http://ladyr.es/index.php?id=75 当然这个项目还没出来,不过里面有个介
绍用java嵌入浏览器的教程(http://ladyr.es/wiki/wiki/XPCOMGuide)很不错。所以把这篇文章翻译一下,顺便说说自己学习这篇
文章值得注意的地方。说明一下我使用的操作系统是windows xp。下面都是翻译的内容,如果是我自己的说明会标明。 ......