transient:
java有个特点是序列化,单地来说是可以这个类存储在物理空_(d)当然q是以文件的形式存在Q,那么当你从本地还原这个文件时Q你可以它转换为它本n。这可以极大地方便网l上的一些操作,但同Ӟ因ؓ(f)涉及(qing)到安全问题,所以ƈ不希望把c里面所有的东西都能存储Q因为那P别h可以通过序列化知道类里面的内容)Q那么我们就可以用上transientq个关键字,它的意思是临时的,即不?x)随cM起序列化到本圎ͼ所以当q原后,q个关键字定义的变量也就不再存在?/p>
volatile:
Volatile 修饰的成员变量在每次被线E访问时Q都从共享内存中重读该成员变量的倹{而且Q当成员变量发生变化ӞU程变化值回写到׃n内存。这样在M时刻Q两个不同的U程L看到某个成员变量的同一个倹{?/p>
Java 语言规范中指出:(x)Z获得最佳速度Q允许线E保存共享成员变量的U有拯Q而且只当U程q入或者离开同步代码块时才与׃n成员变量的原始值对比?/p>
q样当多个线E同时与某个对象交互Ӟ必要注意到要让线E及(qing)时的得到׃n成员变量的变化?/p>
而volatile关键字就是提CVMQ对于这个成员变量不能保存它的私有拷贝,而应直接与共享成员变量交互?/p>
使用Q在两个或者更多的U程讉K的成员变量上使用volatile。当要访问的变量已在synchronized代码块中Q或者ؓ(f)帔RӞ不必使用?/p>
׃使用volatile屏蔽掉了VM中必要的代码优化Q所以在效率上比较低Q因此一定在必要时才使用此关键字?/p>
各个国家和地区所制定的不?ANSI ~码标准中,都只规定了各自语a所需?#8220;字符”。比如:(x)汉字标准QGB2312Q中没有规定韩国语字W怎样存储。这?ANSI ~码标准所规定的内容包含两层含义:(x)
各个国家和地区在制定~码标准的时候,“字符的集?#8221;?#8220;~码”一般都是同时制定的。因此,q_我们所说的“字符?#8221;Q比如:(x)GB2312, GBK, JIS {,除了?#8220;字符的集?#8221;q层含义外,同时也包含了“~码”的含义?/p>
“UNICODE 字符?/strong>”包含了各U语a中用到的所?#8220;字符”。用来给 UNICODE 字符集编码的标准有很多种Q比如:(x)UTF-8, UTF-7, UTF-16, UnicodeLittle, UnicodeBig {?/p>
?eclipse 中对于编码方式的讄
1 源文件的~码讄
preference -> general -> Content Types
双选择文gcdQ右下更?~省~码方式
2 控制台的~码讄
Run -> Run configuration( ?Debug configuration)
双选项卡中 common, 一般ؓ(f)最后一?br />
?console encoding ?other 中选取需要的 ~码方式
?java 中的 ~码转换
byte[] bytes = oldStr.getBytes(); //默认~码方式下的字节数组
String newStr = new String( bytes, "UTF-8" ); //转换?UTF-8 ~码下的字符?br />
]]>