java thread volatile 理解
Java Thread有一个 volatile关键字,主要用来防止多线程访问公共变量,不能及时被其它线程正确访问, 而造成的不同步问题。
比如ThreadA 和ThreadB 同时访问一个 int a = 0; 并且修改,
可能会造成 ThreadA 修改a变量后,ThreadB访问a变量还是原来的值。
因此要加上 volatile int a = 0;
多线程其实是cpu拿出一点资源单独去做另外一些事情,线程会把一些变量放到一个小寄存器中,
这样访问数据的,不能马上更新同步到内存中去。因此加上volatile ,让所有的线程都访问同一个地方,这样数据都会同步。但性能下降了(MS都直接访问内存)。
相关文档:
Java学习从入门到精通
一、 JDK (Java Development Kit)
JDK是整个Java的核心,包括了Java运行环境(Java Runtime Envirnment),一堆Java工具和Java基础的类库(rt.jar)。不论什么Java应用服务器实质都是内置了某个版本的JDK。因此掌握JDK是学好Java的第一步。最主流的J ......
从网上看到一个不错的java文件下载的几种方式文章,拿过来跟大家分享一下:
Java文件下载的几种方式
public HttpServletResponse download(String path, HttpServletResponse response) {
try {
&n ......
距离Java7的MR版本发布有段时间了,通过安装试用之后的总体感觉是:速度又快了。仔细阅读了Java7的相关文档发现,Java7拥有如下的一些新的特性。
首先是模块化特性:如果您安装和使用过NetBeans6.7的话,是不是会有一个很大的感觉,就是NetBeans6.7的启动速度比以前快了很多,当然并不是NetBeans已经使用了Java7,而是NetB ......
//导出
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 ......