标签:synchronized

Java

dubbo源码解析(四十五)服务引用过程

1

songhua.gao 发布于 2019-04-26

dubbo服务引用过程 目标:从源码的角度分析服务引用过程。 前言 前面服务暴露过程的文章讲解到,服务引用有两种方式,一种就是直连,也就是直接指定服务的地址来进行引用,这种方式更多的时候被用来做服务测试,不建议在生产环境使用这样的方法,因为直连不适合服务治理,dubbo本身就是一...

阅读(7)评论(0)赞 (0)

Java

synchronized原理

1

dulong 发布于 2019-04-26

前边的文章中已经介绍了 synchronized 的基本用法 ,我们也知道了 synchronized 使用锁,来保证被锁定了代码同一时间只能有一个线程执行;那么 synchronized 关键字的实现原理是怎样的呢? 在《深入理解Java虚拟机》一书中,介绍了 HotSpot ...

阅读(7)评论(0)赞 (0)

Java

【嗅探底层】你知道Synchronized作用是同步加锁,可你知道它在JVM中是如何实现的吗?

6

xiaoli.he 发布于 2019-04-26

本文系公众号读者投稿 作者:李瑞杰 目前任职于阿里巴巴,资深JVM研究人员 友情提示: 本文内容涉及JVM底层,文章烧脑,请谨慎阅读! 我们可以利用synchronized关键字来对程序进行加锁。它既可以用来声明一个synchronized代码块,也可以直接标记静态方法或者实例方...

阅读(11)评论(0)赞 (0)

Java

java锁浅析

1

Harries 发布于 2019-04-26

java开发中进行并发编程时针对操作同一块区域时,如果不加锁会出现并发问题,数据不是自己预计得到的值。我觉得有点像mysql事务中脏读、不可重复读、幻读的问题。加锁的目的是为了保证同一时间只有我一个人操作同一个资源。 如何在代码里面加锁 jdk提供给了我们很多锁的实现方式,用于各...

阅读(7)评论(0)赞 (0)

Java

折腾Java设计模式之单例模式

likai 发布于 2019-04-26

Ensure a class has only one instance, and provide a global point of access to it. 一个类仅仅只有一个实例,并且提供全局的接入点。简洁点理解就是涉及到一个单一的类,该类负责创建自己的对象,同时确保只有...

阅读(6)评论(0)赞 (0)

Java

【嗅探底层】你知道Synchronized作用是同步加锁,可你知道它在JVM中是如何实现的吗?

5

songhua.gao 发布于 2019-04-26

​本文系公众号石杉的架构笔记的读者投稿 作者:李瑞杰 目前任职于阿里巴巴,资深JVM研究人员 友情提示: 本文内容涉及JVM底层,文章烧脑,请谨慎阅读! 我们可以利用synchronized关键字来对程序进行加锁。它既可以用来声明一个synchronized代码块,也可以直接标记...

阅读(9)评论(0)赞 (0)

Java

J.U.C|可重入锁ReentrantLock

3

尖兵 发布于 2019-04-26

一、写在前面 前几篇我们具体的聊了AQS原理以及底层源码的实现,具体参见 《J.U.C|一文搞懂AQS》 《J.U.C|同步队列(CLH)》 《J.U.C|AQS独占式源码分析》 《J.U.C|AQS共享式源码分析》 本章我们来聊一聊其实现之一 可重入锁ReentrantLock...

阅读(6)评论(0)赞 (0)

Java

聊聊elasticsearch的MembershipAction

xiaoli.wang 发布于 2019-04-25

序 本文主要研究一下elasticsearch的MembershipAction MembershipAction elasticsearch-6.7.1/server/src/main/java/org/elasticsearch/discovery/zen/Membershi...

阅读(14)评论(0)赞 (0)

Java

你知道Java中的反射机制吗?

yeseng 发布于 2019-04-25

一.概念 反射就是把Java的各种成分映射成相应的Java类。 Class类的构造方法是private,由JVM创建。 反射是java语言的一个特性,它允程序在运行时(注意不是编译的时候)来进行自我检查并且对内部的成员进行操作。例如它允许一个java的类获取他所有的成员变量和方法...

阅读(15)评论(0)赞 (0)

Java

Java单例模式实现

小丁 发布于 2019-04-25

单例模式可能是代码最少的模式了,但是少不一定意味着简单,想要用好、用对单例模式,还真得费一番脑筋。本文对Java中常见的单例模式写法做了一个总结,如有错漏之处,恳请读者指正。 饿汉法 顾名思义,饿汉法就是在第一次引用该类的时候就创建对象实例,而不管实际是否需要创建。代码如下: p...

阅读(12)评论(0)赞 (0)

Java

Java并发 — 安全性、活跃性、性能

hellas 发布于 2019-04-24

线程安全的本质是 正确性 ,而正确性的含义是 程序按照预期执行 理论上 线程安全 的程序,应该要避免出现 可见性问题(CPU缓存)、原子性问题(线程切换)和有序性问题(编译优化) 需要分析是否存在线程安全问题的场景: 存在共享数据且数据会发生变化,即有多个线程会同时读写同一个数据...

阅读(21)评论(0)赞 (0)

Java

CAS导致的ABA问题及解决

1

xirruiqiang 发布于 2019-04-24

在并发问题中,最先想到的无疑是互斥同步,但线程阻塞和唤醒带来了很大的性能问题,同步锁的核心无非是防止共享变量并发修改带来的问题,但不是任何时候都有这样的竞争关系。 什么是CAS CAS,比较并交换(Compare-and-Swap,CAS),如果期望值和主内存值一样,则交换要更新...

阅读(9)评论(0)赞 (0)

编程技术

从一个真实的分布式 ID 案例看如何做架构

8

hanze 发布于 2019-04-24

1.1 前言 在软件开发过程中,经常会遇到 "架构设计","方案评估","技术选型"等工作,这些内容处理起来相对比较棘手,一般会交由架构师及技术总监进行决策与把控,笔者从事的是架构师岗位,在处理此类问题的过程中积累了一些...

阅读(8)评论(0)赞 (0)

Spring

京东面试真题,被问到这些,我也是醉了

songhua.gao 发布于 2019-04-24

←←←←←←←←←←←← 快!点关注 前言 前几天了前公司带的一个新人聊了一会,说了一下他在京东的的面试经历,我感觉挺不错的,就和大家分享一下: 工作两年有余,本人第一份工作是在一家外包公司,第二份工作是在一家做SAAS平台的公司,第一家公司让我入门,进入了软件开发的行业,了解了...

阅读(9)评论(0)赞 (0)

Java

深入理解Java——ConcurrentHashMap源码的分析(JDK1.8)

1

likai 发布于 2019-04-24

←←←←←←←←←←←← 快!点关注 一、前提 在阅读这篇博客之前,希望你对HashMap已经是有所理解的,如果你对java的cas操作也是有一定了解的,因为在这个类中大量使用到了cas相关的操作来保证线程安全的。 二、概述 ConcurrentHashMap这个类在java.l...

阅读(13)评论(0)赞 (0)

Java

聊聊hibernate的session-level repeatable reads

hellas 发布于 2019-04-24

序 本文主要研究一下hibernate的session-level repeatable reads 实例 doInTransaction(session -> { Product product = new Product(); product.setId(1L); pr...

阅读(10)评论(0)赞 (0)

Java

Java多线程之Executor框架和手写简易的线程池

1

xiaoli.wang 发布于 2019-04-24

线程池 什么是线程池 线程池一种线程使用模式,线程池会维护多个线程,等待着分配可并发执行的任务,当有任务需要线程执行时,从线程池中分配线程给该任务而不用主动的创建线程。 线程池的好处 如果在我们平时如果需要用到线程时,我们一般是这样做的:创建线程(T1),使用创建的线程来执行任务...

阅读(11)评论(0)赞 (0)

Java

详解多线程

2

hanze 发布于 2019-04-24

一个任务通常就是一个程序,每个运行中的程序就是一个进程。当一个程序运行时,内部可能包含了多个顺序执行流,每个顺序执行流就是一个线程。 进程 定义: 当一个程序进入内存运行时,即变成一个进程。进程是处于运行过程中的程序,并且具有一定的独立功能,进程是系统进行资源分配和调度的一个独立...

阅读(13)评论(0)赞 (0)