标签:synchronized

Java

jdk1.8集合源码分析系列-4-Vector和Stack

4

yeseng 发布于 2020-07-12

为什么要把vector和stack一起来分析,因为在jdk容器的源码来说,stack是继承vector,并且代码也比较少,所以vector和stack一起来看一下。 接口继承图 在分析vector之前,我们先来看下vector的接口继承图: 看到这个图是不是非常熟悉,和之前分析的...

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

Java

Netty编程实战之:Reactor反应器模式

dulong 发布于 2020-07-12

前一节中我们提到, Netty 入门的两个准备工作, 一是 Java NIO ,二是 Reactor反应器模式 , 这节我们来了解 Reactor反应器模式 如果不知道 Java NIO 的话,那么推荐先去看一下 Java NIO : Netty编程实战之:掌控NIO 什么是Re...

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

Java

为什么 wait() 方法需要写在 while 里,而不是 if?

1

puefu.he 发布于 2020-07-12

不要让这个世界的复杂性阻碍你的前进。要成为一个行动主义者,将解决人类的不平等视为己任。它将成为你生命中最重要的经历之一。 问:为什么是 while 而不是 if ? 大多数人都知道常见的使用 synchronized 代码: synchronized (obj) { while ...

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

Java

JAVA多线程——并发

3

xiaoli.he 发布于 2020-07-12

线程状态图: 图来自 Java线程的6种状态及切换(透彻讲解) 初始、就绪、运行、等待、阻塞(synchronized)、终止。 Thread.sleep(millis)一定时间后自动恢复执行, 不释放对象锁 。 Object.wait()直接 释放锁 ,一直等待,知道notif...

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

Java

Java并发编程学习系列八:单例模式

changyuan.xu 发布于 2020-07-12

介绍 什么是单例模式? 通俗的讲,就是在应用程序中只需要某个类保留唯一一个实例对象,不希望有更多的实例。单例模式是 Java 设计模式中最简单的设计模式之一,在应用程序中经常被用到。 应用场景 单例模式的应用场景有很多,比如线程池、日志对象、缓存、数据库连接池、计算机系统设备管理...

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

Java

深入理解Java并发编程(四):CAS操作以及jdk1.8后的优化

likai 发布于 2020-07-12

说到CAS之前,先来看看乐观锁与悲观锁: 悲观锁认为: 每个线程在对一数据进行操作时,都会有其他线程来并发修改 ,所以在获取数据的时候就上锁来进行操作,synchronized和lock就是一种悲观锁的策略。也就是先上锁再操作。 乐观锁认为: 每个线程在对以数据进行操作时,没有其...

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

Java

java集合拓扑结构

2

songhua.gao 发布于 2020-07-12

JAVA集合(Collection) List、Set、Queue、Map。 主要有以下实现子类。 List->Vector->Stack(c) ->ArrayList(c) ->LinkedList(c) Set->HashSet->Link...

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

Spring

分析一波Spring中factory-method如何实例化对象的?

9

hellas 发布于 2020-07-12

❝ 你的赞是我最大的动力,期待与你的共同进步。 ❞   文章开篇,不得不前情提要走一波了。还记得 @Configuration 类中的 @Bean 方法是如何处理的吗? @Bean 方法中的对象是如何实例化的?小小的脑袋上面是否有大大的问号呢? 这里做一个简要回顾,首先看 @Be...

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

Java

深入理解Java并发编程(一):JMM(Java内存模型)详解

2

dulong 发布于 2020-07-12

JMM是一个抽象的概念:描述的是一组围绕原子性、有序性、可见性的规范。其定义程序中各个变量的访问规则,即虚拟机中将变量存储到内存和从内存中取出变量这样的底层细节。此处的变量是共享变量。 JMM规定:所有共享变量存储在主内存中,每条线程有自己的工作内存,线程的工作内存保存了被该线程...

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

Java

深入理解Java并发编程(三):volatile关键字详解

1

hellas 发布于 2020-07-12

synchronized关键字是阻塞式同步,在线程竞争激烈的时候会逐渐由偏向锁膨胀为重量级锁。而volatile是JVM提供的最轻量级的同步机制。JMM告诉我们各个线程会将共享变量从主内存中拷贝到工作内存,然后执行引擎会基于工作内存中的数据进行操作处理。不过线程在工作内存中进行操...

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

Java

深入理解Java并发编程(二):synchronized关键字详解

1

wenming.gapo 发布于 2020-07-12

让每一个线程依次的去读取这个共享数据,这样就不会有任何的数据安全问题了,因为每次每个线程所操作的都是最新的数据,不会出现脏读的现象。synchronized关键字就是 使每个线程依次排队操作共享变量,也就是用来处理共享数据的安全性问题 。不过这种同步机制的效率很低。 一、使用范围...

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

Java

Java知识点JUC总结

8

darida 发布于 2020-07-12

JUC:java.util.concurrent (Java并发编程工具类) 一般面试提问:面向对象和高级语法、Java集合类、Java多线程、JUC 和高并发、Java IO和 NIO 获取多线程的4种方法: 1.继承Thread类,重写run方法(其实Thread类本身也实现...

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

Spring

Spring IOC与AOP源码分析,吊锤面试官 SO easy!

6

likai 发布于 2020-07-12

本文对Spring相关知识点做了归纳整理,包括 Spring 优势、其框架结构、核心思想,并对IoC思想及AOP思想进行手动实现,增强对Spring 核心思想的理解。之后对Spring IoC、AOP 的实现方式和特性进行介绍,并对照源码理解其实现思路。 Spring 优势 方便...

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

Java

【012期】JavaSE面试题(十二):多线程(2)

2

hanze 发布于 2020-07-12

开篇介绍 大家好,我是 Java最全面试题库 的 提裤姐 ,今天这篇是JavaSE系列的第十二篇,主要总结了Java中的多线程问题,多线程分为三篇来讲,这篇是第二篇,在后续,会沿着第一篇开篇的知识线路一直总结下去,做到日更!如果我能做到百日百更,希望你也可以跟着百日百刷,一百天养...

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

Java

看完这篇 HashMap ,和面试官扯皮就没问题了

30

小丁 发布于 2020-07-12

来源 | Java 建设者 责编 | Carol 封图 | CSDN 下载自视觉中国 (如果你没有时间细抠本文,可以直接看 HashMap 概述,能让你对 HashMap 有个大致的了解) HashMap 是 Map 接口的实现,HashMap 允许空的 key-val...

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

Java

基于Mina的配置中心(四)

6

hellas 发布于 2020-07-11

基于Mina的配置中心(四) 继续编写 Server 端代码,接下来是 handler 消息处理器 MinaServerHandler 在 IoHandlerAdapter 中有以下方法。 看名字就可以看出,有处理异常、接收消息,发送消息、连接打开,连接关闭、进入空闲状态等方法。...

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

Java

基础篇:Object对象

5

likai 发布于 2020-07-11

1 Object的内存结构和指针压缩了解一下 //hotspot的oop.hpp文件中class oopDesc class oopDesc { friend class VMStructs; private: volatile markOop _mark; //对象部分 uni...

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

Java

Java 字符串比较、拼接问题

xiaoli.wang 发布于 2020-07-11

@ 目录 1.2 String类型的比较方式 1.3.1 直接使用“=”进行赋值 1.3.2 使用“new”关键字创建新对象 1.3.3 intern()方法返回的引用地址 2. 字符串类的可变性与不可变性 3.1 字符串与非字符串类型的相加/拼接 3.2 两个String类型对...

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