java Ñ»·´òÓ¡³öij¶ÔÏóËùÔÚÀàµÄÀàÃûºÍ·½·¨
public class A {
public void b(){}
public void c(){}
public void d(){}
public void e(){}
}
import java.lang.reflect.*;
public class StaticTest {
public static void test(Object obj)
{
Class myclass = obj.getClass();
//System.out.println(myclass.getName());
Method[] mymethods = myclass.getDeclaredMethods();
int n = mymethods.length;
for(int i=0; i<n; i++)
{
System.out.println("ÀàÃû£º"+myclass.getName()+"; ·½·¨Ãû£º"+mymethods[i].getName());
}
}
public static void main(String args[]){
A a = new A();
test(a);
}
}
......
¡¡¡¡Ê×ÏȽâÊÍÁ½¸ö¸ÅÄî,ºÎΪÐòÁл¯?ºÎΪ·´ÐòÁл¯?
¡¡¡¡ÐòÁл¯:½«¶ÔÏóת»¯³ÉÁ÷µÄ¹ý³Ì³ÆÎªÐòÁл¯
¡¡¡¡·´ÐòÁл¯:½«Á÷ת»¯³É¶ÔÏóµÄ¹ý³Ì³ÆÖ®Îª·´ÐòÁл¯
¡¡¡¡ÐòÁл¯Óë·´ÐòÁл¯±ØÐë×ñÊØµÄÔÔò
¡¡¡¡a) Java¶ÔÏó
¡¡¡¡ÔÚjavaÖÐÒªÏëʹһ¸öjava¶ÔÏó¿ÉÒÔʵÏÖÐòÁл¯Óë·´ÐòÁл¯,±ØÐëÈøÃÀàʵÏÖjava.io.Serializable½Ó¿Ú
¡¡¡¡java.io.Serializable½Ó¿Ú¶¨ÒåÈçÏÂ:
¡¡¡¡publicinterface Serializable {
¡¡¡¡}
¡¡¡¡´ÓÉÏÊö¶¨ÒåÖпÉÒÔ¿´µ½¸Ã½Ó¿ÚÖÐ䶨ÒåÈκη½·¨,Õâ´ó´óµÄ¼ò»¯ÁË¿ª·¢Õß
¡¡¡¡b) ÐòÁл¯Ö÷ÒªÒÀÀµjava.io.ObjectOutputStreamÀà,¸ÃÀà¶Ôjava.io.FileOutputStream½øÒ»²½×öÁË·â×°,ÕâÀïÖ÷ҪʹÓÃObjectOutputStreamÀàµÄwriteObject()·½·¨ÊµÏÖÐòÁл¯¹¦ÄÜ
¡¡¡¡Demo:
¡¡¡¡/**
¡¡¡¡*½«¶ÔÏóÐòÁл¯µ½´ÅÅÌÎļþÖÐ
¡¡¡¡*@paramo
¡¡¡¡*@throwsException
¡¡¡¡*/
¡¡¡¡publicstaticvoid writeObject(Object o) throws Exception{
¡¡¡¡File f=new File("d:""user.tmp");
¡¡¡¡if(f.exists()){
¡¡¡¡f.delete();
¡¡¡¡}
¡¡¡¡FileOutputStream os=new FileOutputStream(f);
¡¡¡¡//ObjectOutputStream ºËÐÄÀà
¡¡¡¡ObjectOutputStream oos=new ObjectOutputStream(os);
¡¡¡¡oos.writeObject( ......
RMI£¨Remote Method Invocation£©
RMIÊÇ·Ö²¼Ê½¶ÔÏóÈí¼þ°ü£¬Ëü¼ò»¯ÁËÔÚ¶ą̀¼ÆËã»úÉϵÄJAVAÓ¦ÓÃÖ®¼äµÄͨÐÅ¡£
±ØÐëÔÚjdk1.1ÒÔÉÏ
RMIÓõ½µÄÀà
java.rmi.Remote ËùÓпÉÒÔ±»Ô¶³Ìµ÷ÓõĶÔÏó¶¼±ØÐëʵÏָýӿÚ
java.rmi.server.UnicastRemoteObject ËùÓпÉÒÔ±»Ô¶³Ìµ÷ÓõĶÔÏó¶¼±ØÐëÀ©Õ¹¸ÃÀà
ʲôÊÇRMI
Ô¶³Ì·½·¨µ÷ÓÃÊÇÒ»ÖÖ¼ÆËã»úÖ®¼ä¶ÔÏó»¥Ïàµ÷ÓöԷ½º¯Êý£¬Æô¶¯¶Ô·½½ø³ÌµÄÒ»ÖÖ»úÖÆ£¬
ʹÓÃÕâÖÖ»úÖÆ£¬Ä³Ò»Ì¨¼ÆËã»úÉϵĶÔÏóÔÚµ÷ÓÃÁíÍâһ̨¼ÆËã»úÉϵķ½·¨Ê±£¬Ê¹ÓõijÌ
ÐòÓï·¨¹æÔòºÍÔÚ±¾µØ»úÉ϶ÔÏó¼äµÄ·½·¨µ÷ÓõÄÓï·¨¹æÔòÒ»Ñù¡£
Óŵã
ÕâÖÖ»úÖÆ¸ø·Ö²¼¼ÆËãµÄϵͳÉè¼Æ¡¢±à³Ì¶¼´øÀ´Á˼«´óµÄ·½±ã¡£
Ö»Òª°´ÕÕRMI¹æÔòÉè¼Æ³ÌÐò£¬¿ÉÒÔ²»±ØÔÙ¹ýÎÊÔÚRMI֮ϵÄÍøÂçϸ½ÚÁË£¬È磺TCPºÍSocketµÈµÈ¡£
ÈÎÒâÁ½Ì¨¼ÆËã»úÖ®¼äµÄͨѶÍêÈ«ÓÉRMI¸ºÔð¡£µ÷ÓÃÔ¶³Ì¼ÆËã»úÉϵĶÔÏó¾ÍÏñ±¾µØ¶ÔÏóÒ»Ñù·½±ã¡£
1¡¢ÃæÏò¶ÔÏó£º
RMI¿É½«ÍêÕûµÄ¶ÔÏó×÷Ϊ²ÎÊýºÍ·µ»ØÖµ½øÐд«µÝ£¬¶ø²»½ö½öÊÇÔ¤¶¨ÒåµÄÊý¾ÝÀàÐÍ¡£
Ò²¾ÍÊÇ˵£¬¿ÉÒÔ½«ÀàËÆJava¹þÎ÷±íÕâÑùµÄ¸´ÔÓÀàÐÍ×÷Ϊһ¸ö²ÎÊý½øÐд«µÝ¡£
2¡¢¿ÉÒÆ¶¯ÊôÐÔ£º
RMI¿É½«ÊôÐÔ´Ó¿Í»§»úÒÆ¶¯µ½·þÎñÆ÷£¬»òÕß´Ó·þÎñÆ÷ÒÆ¶¯µ½¿Í»§»ú¡£
3¡¢Éè¼Æ·½Ê½£º
¶ÔÏ󴫵ݹ¦ÄÜʹÄú¿ÉÒÔÔÚ·Ö² ......
2009-11-09 15:33:36
ÎļþÊôÐÔÅäÖÃÀà
package cn.sist.file;
public class FileProperty {
private int sysProperty = 0;
private int hiddenProperty = 0;
private int readProperty = 0;
private int arriveProperty = 0;
private boolean changeAll = false;
public FileProperty setChangeAll(boolean changeAll){
this.changeAll = changeAll;
return this;
}
public boolean getChangeAll(){
return this.changeAll;
}
protected int getArriveProperty() {
return arriveProperty;
}
public FileProperty addArriveProperty() {
this.arriveProperty = 1;
return this;
}
public FileProperty removeArriveProperty(){
this.arriveProperty = 2;
return this;
}
protected int getHiddenProperty() {
return hiddenProperty;
}
public FileProperty addHiddenProperty() {
this.hiddenProperty = 1;
return this;
}
public FileProperty removeHiddenProperty(){
this.hiddenProperty = 2;
return this;
}
protected int getReadProperty() {
return ......
java ÁгöijÎļþ¼ÐϵÄËùÓÐÎļþ
import java.io.*;
public class ListFiles {
private static String s = "";
private static BufferedReader in = new BufferedReader(
new InputStreamReader(System.in));
public static void main(String[] args) {
try {
s = in.readLine();
getFileList(s);
in.close();
} catch (IOException e) {
e.printStackTrace();
}
}
public static void getFileList(String directory) {
File f = new File(directory);
File[] files = f.listFiles();
for (int i = 0; i < files.length; i++) {
if (files[i].isFile()) {
System.out.println("Îļþ£º" + files[i]);
} else {
System.out.println("Ŀ¼£º" + files[i]);
getFileList(files[i].getAbsolutePath());
}
}
}
} ......
ÔÒòÓкܶàÖÖ£¬±ÈÈ磺
1.Êý¾ÝÁ¿¹ýÓÚÅÓ´ó£»ËÀÑ»·
£»¾²Ì¬±äÁ¿ºÍ¾²Ì¬·½·¨¹ý¶à£»µÝ¹é£»ÎÞ·¨È·¶¨ÊÇ·ñ±»ÒýÓõĶÔÏó£»
2.ÐéÄâ»ú²»»ØÊÕÄڴ棨ÄÚ´æÐ¹Â©£©£»
˵°×Á˾ÍÊdzÌÐòÔËÐÐÒªÓõ½µÄÄÚ´æ´óÓÚÐéÄâ»úÄÜÌṩµÄ×î´óÄÚ´æ¾Í·¢ÉúÄÚ´æÒç³öÁË¡£
ÄÚ´æÒç³öµÄÎÊÌâÒª¿´ÒµÎñºÍϵͳ´óС¶ø¶¨£¬¶ÔÓÚijЩϵͳ¿ÉÄÜÄÚ´æÒç³ö²»³£¼û£¬µ«Ä³Ð©ÏµÍ³»¹ÊǺܳ£¼ûµÄ½â¾öµÄ·½·¨£¬
Ò»¸öÊÇÓÅ»¯³ÌÐò´úÂ룬Èç¹ûÒµÎñÅÓ´ó£¬Âß¼¸´ÔÓ£¬¾¡Á¿¼õÉÙÈ«¾Ö±äÁ¿µÄÒýÓã¬ÈóÌÐòʹÓÃÍê±äÁ¿µÄʱºòÊͷŸÃÒýÓÃÄܹ»ÈÃÀ¬»ø»ØÊÕÆ÷»ØÊÕ£¬ÊÍ·Å×ÊÔ´¡£
¶þ¾ÍÊÇÎïÀí½â¾ö£¬Ôö´óÎïÀíÄڴ棬Ȼºóͨ¹ý£º-Xms256m
-Xmx256m -XX:MaxNewSize=256m -XX:MaxPermSize=256mµÄÐÞ¸Ä
Ò»¡¢ÄÚ´æÒç³öÀàÐÍ
1
¡¢ java.lang.OutOfMemoryError: PermGen space
JVM
¹ÜÀíÁ½ÖÖÀàÐ͵ÄÄڴ棬¶ÑºÍ·Ç¶Ñ¡£¶ÑÊǸø¿ª·¢ÈËÔ±ÓõÄÉÏÃæËµµÄ¾ÍÊÇ£¬ÊÇÔÚ JVM Æô¶¯Ê±´´½¨£»·Ç¶ÑÊÇÁô¸ø JVM ×Ô¼ºÓõģ¬ÓÃÀ´´æ·ÅÀàµÄÐÅÏ¢µÄ¡£ËüºÍ¶Ñ²»Í¬£¬ÔËÐÐÆÚÄÚ
GC ²»»áÊͷſռ䡣Èç¹û web app ÓÃÁË´óÁ¿µÄµÚÈý·½ jar »òÕßÓ¦ÓÃÓÐÌ«¶àµÄ class Îļþ¶øÇ¡ºÃ MaxPermSize
ÉèÖýÏС£¬³¬³öÁËÒ²»áµ¼ÖÂÕâ¿éÄÚ´æµÄÕ¼Óùý¶àÔì³ÉÒç³ö£¬»òÕß tomcat ÈȲ¿ÊðÊ ......