GarfieldEr007的专栏

勤奋治学 深度思考 静心钻研 先苦后甜

死磕Java并发:深入分析synchronized的实现原理

原文出处: cmsblogs 记得刚刚开始学习Java的时候,一遇到多线程情况就是synchronized,相对于当时的我们来说synchronized是这么的神奇而又强大,那个时候我们赋予它一个名字“同步”,也成为了我们解决多线程情况的百试不爽的良药。但是,随着我们学习的进行我们知道synch...

2019-01-20 23:52:23

阅读数:21

评论数:0

Java并发编程 Synchronized及其实现原理

Synchronized是Java中解决并发问题的一种最常用的方法,也是最简单的一种方法。Synchronized的作用主要有三个:(1)确保线程互斥的访问同步代码(2)保证共享变量的修改能够及时可见(3)有效解决重排序问题。 Java中每一个对象都可以作为锁,这是synchronized实现同...

2019-01-20 23:50:42

阅读数:18

评论数:0

Java synchronized 详解

下面的文字均来自其它博客和网页。 参考:http://www.jianshu.com/p/ea9a482ece5f 由于同一进程的多个线程共享同一片存储空间,在带来方便的同时,也带来了访问冲突这个严重的问题。Java语言提供了专门机制以解决这种冲突,有效避免了同一个数据对象被多个线程同时访问。...

2019-01-20 23:49:42

阅读数:28

评论数:0

让你彻底理解Synchronized

synchronized简介 在学习知识前,我们先来看一个现象: public class SynchronizedDemo implements Runnable { private static int count = 0; public static void mai...

2019-01-20 23:48:54

阅读数:23

评论数:0

JVM内存模型、指令重排、内存屏障概念解析

在高并发模型中,无是面对物理机SMP系统模型,还是面对像JVM的虚拟机多线程并发内存模型,指令重排(编译器、运行时)和内存屏障都是非常重要的概念,因此,搞清楚这些概念和原理很重要。否则,你很难搞清楚哪些操作是在并发先绝对安全的?哪些是相对安全的?哪些并发同步手段性能最低?valotile的二层语义...

2019-01-20 23:42:42

阅读数:38

评论数:0

1.6的锁优化(适应性自旋/锁粗化/锁削除/轻量级锁/偏向锁)

高效并发是JDK 1.6的一个重要主题,HotSpot虚拟机开发团队在这个版本上花费了大量的精力去实现各种锁优化技术,如适应性自旋(Adaptive Spinning)、锁削除(Lock Elimination)、锁膨胀(Lock Coarsening)、轻量级锁(Lightweight Lock...

2019-01-20 23:17:25

阅读数:24

评论数:0

通过踩坑带你读透虚拟机的“锁粗化”

之前在学习volatile时,踩过一些坑。通过这些坑,学习了一些jvm的锁优化机制。后来在面试的过程中,被问到的概率还挺高。于是,我整理了这篇踩坑记录。 1. java多线程内存模型 在聊踩坑记录前,先要了解下java多线程内存模型。大家可通过“并发编程网”的一篇文章去学习这块知识,网址是ht...

2019-01-20 23:10:13

阅读数:6

评论数:0

锁优化:逃逸分析、自旋锁、锁消除、锁粗化、轻量级锁和偏向锁

1. 逃逸分析 Escape Analysis 1.1 逃逸分为两种: 方法逃逸:当一个对象在方法中被定义后,可能作为调用参数被外部方法说引用。 线程逃逸:通过复制给类变量或者作为实例变量在其他线程中可以被访问到。 1.2 逃逸分析相关优化 如果证明一个对象不会逃逸方法外或者线程外,则可针...

2019-01-20 23:06:31

阅读数:9

评论数:0

Java并发编程:Synchronized底层优化(偏向锁、轻量级锁)

一、重量级锁   上篇文章中向大家介绍了Synchronized的用法及其实现的原理。现在我们应该知道,Synchronized是通过对象内部的一个叫做监视器锁(monitor)来实现的。但是监视器锁本质又是依赖于底层的操作系统的Mutex Lock来实现的。而操作系统实现线程之间的切换这就需要...

2019-01-20 23:03:52

阅读数:16

评论数:0

JVM中锁优化,偏向锁、自旋锁、锁消除、锁膨胀

本文将简单介绍HotSpot虚拟机中用到的锁优化技术。 自旋锁 互斥同步对性能最大的影响是阻塞的实现,挂起线程和恢复线程的操作都需要转入内核态中完成,这些操作给系统的并发性能带来了很大的压力。而在很多应用上,共享数据的锁定状态只会持续很短的一段时间。若实体机上有多个处理器,能让两个以上的线程同...

2019-01-20 23:02:31

阅读数:13

评论数:0

一张图搞定OAuth2.0

1、引言 本篇文章是介绍OAuth2.0中最经典最常用的一种授权模式:授权码模式 非常简单的一件事情,网上一堆神乎其神的讲解,让我不得不写一篇文章来终结它们。 一项新的技术,无非就是了解它是什么,为什么,怎么用。至于为什么,本篇文章不做重点探讨,网上会有各种文章举各种什么丢钥匙、发船票的例子...

2019-01-19 18:31:27

阅读数:17

评论数:0

计算机的本质

这是我一直以来就有的疑问,我很想知道计算机最最基本的工作原理。也找了好多的书籍,但这些只是从各个层次来告诉你计算机是由哪些部件构成,分别起了什么作用,但仍然解决不了最最基本的疑惑,你甚至不知道这疑惑究竟是什么。直到最近看了《编码·隐匿在计算机软硬件背后的语言》这本大师之作,终于对这个疑问有了较为清...

2019-01-19 18:30:22

阅读数:19

评论数:0

记一个自己项目上线的全过程

个人终于第一次完成了一个java web项目从策划到最终上线的全过程,虽然项目十分简单,但全流程跑通的感觉还是倍爽的,之后再做项目则只是各个环节上的细化了。 现在我将我的“第一次”分享给大家 项目名称:最美80周年,共同记录 开发文档:https://www.showdoc.cc/rucda...

2019-01-19 18:29:21

阅读数:17

评论数:0

究竟什么是技术

这几天胡思乱想了很多,也想写篇胡思乱想想到哪写哪的文章和大家分享一下,就当是闲聊吧。   高考报考的时候,由于意外踏入了某著名高校的校长直通车计划,我顺利地进入了这所高校,读上了我曾最为讨厌的经济学专业。这所高校的巨大光环和号称全国第一的专业名气,让我带着满满的骄傲学起了我最不喜欢的专业,过上了...

2019-01-19 18:26:37

阅读数:15

评论数:0

微信网页版接口详解

目录  一、网页版微信提供的HTTP接口  二、一些状态码code值的说明 本系列会讲述微信机器人技术的实现,第一讲主要了解微信网页版给我们提供的http接口,这一步是做一个基于微信网页版机器人的基础和难点。 本讲将微信网页版的主要接口罗列出,并给出了入参和返回值的含义和用法。一些不常用的接...

2019-01-19 18:22:50

阅读数:160

评论数:1

JVM常用启动参数

目录 一、堆大小设置(堆 = 年轻代 + 年老代+ 持久代) 二、垃圾回收器设置(串行收集器、并行收集器、并发收集器 )   三、辅助信息参数设置 本文参考 jvm参数设置大全:http://www.cnblogs.com/marcotan/p/4256885.html 堆内存分配及g...

2019-01-19 18:20:26

阅读数:24

评论数:0

从零开始打jar包

经常会头疼于一个jar包是如何制作的,包括maven的打包方式,springboot的打jar包的原理,jar包稍稍有错误就会完全无法运行。在网上折腾了很久终于有些思路和步骤,在这里做个笔记 本文大纲: 一、制作只含有字节码文件的jar包 1、最简单的jar包——直接输出hello 2、含有两...

2019-01-19 18:19:19

阅读数:50

评论数:0

初探性能优化——2个月到4小时的性能提升

一直不知道性能优化都要做些什么,从哪方面思考,直到最近接手了一个公司的小项目,可谓麻雀虽小五脏俱全。让我这个编程小白学到了很多性能优化的知识,或者说一些思考方式。真的感受到任何一点效率的损失放大一定倍数时,将会是天文数字。最初我的程序计算下来需要跑2个月才能跑完,经过2周不断地调整架构和细节,将性...

2019-01-19 18:18:16

阅读数:46

评论数:0

如何熟悉一个新项目

很多新人进入一家新公司后,最头疼的就是如何快速了解公司的业务和项目架构。或者说不要求快速,给你足够的时间,也很难在庞大的业务中整理出思绪。当然,如果你碰到一个特别热心的老员工,事无巨细地给你讲,随时在你身边答疑解惑,那可能还好。但很可惜,我没有碰到这样的人,在加入新公司后,带我的人几乎没有花时间给...

2019-01-19 17:45:29

阅读数:92

评论数:0

Java设计模式思维导图

    from: https://www.cnblogs.com/icemoon1987/p/3349415.html https://blog.csdn.net/likewind1993/article/details/77843064 https://www.aliyun.c...

2019-01-13 22:08:45

阅读数:49

评论数:0

提示
确定要删除当前文章?
取消 删除
关闭
关闭