标签:线程同步

Java

不可不说的Java“锁”事

18

小丁 发布于 2018-11-15

前言 Java提供了种类丰富的锁,每种锁因其特性的不同,在适当的场景下能够展现出非常高的效率。本文旨在对锁相关源码(本文中的源码来自JDK 8)、使用场景进行举例,为读者介绍主流锁的知识点,以及不同的锁的适用场景。 Java中往往是按照是否含有某一特性来定义锁,我们通过特性将锁进...

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

Java

java synchronize – 线程同步原理

1

yanxinchi 发布于 2018-11-14

Java支持同步机制的是 Monitor 。Monitor就像是拥有一个特殊房间的建筑,在同一时间里,这间特殊的房间只能被一个线程拥有。 enter the monitor:进入这幢建筑 acquiring the monitor:进入建筑里的特殊房间 owning the mo...

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

Java

HashMap以及ConcurrentHashMap(volatile)

Harries 发布于 2018-11-13

1.HashMap怎么实现hashcode和equals HashMap的数据结构是链表+数组,HashMap的数据结构类似于: 元素0->[hashCode=0,key.value=x1的数据] 元素1->[hashCode=1,key.value=y1的数据] ....

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

Spring

【备战春招/秋招系列】美团面经总结基础篇 (附详解答案)

7

邓龙华 发布于 2018-11-12

该文已加入开源文档:JavaGuide(一份涵盖大部分Java程序员所需要掌握的核心知识)。地址: github.com/Snailclimb/… . 【强烈推荐!非广告!】阿里云双11褥羊毛活动: m.aliyun.com/act/team111… 差不多一折,不过仅限阿里云新...

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

Java

一个诡异的 full gc 查找问题

13

darida 发布于 2018-11-06

背景 一个服务突然所有机器开始频繁full gc。而服务本身没有任何改动和发布记录。 上线查看gc log日志,日志如下: 从日志来看,每次发生full gc的时候都比较奇怪,主要有两点,第一、old区域和perm的区域使用率很低,没有到达触发full gc的条件,第二、项目中配...

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

Java

Java引用类型原理剖析

1

changyuan.xu 发布于 2018-11-05

Java中一共有4种引用类型(其实还有一些其他的引用类型比如FinalReference):强引用、软引用、弱引用、虚引用。其中强引用就是我们经常使用的 Object a = new Object(); 这样的形式,在Java中并没有对应的Reference类。 本篇文章主要是分...

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

Java

Java核心(三)并发中的线程同步与锁

1

xirruiqiang 发布于 2018-11-02

乐观锁、悲观锁、公平锁、自旋锁、偏向锁、轻量级锁、重量级锁、锁膨胀…难理解?不存的!来,话不多说,带你飙车。 上一篇介绍了线程池的使用,在享受线程池带给我们的性能优势之外,似乎也带来了另一个问题:线程安全的问题。 那什么是线程的安全问题呢? 一、线程安全问题的产生 线程安全问题:...

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

Java

BATJ都爱问的多线程面试题

10

xubiao.zhuang 发布于 2018-11-02

下面最近发的一些并发编程的文章汇总,通过阅读这些文章大家再看大厂面试中的并发编程问题就没有那么头疼了。今天给大家总结一下,面试中出镜率很高的几个多线程面试题,希望对大家学习和面试都能有所帮助。备注:文中的代码自己实现一遍的话效果会更佳哦! 并发编程面试必备:synchronize...

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

Java

JAVA volatile 关键字

3

songhua.gao 发布于 2018-10-30

volatile 关键字能把 Java 变量标记成"被存储到主存中"。这表示每一次读取 volatile 变量都会访问计算机主存,而不是 CPU 缓存。每一次对 volatile 变量的写操作不仅会写到 CPU 缓存,还会刷新到主存中。 实际上从 Java 5...

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

Java

netty源码分析之揭开reactor线程的面纱(三)

1

wenming.gapo 发布于 2018-10-25

上两篇博文( netty源码分析之揭开reactor线程的面纱(一) , netty源码分析之揭开reactor线程的面纱(二) )已经描述了netty的reactor线程前两个步骤所处理的工作,在这里,我们用这张图片来回顾一下: 简单总结一下reactor线程三部曲 轮询出IO...

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

Java

[原]多线程(一)

刘莉莉 发布于 2018-10-23

线程基础 线程和进程 进程是操作系统的基础,是一个程序在一个数据集上运行的过程,也是系统进行资源分配和调度的基本单位。我们可以认为一个进程就是一个应用程序。 线程是操作系统调度的最小单元,程序执行的最小单位,在一个进程中可以创建多个线程。线程拥有独立的堆栈空间,可以共享内存变量。...

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

Java

Java并发编程(5)- J.U.C之AQS及其相关组件详解

10

hellas 发布于 2018-10-19

J.U.C之AQS-介绍 Java并发包(JUC)中提供了很多并发工具,这其中,很多我们耳熟能详的并发工具,譬如ReentrangLock、Semaphore,而它们的实现都用到了一个共同的基类–AbstractQueuedSynchronizer(抽象队列同步器),...

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

Java

Java设计模式系列之单例设计模式

小丁 发布于 2018-10-11

Hello,大家好,距离上次写博客是2018年1月26号,算了下,有8个月没写博客了。这里给大家道个歉,因为我换了工作,现就职在深圳一家公司,换了城市,加上工作上的一些事,所以一直抽不开身,2个月前不是太忙的时候,一直想着写点什么,可又找不到感觉了,所有就慢慢吞吞的,今天下定决心...

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

Java

写出优美Java代码注意事项

小丁 发布于 2018-09-20

(1)尽量指定类、方法的final修饰符 带有final修饰符的类是不可派生的。在Java核心API中,有许多应用final的例子,例如java.lang.String,整个类都是final的。为类指定final修饰符可以让类不可以被继承,为方法指定final修饰符可以让方法不可...

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

Java

对陈同学面试问题的自己的回答

yanxinchi 发布于 2018-09-19

本文章大部分题目都来自陈同学的博客文章,当然,里面也加入了一点点我从别的地方摘抄的题。除了算法之外,其它的应该大部分都有写。 Activity Q:说下Activity的生命周期? A:Activity的生命周期是 oncreate()->onStart()->onR...

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

Java

毕业真实的版本-*桑德兰大学毕业证-|UoS原件一模一样证书

xubiao.zhuang 发布于 2018-09-18

首页 文章 Go 语言中的同步队列 ## 问题 假设我们在运营一家 IT 公司,公司里面有程序员和测试员。为了给个机会他们互相认识对方,并且让他们能够在工作中放松一点,我们买了一个乒乓球台,并且制定了如下规则: – 每次只能两个人(不能少于或多于两人)玩。 ̵...

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

Java

Java性能优化的50个细节(珍藏版)

1

小丁 发布于 2018-09-13

在JAVA程序中,性能问题的大部分原因并不在于JAVA语言,而是程序本身。养成良好的编码习惯非常重要,能够显著地提升程序性能。 1. 尽量在合适的场合使用单例 使用单例可以减轻加载的负担,缩短加载的时间,提高加载的效率,但并不是所有地方都适用于单例,简单来说,单例主要适用于以下三...

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

Java

Java必知必会之(四)–多线程全揭秘(下)

yeseng 发布于 2018-09-10

本文旨在用最通俗的语言讲述最枯燥的基本知识。 全文提纲: 1.线程是什么?(上) 2.线程和进程的区别和联系(上) 3.创建多线程的方法(上) 4.线程的生命周期(上) 5.线程的控制(上) 6.线程同步(下) 7.线程池(下) 8.线程通信(下) 9.线程安全(下) 10.Th...

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