java thread volatile 理解
Java Thread有一个 volatile关键字,主要用来防止多线程访问公共变量,不能及时被其它线程正确访问, 而造成的不同步问题。
比如ThreadA 和ThreadB 同时访问一个 int a = 0; 并且修改,
可能会造成 ThreadA 修改a变量后,ThreadB访问a变量还是原来的值。
因此要加上 volatile int a = 0;
多线程其实是cpu拿出一点资源单独去做另外一些事情,线程会把一些变量放到一个小寄存器中,
这样访问数据的,不能马上更新同步到内存中去。因此加上volatile ,让所有的线程都访问同一个地方,这样数据都会同步。但性能下降了(MS都直接访问内存)。
相关文档:
本文为您列举了Java众多特性中排名的前十个特性,不知道您是否有同样的感觉。
10) const,goto
什么?没错,它们都是Java的关键字,但它们什么也不干。
9) Java的些许趣味
像Personal Java,JavaOS.
8) 索引化的Jar
索引化的Jar是指这样的Jar文件中包含有一个特殊的索引文件(META-INF/INDEX.LIST),该文件用于指 ......
结合Delphi
客户端桌面开发的优势和Java的稳健强壮特性,采用Delphi
Client + Java Server的系统架构应该是很有市场的,经过一段时间的实际项目实践,实现架构是这么实现的,供讨论:
1.后台应用服务层可采用基于Spring+Hibernate的轻量级J2EE实现,并使用Apache XML-RPC
提供客户端调用接口;
2.前台采用 Delphi
......
//导出
String mysql="mysqldump -uroot -proot --opt databasename > d:/test.sql";
java.lang.Runtime.getRuntime().exec("cmd /c "+mysql);
//导入
String mysql="mysqladmin -uroot -proot create databasename";
java.lang.Runt ......