×ÔJava2ÒÔÀ´£¬JavaÓïÑÔÔö¼ÓÁËÒ»¸ö¹Ø¼ü×Östrictfp£¬ËäÈ»Õâ¸ö¹Ø¼ü×ÖÔÚ´ó¶àÊý³¡ºÏ±È½ÏÉÙÓ㬵«ÊÇ»¹ÊÇÓбØÒªÁ˽âһϡ£
strictfp µÄÒâ˼ÊÇFP-strict£¬Ò²¾ÍÊÇ˵¾«È·¸¡µãµÄÒâ˼¡£ÔÚJavaÐéÄâ»ú½øÐи¡µãÔËËãʱ£¬Èç¹ûûÓÐÖ¸¶¨strictfp¹Ø¼ü×Öʱ£¬JavaµÄ±àÒëÆ÷ÒÔ¼°ÔËÐл·¾³ÔÚ¶Ô¸¡µãÔËËãµÄ±í´ïʽÊDzÉȡһÖÖ½üËÆÓÚÎÒÐÐÎÒËØµÄÐÐΪÀ´Íê³ÉÕâЩ²Ù×÷£¬ÒÔÖÂÓڵõ½µÄ½á¹ûÍùÍùÎÞ·¨ÁîÄãÂúÒâ¡£¶øÒ»µ©Ê¹ÓÃÁËstrictfpÀ´ÉùÃ÷Ò»¸öÀà¡¢½Ó¿Ú»òÕß·½·¨Ê±£¬ÄÇôËùÉùÃ÷µÄ·¶Î§ÄÚJavaµÄ±àÒëÆ÷ÒÔ¼°ÔËÐл·¾³»áÍêÈ«ÒÀÕÕ¸¡µã¹æ·¶IEEE-754À´Ö´ÐС£Òò´ËÈç¹ûÄãÏëÈÃÄãµÄ¸¡µãÔËËã¸ü¼Ó¾«È·£¬¶øÇÒ²»»áÒòΪ²»Í¬µÄÓ²¼þƽ̨ËùÖ´ÐеĽá¹û²»Ò»ÖµĻ°£¬ÄǾÍÇëÓùؼü×Östrictfp¡£
Äã¿ÉÒÔ½«Ò»¸öÀà¡¢½Ó¿ÚÒÔ¼°·½·¨ÉùÃ÷Ϊstrictfp£¬µ«ÊDz»ÔÊÐí¶Ô½Ó¿ÚÖеķ½·¨ÒÔ¼°¹¹Ô캯ÊýÉùÃ÷strictfp¹Ø¼ü×Ö£¬ÀýÈçÏÂÃæµÄ´úÂ룺
1. ºÏ·¨µÄʹÓùؼü×Östrictfp
strictfp interface A {}
public strictfp class FpDemo1 {
strictfp void f() {}
}
2. ´íÎóµÄʹÓ÷½·¨
interface A {
strictfp void f();
}
public class FpDemo2 {
strictfp FpDemo2() {}
}
Ò»µ©Ê¹ÓÃÁ˹ؼü×Ö ......
1.ʲôÊÇÐòÁл¯
¶ÔÏóµÄÊÙÃüͨ³£Ëæ×ÅÉú³É¸Ã¶ÔÏóµÄ³ÌÐòµÄÖÕÖ¹¶øÖÕÖ¹¡£ÓÐʱºò£¬¿É ÄÜÐèÒª ½« ¶ÔÏóµÄ״̬±£´æÏÂÀ´£¬ÔÚÐèҪʱÔÙ½«¶ÔÏó»Ö¸´¡£ÎÒÃǰѶÔÏóµÄÕâÖÖÄܼǼ×Ô¼ºµÄ״̬ÒԱ㽫À´ÔÙÉúµÄÄÜÁ¦ ¡£½Ð×÷¶ÔÏóµÄ³ÖÐøÐÔ(persistence)¡£¶ÔÏóͨ¹ýд³öÃèÊö×Ô¼º×´Ì¬µÄÊýÖµÀ´¼Ç¼×Ô¼º £¬Õâ¸ö¹ý³Ì½Ð¶ÔÏóµÄÐòÁл¯(Serialization) ¡£ÐòÁл¯µÄÖ÷ÒªÈÎÎñÊÇд³ö¶ÔÏóʵÀý±äÁ¿µÄÊýÖµ¡£Èç¹û½»Á¿ÊÇÁíÒ»¶ÔÏóµÄÒýÓã¬ÔòÒýÓõĶÔÏóÒ²ÒªÐòÁл¯¡£Õâ¸ö¹ý³ÌÊǵݹéµÄ£¬ÐòÁл¯¿ÉÄÜ񻃾¼°Ò»¸ö¸´ÔÓÊ÷½á¹¹µÄµ¥Ðл¯£¬°üÀ¨ÔÓжÔÏó¡¢¶ÔÏóµÄ¶ÔÏó¡¢¶ÔÏóµÄ¶ÔÏóµÄ¶ÔÏóµÈµÈ¡£¶ÔÏóËùÓÐȨµÄ²ã´Î½á¹¹³ÆÎªÍ¼±í(graph)¡£
µ±Á½¸ö½ø³ÌÔÚ½øÐÐÔ¶³ÌͨÐÅʱ£¬±Ë´Ë¿ÉÒÔ·¢Ë͸÷ÖÖÀàÐ͵ÄÊý¾Ý¡£ÎÞÂÛÊǺÎÖÖÀàÐ͵ÄÊý¾Ý£¬¶¼»áÒÔ¶þ½øÖÆÐòÁеÄÐÎʽÔÚÍøÂçÉÏ´«ËÍ¡£·¢ËÍ·½ÐèÒª°ÑÕâ¸öJava¶ÔÏóת»»Îª×Ö½ÚÐòÁУ¬²ÅÄÜÔÚÍøÂçÉÏ´«ËÍ£»½ÓÊÕ·½ÔòÐèÒª°Ñ×Ö½ÚÐòÁÐÔÙ»Ö¸´ÎªJava¶ÔÏó¡£
¡¡¡¡°ÑJava¶ÔÏóת»»Îª×Ö½ÚÐòÁеĹý³Ì³ÆÎª¶ÔÏóµÄÐòÁл¯¡£
¡¡¡¡°Ñ×Ö½ÚÐòÁлָ´ÎªJava¶ÔÏóµÄ¹ý³Ì³ÆÎª¶ÔÏóµÄ·´ÐòÁл¯
¶ÔÏóµÄÐòÁл¯Ö÷ÒªÓÐÁ½ÖÖÓÃ;£º
¡¡¡¡1£© °Ñ¶ÔÏóµÄ×Ö½ÚÐòÁÐÓÀ¾ÃµØ±£´æµ½Ó²ÅÌÉÏ£¬Í¨³£´æ·ÅÔÚÒ»¸öÎļþÖУ»
¡¡¡¡2£© ÔÚÍøÂçÉÏ´«ËͶÔÏóµÄ× ......
¹ØÓÚvolatile
ÎÒÃÇÖªµÀ£¬ÔÚJavaÖÐÉèÖñäÁ¿ÖµµÄ²Ù×÷£¬³ýÁËlongºÍdoubleÀàÐ͵ıäÁ¿Íâ¶¼ÊÇÔ×Ó²Ù×÷£¬Ò²¾ÍÊÇ˵£¬¶ÔÓÚ±äÁ¿ÖµµÄ¼òµ¥¶Áд²Ù×÷ûÓбØÒª½øÐÐͬ²½¡£
ÕâÔÚJVM 1.2֮ǰ£¬JavaµÄÄÚ´æÄ£ÐÍʵÏÖ×ÜÊÇ´ÓÖ÷´æ¶ÁÈ¡±äÁ¿£¬ÊDz»ÐèÒª½øÐÐÌØ±ðµÄ×¢ÒâµÄ¡£¶øËæ×ÅJVMµÄ³ÉÊìºÍÓÅ»¯£¬ÏÖÔÚÔÚ¶àÏ̻߳·¾³ÏÂ
volatile¹Ø¼ü×ÖµÄʹÓñäµÃ·Ç³£ÖØÒª¡£ÔÚµ±Ç°µÄJavaÄÚ´æÄ£ÐÍÏ£¬Ï߳̿ÉÒ԰ѱäÁ¿±£´æÔÚ±¾µØÄڴ棨±ÈÈç»úÆ÷µÄ¼Ä´æÆ÷£©ÖУ¬¶ø²»ÊÇÖ±½ÓÔÚÖ÷´æÖнøÐÐ
¶Áд¡£Õâ¾Í¿ÉÄÜÔì³ÉÒ»¸öÏß³ÌÔÚÖ÷´æÖÐÐÞ¸ÄÁËÒ»¸ö±äÁ¿µÄÖµ£¬¶øÁíÍâÒ»¸öÏ̻߳¹¼ÌÐøÊ¹ÓÃËüÔڼĴæÆ÷ÖеıäÁ¿ÖµµÄ¿½±´£¬Ôì³ÉÊý¾ÝµÄ²»Ò»Ö¡£Òª½â¾öÕâ¸öÎÊÌ⣬ֻÐè
ÒªÏñÔÚ±¾³ÌÐòÖеÄÕâÑù£¬°Ñ¸Ã±äÁ¿ÉùÃ÷Ϊvolatile£¨²»Îȶ¨µÄ£©¼´¿É£¬Õâ¾ÍָʾJVM£¬Õâ¸ö±äÁ¿ÊDz»Îȶ¨µÄ£¬Ã¿´ÎʹÓÃËü¶¼µ½Ö÷´æÖнøÐжÁÈ¡¡£Ò»°ã˵
À´£¬¶àÈÎÎñ»·¾³Ï¸÷ÈÎÎñ¼ä¹²ÏíµÄ±êÖ¾¶¼Ó¦¸Ã¼ÓvolatileÐÞÊΡ£
VolatileÐÞÊεijÉÔ±±äÁ¿ÔÚÿ´Î±»Ï̷߳ÃÎÊʱ£¬¶¼Ç¿ÆÈ´Ó¹²ÏíÄÚ´æÖÐÖØ¶Á¸Ã³ÉÔ±±äÁ¿µÄÖµ¡£¶øÇÒ£¬µ±³ÉÔ±±äÁ¿·¢Éú±ä»¯Ê±£¬Ç¿ÆÈÏ߳̽«±ä»¯Öµ»ØÐ´µ½¹²ÏíÄÚ´æ¡£ÕâÑùÔÚÈκÎʱ¿Ì£¬Á½¸ö²»Í¬µÄÏß³Ì×ÜÊÇ¿´µ½Ä³¸ö³ÉÔ±±äÁ¿µÄͬһ¸öÖµ¡£
JavaÓïÑԹ淶ÖÐÖ¸³ö£ºÎªÁË»ñµÃ×î¼ÑËÙ¶È£¬ÔÊÐíÏ̱߳£´æ¹²Ï ......
public class SplitString {
/**
* @param args
*/
public static void main(String[] args) {
String str = "ÖÐZellÖйú5000Äê,Congruations!";
int bytes = 8;
str = new SplitString().getSubString(str, bytes);
System.out.println(str);
}
public String getSubString(String str,int bytes){
int temp = bytes;
byte [] AllBytes = str.getBytes();
int AllStrByteLen = AllBytes.length;
if(bytes > AllStrByteLen | bytes <= 0){
......
Êý×ÖÖ¤Ê飺
£¨Ò»£©Ö¤Êé¹ÜÀí
1.keyToolÖ¤Êé¹ÜÀí
£¨1£© ±¾µØÊý×ÖÖ¤ÊéÉú³ÉÃüÁî
keytool -genkeypair -alias www.zlex.org -keyalg RSA -keysize 2048 -sigalg SHA1withRSA -validity 36000 -keystore zlex.keystore -dname "CN=www.zlex.org,OU=zlex,O=zlex,L=SH,ST=SH,C=CN"
Êý×ÖÖ¤Êéµ¼³öÃüÁî
keytool -exportcert -alias www.zlex.org -keystore zlex.keystore -file zlex.cer -rfc
´òÓ¡Êý×ÖÖ¤ÊéÃüÁî
keytool -printcert -file zlex.cer
£¨2£©¹¹½¨CAÇ©·¢Ö¤Êé
µ¼³öÊý×ÖÖ¤ÊéÇ©·¢ÉêÇëÃüÁî
keytool -certreq -alias www.zlex.org -keystore zlex.keystore -file zlex.csr -v
µ¼ÈëÊý×ÖÖ¤ÊéÃüÁî
keytool -importcert -trustcacerts -alias www.zlex.org -file zlex.cer -keystore zlex.keystore
²é¿´µ¼ÈëÊý×ÖÖ¤ÊéÃüÁî
keytool -list -alias www. ......
JavaÐéÄâ»ú¹ÜÀíÀàºÍ¶ÔÏóµÄÉúÃüÖÜÆÚ£»
£¨1£©ÀàµÄÉúÃüÖÜÆÚ´ÓÀà±»¼ÓÔØ£¬Á¬½Ó£¬³õʼ»¯¿ªÊ¼£¬µ½Àà±»Ð¶ÔØ½áÊø£»
£¨2£©Àà´¦ÓÚÉúÃüÖÜÆÚʱ£¬ËüµÄ¶þ½øÖÆÊý¾ÝλÓÚÔËÐÐʱ·½·¨ÇøÄÚ£¬ÔÚ¶ÑÇø»¹ÓÐÒ»¸öÏàÓ¦µÄÃèÊöÀàµÄClassÀàµÄ¶ÔÏó£»
£¨3£©Ö»Óе±Àà´¦ÓÚÉúÃüÖÜÆÚÖÐʱ£¬Java³ÌÐò²ÅÄܹ»Ê¹ÓÃËü¡£
1.JavaÐéÄâ»ú¼°³ÌÐòµÄÉúÃüÖÜÆÚ
£¨1£©Í¨¹ýjavaÃüÁîÔËÐÐÒ»¸öJava³ÌÐòʱ£¬Æô¶¯Ò»¸öJavaÐéÄâ»ú½ø³Ì£»
£¨2£©JavaÐéÄâ»ú½ø³Ì´ÓÆô¶¯µ½ÖÕÖ¹µÄ¹ý³Ì£¬³ÆÎªJavaÐéÄâ»úÉúÃüÖÜÆÚ£»
£¨3£©³ÌÐòÉúÃüÖÜÆÚºÍJavaÐéÄâ»úÉúÃüÖÜÆÚÊÇÒ»Öµģ¬ÒòΪJavaÐéÄâ»ú½ø³Ì´Ó´´½¨ÆðµÄÈÎÎñ¾ÍÊÇÖ´ÐÐJava³ÌÐò¡£
2.ÀàµÄ¼ÓÔØ£¬Á¬½ÓºÍ³õʼ»¯
a.Java³ÌÐòҪʹÓÃij¸öÀàʱ£¬JavaÐéÄâ»úҪȷ±£Õâ¸öÀà±»¼ÓÔØ£¬Á¬½ÓºÍÔËÐУ¬ÆäÖÐÁ¬½Ó°üÀ¨ÑéÖ¤£¬×¼±¸ºÍ½âÎö¡£
b.¼ÓÔØ£º²éÕÒ²¢¼ÓÔØÀàµÄ¶þ½øÖÆÊý¾Ý£»
c.Á¬½Ó
c.1 ÑéÖ¤£ºÈ·±£¼ÓÔØÀàµÄÕýÈ·ÐÔ£»
c.2 ×¼±¸£ºÎª¾²Ì¬±äÁ¿·ÖÅäÄڴ棬²¢½«Æä³õʼ»¯ÎªÄ¬ÈÏÖµ£»
c.3 ½âÎö£º½«ÀàÖеķûºÅÒýÓÃת»»ÎªÖ±½ÓÒýÓá£
d³õʼ»¯£º
¸øÀàµÄ¾²Ì¬±äÁ¿¸³ÓèÕýÈ·µÄ³õʼֵ
£¨1£©¼ÓÔØ
1.1 ¼ÓÔØÐèÒªÍê³É£º
1.1.1 ½« ......