Sorry, your browser cannot access this site
This page requires browser support (enable) JavaScript
Learn more >

synchronized关键字可以用来修饰方法,也可以用来修饰代码块,但是底层的实现有所不同。对于同步方法,JVM采用ACC_SYNCHRONIZED标记符来实现同步。 对于同步代码块。JVM采用monitorenter、monitorexit两个指令来实现同步。 Q1: synchronized关键字如何实现原子性? ​ 通过moniterenter和moniterexit两个指令保...
java

最近买了个vultr,特此记录以下安装小飞机的过程: 123wget --no-check-certificate -O shadowsocks.sh https://raw.githubusercontent.com/teddysun/shadowsocks_install/master/shadowsocks.shchmod +x shadowsocks.sh./shadowsocks....

深入理解Java类加载器(ClassLoader)2017年06月26日 09:34:08 zejian_ 阅读数:115126 版权声明:本文为博主原创文章,请尊重原创,未经博主允许禁止转载,保留追究权 https://blog.csdn.net/javazejian/article/details/73413292 【版权申明】未经博主同意,谢绝转载!(请尊重原创,博主保留追究权)h...
Java

乐观锁和悲观锁 悲观锁 悲观锁对数据修改持有悲观态度,认为数据很容易被修改,所以在修改数据前会先给加锁,效率较低。 乐观锁 乐观锁假设一般情况下不会造成数据冲突,所它只在事务提交更新的时候,才去检测是否有冲突。如果冲突了则给用户返回一定的信息让用户自己去处理。 乐观锁并不是真正的加锁,通常,它可以通过版本号,或者时间戳等来判断是否发生了冲突。比如添加版本号,每次修改数据时都会带上版本号,如...

Java内存模型java运行时数据区域程序计数器线程私有的 Java虚拟机栈线程私有,存放局部变量,返回值地址等 本地方法栈线程私有,存放局部变量,返回值地址等 Java堆线程共享区域,几乎所有的对象实例都在这里分配内存。 方法区存储已被虚拟机加载的类信息,常量,静态变量,即时编译器编译后的代码等数据。 运行时常量池是方法区的一部分,用于存放编译期生成的各种字面变量和符号引用 直接内存NIO...
Java

ThreadlocalThreadLocal是一个支持泛型的类,它为每个线程提供局部变量,这种变量是其他线程访问不到的,实现了线程的数据隔离。 线程间隔离,方法间共享 内部方法set12345678public void set(T value) { Thread t = Thread.currentThread(); ThreadLocalMap map ...
Java

魔数常量值 比如说用来标识文件类型 JIT​ JIT(Just in time compiler). ​ 前提: ​ 1. java文件是先被编译成字节码(也就是class文件)然后才载入JVM的​ 2. JVM中既有解释器又有编译器 ​ 及时编译技术就是说,在JVM解释(用的是解释器)执行字节码的时候,遇到一些热点代码(也就是经常被重复执行的代码,具体怎么算...
Java