精品 · 第 2 页

理解CAS

简介 众所周知,synchronize能够保证数据操作的原子性,从而实现同步效果。但是这种通过多个线程竞争锁的方式其效率会比较差,于是java另外实现了另一种无锁的却能保证数据操作原子性的方式——CAS(Compare-and-swap)。 CAS的原理 Compare-and-swap,是一个针对

synchronize可以锁住一个方法?

记得有一次在面试一个实习生的时候,闻到了一个synchronize的相关问题,他提到“synchronize通过锁住一个方法或者一段代码实现同步效果”。这句话从表面上看其实也没有什么问题,毕竟从代码上看就是这么回事—— ` public synchronized void run() {

volatile关键字与内存模型

对volatile关键字的理解,与java的内存模型的概念是分不开的。 从内存模型说起 java中有个概念叫内存模型,大体是这样的一种结构: [ ]()java内存模型 java内存模型规定了所有的变量都存储在主内存中,即是虚拟机内存的一部分。 每条线程拥有自己的工作内存,线程不能直接读写主内存中的

根据JVM日志计算JVM参数

一、程序 ` public class Test5 { public static void main(String[] args) { byte[] b =null; for (int i = 0; i < 10; i++) { b=

SpringBoot启动类注解全析

简介 本文承接上文《[史上最精简的springboot项目搭建]()》,主要讲解springboot项目启动类中的注解@SpringBootApplication。 @SpringBootApplication注解的组成 通过查看@SpringBootApplication这个注解类的源码,我们可以

javaWeb系统集成guacamole

简介 自上篇博客《[Guacamole 开发web端远程桌面]()》写出来之后,陆续有伙伴联系我,希望我写一下guacamole的web集成版,可惜自己一直没什么心思,直到今日才终于想执笔了。 guacamole与web的集成方案 上篇博客说到,guacamole其实是分为客户端和服务端,服务端自不

session深入探讨

简介        session,会话,其实是一个容易让人误解的词。它总跟web系统的会话挂钩,利用session,javaweb项目实现了登录状态的控制。坊间流传,关闭浏览器,就是关闭了web系统的会话。其实浏览器对于会话有自己的定义,而web系统对于会话也有自己的定义。在tomcat中,ses