标签:synchronized

Java

乐观锁和悲观锁

xiaoli.he 发布于 2019-12-11

锁机制 在数据库操作过程中,为了避免两个或多个用户同时对一条数据操作,通常采用锁的机制来来解决数据冲突问题。 同样,在程序流程中为了避免对多线程共享的资源的修改冲突,也采用锁的机制来避免修改冲突 锁的分类 乐观锁(Optimistic Lock) 所谓乐观锁,就是相信大部分场景下...

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

Java

解析Java内存模型[译]

7

xiaoli.wang 发布于 2019-12-11

看到一篇关于Java内存模型的技术文章于是翻译一下供大家学习交流。 原文地址: 《Java Memory Model》 java内存模型指定了java虚拟机如何与计算机的内存(RAM)进行工作。java虚拟机是一整个计算机的抽象模型,所以这个模型天然的包括了内存模型,它被称之为j...

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

Java

CAS都不了解,你还怎么看J.U.C

puefu.he 发布于 2019-12-11

前言 说到 CAS (CompareAndSwap),不得不先说一说 悲观锁 和 乐观锁 ,因为CAS是乐观锁思想的一种实现。 悲观锁:总是很悲观的认为,每次拿数据都会有其他线程并发执行,所以每次都会进行加锁,用完之后释放锁,其他的线程才能拿到锁,进而拿到资源进行操作。java中...

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

Java

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

2

xiaoli.he 发布于 2019-12-11

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

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

Java

Java对象头详解

9

小丁 发布于 2019-12-11

由于Java面向对象的思想,在JVM中需要大量存储对象,存储时为了实现一些额外的功能,需要在对象中添加一些标记字段用于增强对象功能,这些标记字段组成了对象头。 1.对象头形式 JVM中对象头的方式有以下两种(以32位JVM为例): 1.1.普通对象 |--------------...

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

Java

Java容器详解

6

yanxinchi 发布于 2019-12-11

编辑推荐: 文章主要介绍了什么是容器,Java基本容器类包括:List,Set,Queue,Map,他们的区别是什么?希望本文对您的学习有所帮助。 本文来自于csdn,由火龙果软件Alice编辑、推荐。 一、容器的概念 1. 什么是容器 在Java当中,有一个类专门用来存放其它类...

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

Spring

什么是反射?

3

Harries 发布于 2019-12-10

本文基于 JDK8, Oracle官网 对反射的解释是 Reflection enables Java code to discover information about the fields, methods and constructors of loaded classe...

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

Java

Java基础复习之旅(3)-线程篇

7

xiaoli.wang 发布于 2019-12-10

1. 基本概念 1.1 线程、进程、协程是什么? 首先要知道, 一个进程可以有多个线程,一个线程可以有多个协程。 先说说线程跟进程: 进程是资源分配的最小单元,线程是CPU调度的最小单位。所有与进程相关的资源,均被记录在PCB(印刷电路板)中。 线程隶属于某一个进程,共享进程的资...

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

Java

2019年终总结Java后端面试题:集合+并发+Web+设计模式+Spring框架

2

xirruiqiang 发布于 2019-12-10

一、基础部分 JDK 和 JRE 的区别 == 和 equals 的区别 基本类型和包装类对象使用 == 和 equals进行比较的结果? 什么是装箱?什么是拆箱?装箱和拆箱的执行过程?常见问题? hashCode()相同,equals() 也一定为 true吗? final 在...

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

Java

MyBatis 的秘密(七)反射

wenming.gapo 发布于 2019-12-09

MyBatis 作为一款 ORM 框架,主要通过 XML 定义 Object ,这就难免用到反射,虽然 JDK 自带的反射已经方便使用,但是 MyBatis 依然结合业务功能,将反射功能封装成一个更加易用的包,这个包就在 reflection 中。 在解析 MyBatis 的反色...

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

Spring

SpringBoot 系列-启动过程

darida 发布于 2019-12-09

微信公众号:掘金专栏:glmapper 微 博:疯狂的石头_henu 欢迎关注,一起学习、一起分享 SpringBoot 作为目前非常流行的微服务框架,它使得构建独立的 Spring 生产级应用变得非常简单,因此受到很多互联网企业的青睐。 推荐阅读 SpringBoot 系列-F...

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

Java

2019年末尾总结面试常问的基础22道Java面试题,值得收藏学习!

darida 发布于 2019-12-09

List:元素是有顺序的,元素可以重复因为每个元素有自己的角标(索引)   |– ArrayList:底层是数组结构,特点是:查询很快,增删稍微慢点,线程不同步:A线程将元素放在索引0位置,CPU调度线程A停止,B运行,也将元素放在索引0位置,当A和B同时运...

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

Java

获取JVM转储文件的Java工具类

1

hellas 发布于 2019-12-09

在上期文章 如何获取JVM堆转储文件 中,介绍了几种方法获取JVM的转储文件,其中编程方法是里面唯一一个从JVM内部获取的方法。这里就不演示了其他方法获取正在运行的应用程序的堆转储,重点放在了使用编程来获取转储文件的方法,并演示了如何使用jhat工具浏览/分析生成的二进制堆转储。...

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

Spring

Spring 知识框架

yanxinchi 发布于 2019-12-09

没有IOC 之前:我们需要一个对象,都是我们自己去new 一个依赖对象。 有了IOC 之后: 我们将创建对象的权益交给了IOC 容器,由容器来控制对象的创建和生命周期。对象只是被动的接受依赖对象。 为什么需要IOC?IOC 的好处? 控制反转其实是一种设计思想。没有控制反转,我们...

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

Java

Java 并发编程 73 道面试题及答案

5

songhua.gao 发布于 2019-12-09

点击上方  Java后端 ,选择  设为星标 优质文章,及时送达 原文出处: https://blog.csdn.net/qq_34039315/article/details/7854931 1、在java中守护线程和本地线程区别? java中的线程分为两种...

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

Spring

004 | 搭上SpringBoot事务诡异事件分析专车

4

wenming.gapo 发布于 2019-12-09

前言 如果这是你 第二次 看到师长,说明你在觊觎我的美色! 点赞+关注再看,养成习惯 没别的意思,就是需要你的窥屏^_^ 专车介绍 该趟专车是开往Spring Boot事务诡异事件的专车,主要来复现和分析事务的诡异事件。 专车问题 @Transaction标注的同步方法,在多线程...

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

Java

用Java实现JVM第十章《异常处理》

2

hanze 发布于 2019-12-09

异常处理是java语言非常重要的一个语法,本章主要实现如何处理抛出的异常。 在Java语言中,异常可以分为两类:Checked异常和Unchecked异常。Unchecked异常包括java.lang.RuntimeException、java.lang.Error以及它们的子类...

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

Spring

Spring源码解析系列二:Spring初始化准备处理器过程

zhuangli 发布于 2019-12-09

public class Test01 { public static void main(String[] args) { //这个构造方法会把Spring所有的环境都准备好 AnnotationConfigApplicationContext ac = new Annotat...

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