Java ±à³ÌµÄ¶¯Ì¬ÐÔ£¬µÚ 8 ²¿·Ö: ÓôúÂëÉú³ÉÈ¡´ú·´Éä
´Ó±¾ÏµÁÐÇ°ÃæµÄÎÄÕÂÖУ¬ÄúÁ˽⵽·´ÉäµÄÐÔÄܱÈÖ±½Ó·ÃÎÊÒªÂýÐí¶à±¶£¬²¢Á˽âÁËÓà Javassist ºÍ Apache
Byte Code Engineering Library £¨BCEL£©½øÐÐclassworking¡£Java ¹ËÎÊ Dennis
Sosnoski ͨ¹ýÑÝʾÈçºÎʹÓÃÔËÐÐʱ classworking£¬À´ÓÃÈ«ËÙǰ½øµÄÉú³É´úÂëÈ¡´ú·´Éä´úÂ룬´Ó¶ø½áÊøËûµÄ Java ±à³ÌµÄ¶¯Ì¬ÐÔ
ϵÁС£
¼ÈÈ»ÄúÒѾ¿´µ½ÁËÈçºÎʹÓà Javassist ºÍ BCEL ¿ò¼ÜÀ´½øÐÐ classworking £¨Çë²ÎÔÄ
±¾ÏµÁÐÒÔǰµÄÒ»×éÎÄÕÂ
£©£¬
ÎÒ½«Õ¹Ê¾Ò»¸öʵ¼ÊµÄ classworking Ó¦ÓóÌÐò¡£Õâ¸öÓ¦ÓóÌÐòÓÃÔËÐÐʱÉú³ÉµÄ¡¢²¢Á¢¼´×°Ôص½ JVM µÄÀàÀ´È¡´ú·´Éä¡£ÔÚ×ÛºÏÌÖÂ۵Ĺý³ÌÖУ¬ÎÒ½«ÒýÓñ¾ÏµÁеÄǰÁ½ÆªÎÄÕ£¬ÒÔ¼°¶Ô
Javassist ºÍ BCEL µÄÌÖÂÛ£¬ÕâÑù±¾ÎľͳÉΪÁ˶ÔÕâ¸öºÜ³¤µÄϵÁÐÎÄÕµÄÒ»¸öºÜºÃµÄ×ܽᡣ
·´ÉäµÄÐÔÄÜ
ÔÚ
µÚ
2 ²¿·Ö
£¬
ÎÒչʾÁËÎÞÂÛÊǶÔÓÚ×ֶηÃÎÊ»¹ÊÇ·½·¨µ÷Ó㬷´Éä¶¼±ÈÖ±½Ó´úÂëÂýºÜ¶à±¶¡£ÕâÖÖÑÓ»º¶ÔÓÚÐí¶àÓ¦ÓóÌÐòÀ´Ëµ²»ËãÊÇÎÊÌ⣬µ«ÊÇ×ÜÊÇ»áÓöµ½ÐÔÄܷdz£¹Ø¼üµÄÇé¿ö¡£ÔÚÕâ
ÖÖÇé¿öÏ£¬·´Éä¿ÉÄܳÉÎªÕæÕýµÄÆ¿¾±¡£µ«ÊÇ£¬Óþ²Ì¬±àÒëµÄ´úÂëÈ¡´ú·´Éä¿ÉÄÜ»á·Ç³£»ìÂÒ£¬²¢ÇÒÔÚÓÐЩÇé¿öÏ£¨ÈçÔÚÕâÖÖ¿ò¼ÜÖУº·´Éä·ÃÎʵÄÀà»òÕßÏîÄ¿ÊÇÔÚÔËÐÐʱ
ÌṩµÄ£¬¶ø²»ÊÇ×÷ΪÕâÒ»±àÒë¹ý³ÌµÄÒ»²¿·ÖÌṩµÄ£©£¬Èç¹û²»ÖØÐ¹¹½¨Õû¸öÓ¦ÓóÌÐò¾Í¸ù±¾²»¿ÉÄÜÈ¡´ú¡£
Classworking ʹÎÒÃÇÓлú»á½«¾²Ì¬±àÒëµÄ´úÂëµÄÐÔÄÜÓë·´ÉäµÄÁé»îÐÔ½áºÏÆðÀ´¡£ÕâÀïµÄ»ù±¾·½·¨ÊÇ£¬ÔÚÔËÐÐʱ£¬ÒÔÒ»ÖÖ¿ÉÒÔ±»Ò»°ãÐÔ´úÂëʹÓõķ½Ê½£¬¹¹½¨Ò»¸ö×Ô¶¨ÒåµÄÀ࣬ÆäÖн«°ü×°¶ÔÄ¿±êÀàµÄ·ÃÎÊ£¨ÒÔǰÊÇͨ¹ý·´Éä´ïµ½µÄ£©¡£½«Õâ¸ö×Ô¶¨ÒåÀà×°ÔØµ½
JVM Öк󣬾ͿÉÒÔÈ«ËÙÔËÐÐÁË¡£
ÉèÖý׶Î
Çåµ¥ 1 ¸ø³öÁËÓ¦ÓóÌÐòµÄÆðµã¡£ÕâÀﶨÒåÁËÒ»¸ö¼òµ¥µÄ bean Àà
HolderBean
ºÍÒ»¸ö·ÃÎÊÀà
ReflectAccess
¡£·ÃÎÊÀàÓÐÒ»¸öÃüÁîÐвÎÊý£¬¸Ã²ÎÊý±ØÐëÊÇÒ»¸öֵΪ
int
µÄ bean ÀàÊôÐÔµÄÃû×Ö£¨
value1
»òÕß
value2
£©¡£ËüÔö¼ÓÖ¸¶¨ÊôÐÔµÄÖµ£¬È»ºóÔÚÍ˳öǰ´òÓ¡³öÕâÁ½¸öÊôÐÔÖµ¡£
Çåµ¥ 1. ·´ÉäÒ»¸ö bean
public class HolderBean
{
private int m_value1;
private int m_value2;
public int getValue1() {
return m_value1;
}
public void setValue1(int value) {
m_value1 = value;
}
public int getValue2() {
return m_value2;
}
public void
Ïà¹ØÎĵµ£º
¹þ¹þ,½ñÌìûÊÂ×ö,µ«ÐÄÇé²»´í,ËùÒÔдÕâÆªÎÄÕÂ.
Àà×°ÔØÆ÷ÊÇJava³ÌÐòÔËÐÐʱ²»¿ÉȱÉÙµÄÒ»²¿·Ö,ËüµÄÈÎÎñÊǰÑÓÉJavaÔ´³ÌÐò±àÒë³ÉµÄclassÎļþ¶ÁÈëµ½ÄÚ´æÖÐ,È·ÇеÄ˵ÊÇ×°Èëµ½JVMµÄÄÚ´æÖÐ,ӦΪJVMÊÇһ̨³éÏóµÄ¼ÆËã»ú,ËüÓÐ×Å×Ô¼ºµÄCPU,ÄÚ´æµÈ. ÔÚclassÎļþÖаüº¬ÁËÒ»¸öÀàµÄ¸÷ÖÖÐÅÏ¢,µ±Ö´ÐÐjava XXXÃü ......
Socket´«Êäģʽ
SocketsÓÐÁ½ÖÖÖ÷ÒªµÄ²Ù×÷·½Ê½:ÃæÏòÁ¬½ÓµÄºÍÎÞÁ¬½ÓµÄ.ÃæÏòÁ¬½ÓµÄsockets²Ù×÷¾ÍÏñÒ»²¿µç»°,ËûÃDZØÐ뽨Á¢Ò»¸öÁ¬½ÓºÍÒ»È˺ô½Ð.ËùÓеÄÊÂÇéÔÚµ½´ïʱµÄ˳ÐòºÍËûÃdzö·¢Ê±µÄ˳ÐòʱÏàͬ.ÎÞÁ¬½ÓµÄsockets²Ù×÷¾ÍÏñÊǸöÓʼþͶµÝ,,ûÓÐʲôȷ±£,¶à¸öÓʼþ¿ÉÄÜÔÚµ½´ïʱµÄ˳ÐòºÍ³ö·¢Ê±µÄ˳Ðò²»Ïàͬ.
µ½µ×ÓÃÄÄÖÖģʽÊÇÓÊÓ¦ ......
ÔÚjavaÈç¹ûÒ»¸ö³ÉÔ±±»ÉùÃ÷Ϊstatic£¬Ëü¾ÍÄܹ»ÔÚËüµÄÀàµÄÈκζÔÏó´´½¨Ö®Ç°±»·ÃÎÊ£¬¶ø²»±ØÒýÓÃÈκζÔÏó¡£Äã¿ÉÒÔ½«·½·¨ºÍ±äÁ¿¶¼ÉùÃ÷Ϊstatic¡£static ³ÉÔ±µÄ×î³£¼ûµÄÀý×ÓÊÇmain( ) ¡£ÒòΪÔÚ³ÌÐò¿ªÊ¼Ö´ÐÐʱ±ØÐëµ÷ÓÃmain() £¬ËùÒÔËü±»ÉùÃ÷Ϊstatic¡£
ÓÐʱÄãÏ£Íû¶¨ÒåÒ»¸öÀà³ÉÔ±£¬Ê¹ËüµÄʹÓÃÍêÈ«¶ÀÁ¢ÓÚ¸ÃÀàµÄÈκζÔÏó¡£Í¨³ ......
/**
* ¶ÑÅÅÐò
*
* */
public void heapSort(double[] a){
double temp;
initCreateHeap(a);
for(int i = a.length - 1; i > 0; i --){
temp = a[0];
a[0] = a[i];
a[i] = temp;
createHeap(a, i, 0);
}
}
/**
* ½«Êý×é¿´³ÉÍêÈ«¶þ²æÊ÷£¬½¨Á¢×î´ó¶Ñ
* */
private ......