欢迎来到Vincentyw的博客

该来的终究会来,该走的也一定会离开。凡事都存在前因后果,因缘成熟了,果报便产生了,无法阻挡。
但是发生过了就会消失,有来就有走,一切都是过客,把握自己当下的因缘,承担起自己该承担的责任,做好眼前该做的事情,做的时候尽全力,过去便放下,放下即自在。

随笔分类 -  并发编程专题

并发编程专题模块
Java中CAS底层实现原理分析
摘要:CAS(无锁优化、自旋锁)原理分析 一、CAS(compareAndSwap)的概念 CAS,全称Compare And Swap(比较与交换),解决多线程并行情况下使用锁造成性能损耗的一种机制。 CAS(V, A, B),V为内存地址、A为预期原值,B为新值。如果内存地址的值与预期原值相匹配,那么 阅读全文

posted @ 2020-01-08 19:23 VincentYew 阅读(876) 评论(0) 推荐(0) 编辑

JMM和Volatile底层原理分析
摘要:JMM和volatile分析 1.JMM:Java Memory Model,java线程内存模型 JMM:它是一个抽象的概念,描述的是线程和内存间的通信,java线程内存模型和CPU缓存模型类似,它是标准化的,用于屏蔽硬件和操作系统对内存访问的差异性。 2.JMM和8大原子操作结合 3.volat 阅读全文

posted @ 2019-12-14 17:36 VincentYew 阅读(492) 评论(0) 推荐(0) 编辑

synchronized和volatile使用
摘要:synchronized和volatile volatile :保证内存可见性,但是不保证原子性; synchronized:同步锁,既能保证内存可见性,又能保证原子性; synchronized实现可重入锁 (1.持有同一锁自动获取 2.继承锁) 锁定的对象有两种:1.类的实例(对象锁) 2.类对 阅读全文

posted @ 2019-12-09 20:19 VincentYew 阅读(489) 评论(0) 推荐(0) 编辑

探究java对象头
摘要:探究java对象头 研究java对象头,我这里先截取Hotspot中关于对象头的描述,本文研究基于64-bit HotSpot VM 文件路径 openjdk-jdk8u-jdk8u\hotspot\src\share\vm\oops\markOop.hpp // 32 bits: // // ha 阅读全文

posted @ 2019-12-04 18:20 VincentYew 阅读(1944) 评论(0) 推荐(2) 编辑

C通过JNI反向调用JAVA程序方法
摘要:JNI反向调用JAVA程序 引述:上文讲过java线程 OS线程的关系,然后C怎样反向调用JAVA程序方法是我们这篇讲的重点 1.ThreadTest中添加run()方法 2.编译ThreadTest.java javac ThreadTest.java 生成ThreadTest.class 3.j 阅读全文

posted @ 2019-11-08 11:55 VincentYew 阅读(888) 评论(0) 推荐(0) 编辑

浅析java线程和OS线程的关系
摘要:探究java线程和OS线程之间的联系 一.准备工作 1.查看linux创建线程的方法 man pthread_create 根据man的配置可知,pthread_create会创建一个线程,这个函数是Linux的函数,可以通过C或者C++调用,该函数在pthread.h中 2.查看openjdk版本 阅读全文

posted @ 2019-11-07 18:42 VincentYew 阅读(593) 评论(0) 推荐(0) 编辑

导航