javaÓëc#ͨÐÅÊý¾Ýת»»ÎÊÌâ
/ÓÉÓÚJAVAÓïÑÔµÄÊý¾ÝÀàÐͶ¼ÊÇÓзûºÅÀàÐÍ£¬¶øC# C++Ò»°ãÊý¾ÝÀàÐͶ¼ÊÇ·ÖÓзûºÅºÍÎÞ·ûºÅ,
//Òò´ËÔÚͨÐŹý³ÌÖд«µÝµÄByte[]ÎÞ·¨Ö±
½Óת»»³ÉC#ÐèÒªµÄÀàÐÍ£¬
//ÒÔǰµ¹ÊÇûעÒâÕâЩϸ½Ú£¬ÒòΪһ°ãÓÃÒ»ÖÖÓïÑÔ±à³Ì£¬
//´ó¶¼ÓÐÄÚÖõÄת»»·½·¨¡£¿çÓïÑÔ»·¾³µÄת»»¾ÍµÄ×Ô¼º¶¯
ÊÖÏë°ì·¨ÁË¡£
1¡¢javaµÄByte[]ת»»³Éc#µÄInt32
private int
CoverJavaByteToInt(byte[] bytes){
char[] chars =
Encoding.ASCII.GetChars(bytes);
int r = 0;
r |= (((int)(chars[0]))
& 0xff) << 24;
r |= (((int)(chars[1])) & 0xff)
<< 16;
r |= (((int)(chars[2])) & 0xff) << 8;
r |=
(((int)(chars[3])) & 0xff);
return r;
}
2¡¢javaµÄByte[]ת³Éc#µÄ
unshort
private ushort CoverJavaByteToUnshort(byte[] bytes){
ushort
r = 0;
char[] chars=Encoding.ASCII.GetChars(bytes);
r |=
(ushort)((chars[0] & 0xff) << 8);
r |= (ushort)(chars[1]
& 0xff) ;
return r;
}
´Ë´úÂë»á³öÏÖ´íÎóÔÚijЩÇé¿ö£¬´óÖÂÔÒòÊÇÒòΪת»»charʱֵÔâµ½¸Ä±ä£¬Ó¦¸ÃÊDZíʾ·¶Î§ÎÊÌâµ¼ÖÂ
private ushort
CoverJavaByteToUnshort(byte[] bytes){
ushort r = 0;
r |=
(ushort)((bytes[0] & 0xff) << 8);
r |= (ushort)(bytes[1]
& 0xff);
return r;
}
´Ë´úÂëĿǰ²âÊÔûÎÊÌâÁË£¬Èç¹ûËÓöµ½ÌØÊâÇé¿ö ÇëÓëÎÒÁªÏµ
3¡¢
javaµÄByte[]ת³Éc#µÄstring
£¨×¢Ò⣺ÎÒÕâ¸öº¯ÊýÊǸù¾ÝÎÒ¹¤×÷ÐèҪдµÄÒòΪ¿ÉÄÜ´æÔÚ¶à¸östring»òÆäËûÊý¾ÝÀàÐÍÔÚÕû¸öÊý¾ÝÁ÷
ÖУ¬ÈçÄã½ÓÊÕµÄÊý¾ÝÁ÷¾ÍÊÇ×Ö·û´®£¬ÍêÈ«¿ÉÒÔûÕâôÂé·³£¬Çë×ÔÐÐÐ޸ģ©///
/// ת»»Byte[]µ½String ĬÈϲÉÓÃUTF-8///
/// Êý¾ÝÁ÷µÄBYTEÊý×é/// ×îÖÕת»»½á¹û×Ö·û´®
/// StringµÄÔÚÊý¾ÝÁ÷ÖÐµÄÆðʼλÖÃ
///
ÏÂÒ»¸öÊý¾ÝÀàÐÍÔÚÊý¾ÝÁ÷ÖÐµÄÆðʼλÖÃ
private int CoverJavaByteToString(byte[] bytes,ref
string str,int indexStart){
byte[] uidLen = new byte[2];
Array.Copy(bytes,indexStart, uidLen, 0, 2);
ushort len =
CoverJavaByteToUnshort(uidLen);
str =
Encoding.UTF8.GetString(bytes,2+indexStart, len);
return
str.Length+2+indexStart;
} ......
Ïà¹ØÎĵµ£º
ÔÚcÖÐenumµÄʹÓúÍstructºÜÏñ
enum name{
a,b,c
};
struct name{
int a;
int b;
char c;
};
or
typedef struct{
int a;
int b;
char c;
}Name;
ʹÓõÄʱºò¶¼ÒªÏÈÉùÃ÷±äÁ¿
enum name n1,n2,n3;
n1=a;
n2=b;
n3=enum name(3-1);
struct name sn1,sn2;
s ......
±ÈÈçÓÃÒ»¸öÀàÃèÊöÒ»ÕźÏͬ£¬¶øÕâ¸öÀàʵÀý»¯ºóÆäÖеÄ×ֶα£´æ×źÏͬµÄÐÅÏ¢£¬Èç¹ûÏÖÔÚÒª°ÑÕâ¸öÀàµÄʵÀý·¢Ë͵½Áíһ̨»úÆ÷¡¢ÁíÒ»¸ö´°Ìå»òÊÇÏë±£´æÕâ¸öÀàÒÔ±ãÒÔºóÔÙÈ¡³öÀ´Ó㨳־û¯¶ÔÏ󣩣¬¿ÉÒÔ¶ÔÕâ¸öÀà½øÐÐÐòÁл¯£¨ÐòÁл¯Êµ¼ÊÉÏÊÇÒ»¸öÐÅÏ¢Á÷£©£¬´«ËÍ»ò±£´æ£¬ÓõÄʱºòÔÙ·´ÐòÁл¯ÖØÐÂÉú³ÉÕâ¸ö¶ÔÏó
ΪʲôÄúÏëҪʹÓÃÐòÁл¯ ......
±¾ÎĽéÉÜÈçºÎÔÚLinuxÏÂÅäÖÃJava»·¾³±äÁ¿¡£ÅäÖù²·ÖÊ®¸ö²½Ö裬´ÓÏÂÔØJDK¿ªÊ¼£¬µ½LinuxÉÏJDKµÄ°²×°£¬EclipseµÄÏàÓ¦ÅäÖã¬×îÖÕÔÚ×ÀÃæÉÏ´´½¨Ò»¸öÆô¶¯Æ÷£¬Â·¾¶ÉèÖõ½Eclipse£¬¾Í´ËÍê³ÉJava»·¾³±äÁ¿µÄÅäÖá£
1.È¥http://java.sun.com/j2se/1.4.2/download.html
ÏÂÔØÒ»¸öLinux PlatformµÄJDK£¬
½¨ÒéÏÂÔØRPM×Ô½âѹ¸ñʽµÄ£¨RP ......
¹ØÓÚJavaŵÂüµ×µÄÒ»µãСÀúÊ·
×î½üºÜ¶àÈËÎÊJavaŵÂüµ×ÊÇʲôÒâ˼£¬×÷ΪJavaŵÂüµ×µÄÒ»ÃûÀÏͬ־£¬ÎÒ¼òµ¥µÄ½éÉÜÏÂJavaŵÂüµ×¡£
JavaŵÂüµ×³ÉÁ¢ÓÚ2008Äê7ÔÂ29ÈÕ£¬ÔÚÒ»¸öÈȺ¹³¯ÌìµÄÈÕ×ÓÀ¼¸¸öÂú»³Ï£ÍûµÄÓÐÖ¾ÇàÄê£¬×øÔÚÏæ½ºÓ°ø£¬Ì¸×Å×Ô¼ºÀíÏ룬ÆäÖÐÒ»ÈË˵£¬¼ÙÈçÎÒÃÇÓÐ×Ô¼ºµÄÍŶӸÃÓжàºÃ£¬ÓÚÊ ......
1.Duplicated Code ´úÂëÖØ¸´¼¸ºõÊÇ×î³£¼ûµÄÒìζÁË¡£ËûÒ²ÊÇRefactoringµÄÖ÷ҪĿ±êÖ®Ò»¡£´úÂëÖØ¸´ÍùÍùÀ´×ÔÓÚcopy-and-pasteµÄ±à³Ì·ç¸ñ¡£ÓëËûÏà¶ÔÓ¦OAOOÊÇÒ»¸öºÃϵͳµÄÖØÒª±êÖ¾¡£ 2.Long method ËüÊÇ´«Í³½á¹¹»¯µÄ“ÒŶ¾”¡£Ò»¸ö·½·¨Ó¦µ±¾ßÓÐ×ÔÎÒ¶ÀÁ¢µÄÒâͼ£¬²»Òª°Ñ¼¸¸öÒâͼ·ÅÔÚÒ»Æð¡£ 3.Large Class ´óÀà¾ÍÊÇÄã°ÑÌ«¶ ......