标签:synchronized
xiaoli.he 发布于 2019-12-11
锁机制 在数据库操作过程中,为了避免两个或多个用户同时对一条数据操作,通常采用锁的机制来来解决数据冲突问题。 同样,在程序流程中为了避免对多线程共享的资源的修改冲突,也采用锁的机制来避免修改冲突 锁的分类 乐观锁(Optimistic Lock) 所谓乐观锁,就是相信大部分场景下...
阅读(5)赞 (0)标签:API / App / Atom / final / http / https / id / IO / java / NSA / Select / swap / synchronized / update / value / volatile / zab / 多线程 / 数据 / 数据库 / 线程 / 锁
xiaoli.wang 发布于 2019-12-11
![]()
![]()
![]()
![]()
看到一篇关于Java内存模型的技术文章于是翻译一下供大家学习交流。 原文地址: 《Java Memory Model》 java内存模型指定了java虚拟机如何与计算机的内存(RAM)进行工作。java虚拟机是一整个计算机的抽象模型,所以这个模型天然的包括了内存模型,它被称之为j...
阅读(6)赞 (0)标签:2019 / cache / final / HTML / http / https / id / java / Java内存模型 / JVM / src / synchronized / UI / volatile / 代码 / 内存模型 / 同步 / 多线程 / 实例 / 并发 / 数据 / 文章 / 时间 / 模型 / 空间 / 线程 / 缓存 / 翻译 / 解析
puefu.he 发布于 2019-12-11
前言 说到 CAS (CompareAndSwap),不得不先说一说 悲观锁 和 乐观锁 ,因为CAS是乐观锁思想的一种实现。 悲观锁:总是很悲观的认为,每次拿数据都会有其他线程并发执行,所以每次都会进行加锁,用完之后释放锁,其他的线程才能拿到锁,进而拿到资源进行操作。java中...
阅读(9)赞 (0)标签:ACE / API / Atom / cat / ConcurrentHashMap / CST / equals / executor / final / HashMap / HTML / http / id / IO / java / JVM / map / NSA / Service / swap / synchronized / UI / update / value / volatile / zab / 代码 / 原子类 / 垃圾回收 / 多线程 / 安全 / 并发 / 总结 / 数据 / 文章 / 测试 / 源码 / 管理 / 线程 / 锁
xiaoli.he 发布于 2019-12-11
![]()
上篇文章中向大家介绍了Synchronized的用法及其实现的原理。现在我们应该知道,Synchronized是通过对象内部的一个叫做监视器锁(monitor)来实现的。但是监视器锁本质又是依赖于底层的操作系统的Mutex Lock来实现的。而操作系统实现线程之间的切换这就需要从...
阅读(8)赞 (0)标签:ACE / HTML / http / https / id / java / src / synchronized / tab / UI / Word / 代码 / 同步 / 多线程 / 并发 / 并发编程 / 操作系统 / 文章 / 时间 / 本质 / 空间 / 线程 / 锁
小丁 发布于 2019-12-11
![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()
由于Java面向对象的思想,在JVM中需要大量存储对象,存储时为了实现一些额外的功能,需要在对象中添加一些标记字段用于增强对象功能,这些标记字段组成了对象头。 1.对象头形式 JVM中对象头的方式有以下两种(以32位JVM为例): 1.1.普通对象 |--------------...
阅读(7)赞 (0)标签:Action / Atom / cat / Collection / constant / entity / HTML / http / https / id / IDE / IO / java / JVM / list / map / ORM / retry / src / synchronized / tab / tag / UI / update / value / Word / 代码 / 参数 / 同步 / 字节码 / 安全 / 实例 / 对象初始化 / 希望 / 并发 / 开发 / 数据 / 时间 / 注释 / 源码 / 程序员 / 空间 / 管理 / 线程 / 统计 / 编译 / 自动生成 / 解析 / 软件 / 锁
yanxinchi 发布于 2019-12-11
![]()
![]()
![]()
![]()
编辑推荐: 文章主要介绍了什么是容器,Java基本容器类包括:List,Set,Queue,Map,他们的区别是什么?希望本文对您的学习有所帮助。 本文来自于csdn,由火龙果软件Alice编辑、推荐。 一、容器的概念 1. 什么是容器 在Java当中,有一个类专门用来存放其它类...
阅读(17)赞 (0)标签:2019 / API / ArrayList / Collection / Collections / ConcurrentHashMap / CTO / dist / DOM / equals / final / HashMap / HashSet / HashTable / http / https / id / IDE / IO / java / Java集合 / key / LinkedList / list / map / node / ORM / queue / rand / SDN / src / stream / synchronized / tab / tag / tar / UI / value / zab / 代码 / 删除 / 参数 / 同步 / 多线程 / 安全 / 实例 / 希望 / 并发 / 总结 / 数据 / 文章 / 时间 / 构造方法 / 源码 / 空间 / 索引 / 线程 / 线程同步 / 缩小 / 软件 / 遍历 / 锁
Harries 发布于 2019-12-10
![]()
本文基于 JDK8, Oracle官网 对反射的解释是 Reflection enables Java code to discover information about the fields, methods and constructors of loaded classe...
阅读(10)赞 (0)标签:ACE / API / App / ArrayList / ask / bean / cat / core / CTO / description / equals / final / git / GitHub / HashMap / http / https / id / IO / ioc / ip / java / java反射 / list / map / Oracle / ORM / parse / REST / schema / Security / spring / spring ioc / src / ssl / struct / synchronized / tar / UI / XML / 二维码 / 代码 / 参数 / 同步 / 安全 / 实例 / 快的 / 文章 / 本质 / 构造方法 / 测试 / 深入解析 / 源码 / 类加载器 / 编译 / 解析 / 配置 / 静态方法
xiaoli.wang 发布于 2019-12-10
![]()
![]()
![]()
![]()
1. 基本概念 1.1 线程、进程、协程是什么? 首先要知道, 一个进程可以有多个线程,一个线程可以有多个协程。 先说说线程跟进程: 进程是资源分配的最小单元,线程是CPU调度的最小单位。所有与进程相关的资源,均被记录在PCB(印刷电路板)中。 线程隶属于某一个进程,共享进程的资...
阅读(9)赞 (0)标签:ACE / API / ArrayList / Atom / cache / cat / Collection / Collections / ConcurrentHashMap / consumer / db / DOM / executor / final / HashMap / http / https / id / IDE / IO / ip / java / java基础 / js / jstack / JVM / list / map / mina / producer / queue / rand / rmi / Service / src / synchronized / tar / UI / 代码 / 同步 / 回答 / 多线程 / 安全 / 并发 / 总结 / 推广 / 操作系统 / 时间 / 模型 / 空间 / 管理 / 线程 / 线程池 / 缓存 / 进程 / 锁 / 静态方法 / 非静态方法
xirruiqiang 发布于 2019-12-10
![]()
一、基础部分 JDK 和 JRE 的区别 == 和 equals 的区别 基本类型和包装类对象使用 == 和 equals进行比较的结果? 什么是装箱?什么是拆箱?装箱和拆箱的执行过程?常见问题? hashCode()相同,equals() 也一定为 true吗? final 在...
阅读(9)赞 (0)标签:2019 / ACE / AIO / AOP / App / ArrayList / Atom / bean / BIO / build / cat / classpath / Collection / Collections / constant / CTO / equals / final / HashMap / HashSet / HashTable / http / https / id / IO / ioc / java / java基础 / JAVA架构 / js / json / jvisualvm / JVM / LinkedList / list / map / NIO / ORM / queue / Security / servlet / session / spring / Spring Boot / sql / src / synchronized / tab / tar / TCP / UDP / UI / value / volatile / web / 互联网 / 代码 / 免费 / 参数 / 多线程 / 字节码 / 安全 / 实例 / 工作原理 / 希望 / 并发 / 开发 / 总结 / 数据 / 本质 / 构造方法 / 模型 / 正则表达式 / 源码 / 空间 / 线程 / 线程池 / 缓存 / 编译 / 解析 / 设计模式 / 进程 / 部署 / 配置 / 锁 / 集合类 / 静态方法
wenming.gapo 发布于 2019-12-09
MyBatis 作为一款 ORM 框架,主要通过 XML 定义 Object ,这就难免用到反射,虽然 JDK 自带的反射已经方便使用,但是 MyBatis 依然结合业务功能,将反射功能封装成一个更加易用的包,这个包就在 reflection 中。 在解析 MyBatis 的反色...
阅读(8)赞 (0)标签:ACE / App / apr / bean / cache / CEO / Collection / CTO / final / find / HashMap / http / id / IDE / IO / java / key / list / map / mybatis / ORM / Property / struct / synchronized / tab / token / value / XML / 代码 / 参数 / 总结 / 数据 / 数据库 / 构造方法 / 源码 / 索引 / 缓存 / 解析 / 递归 / 配置 / 需求
darida 发布于 2019-12-09
微信公众号:掘金专栏:glmapper 微 博:疯狂的石头_henu 欢迎关注,一起学习、一起分享 SpringBoot 作为目前非常流行的微服务框架,它使得构建独立的 Spring 生产级应用变得非常简单,因此受到很多互联网企业的青睐。 推荐阅读 SpringBoot 系列-F...
阅读(11)赞 (0)标签:ACE / AOP / App / ArrayList / bean / BeanDefinition / Bootstrap / cache / cat / CEO / classpath / Collection / core / CTO / dataSource / db / Document / final / HashSet / http / https / id / IDE / IO / ioc / ip / java / JDBC / key / list / Listeners / map / mapper / message / MQ / ORM / Property / Proxy / RocketMQ / root / SDN / spring / Spring Boot / Spring cloud / springboot / ssl / stream / synchronized / tab / tar / tomcat / value / web / XML / 互联网 / 互联网企业 / 代码 / 企业 / 删除 / 参数 / 同步 / 启动过程 / 处理器 / 定制 / 实例 / 开发 / 微信公众号 / 微服务 / 总结 / 数据 / 文章 / 本质 / 注释 / 源码 / 生命 / 监听器 / 空间 / 管理 / 缓存 / 解决方法 / 解析 / 遍历 / 配置 / 锁 / 静态方法
darida 发布于 2019-12-09
List:元素是有顺序的,元素可以重复因为每个元素有自己的角标(索引) |– ArrayList:底层是数组结构,特点是:查询很快,增删稍微慢点,线程不同步:A线程将元素放在索引0位置,CPU调度线程A停止,B运行,也将元素放在索引0位置,当A和B同时运...
阅读(15)赞 (0)标签:ACE / AOP / App / ArrayList / bean / build / cache / cat / Collection / Collections / ConcurrentHashMap / CTO / equals / final / git / HashMap / HashSet / HashTable / http / https / HTTP协议 / id / IDE / IO / ioc / java / JVM / key / LinkedList / list / map / mapper / mybatis / nfs / redis / servlet / session / spring / SpringMVC / ssl / SVN / synchronized / tab / TCP / token / tomcat / UI / value / web / 下载 / 产品 / 代码 / 分布式 / 加密 / 加班 / 协议 / 同步 / 垃圾回收 / 多线程 / 安全 / 实例 / 并发 / 总结 / 数据 / 数据库 / 文件系统 / 时间 / 服务器 / 服务端 / 本质 / 源码 / 生命 / 用品 / 程序员 / 空间 / 端口 / 索引 / 线程 / 线程同步 / 编译 / 设计模式 / 递归 / 遍历 / 配置 / 锁 / 需求 / 食品 / 高可用
hellas 发布于 2019-12-09
![]()
在上期文章 如何获取JVM堆转储文件 中,介绍了几种方法获取JVM的转储文件,其中编程方法是里面唯一一个从JVM内部获取的方法。这里就不演示了其他方法获取正在运行的应用程序的堆转储,重点放在了使用编程来获取转储文件的方法,并演示了如何使用jhat工具浏览/分析生成的二进制堆转储。...
阅读(12)赞 (0)标签:bean / cat / CTO / final / http / https / id / IO / java / JVM / map / ORM / Proxy / src / synchronized / UI / volatile / 下载 / 云 / 垃圾回收 / 数据 / 文章 / 时间 / 服务端 / 测试 / 目录 / 统计
yanxinchi 发布于 2019-12-09
没有IOC 之前:我们需要一个对象,都是我们自己去new 一个依赖对象。 有了IOC 之后: 我们将创建对象的权益交给了IOC 容器,由容器来控制对象的创建和生命周期。对象只是被动的接受依赖对象。 为什么需要IOC?IOC 的好处? 控制反转其实是一种设计思想。没有控制反转,我们...
阅读(12)赞 (0)标签:2015 / Action / AOP / App / bean / BeanDefinition / cache / cat / cglib / core / CTO / db / final / git / GitHub / http / https / id / IDE / IO / ioc / java / lib / list / Listeners / map / message / mysql / NSA / Oracle / Property / Proxy / SDN / spring / sql / synchronized / tab / tar / UI / XML / zab / 代码 / 传播行为 / 字节码 / 安全 / 实例 / 并发 / 开发 / 数据 / 数据库 / 时间 / 源码 / 生命 / 监听器 / 空间 / 管理 / 类加载器 / 线程 / 缓存 / 解析 / 配置 / 锁
songhua.gao 发布于 2019-12-09
![]()
![]()
![]()
![]()
点击上方 Java后端 ,选择 设为星标 优质文章,及时送达 原文出处: https://blog.csdn.net/qq_34039315/article/details/7854931 1、在java中守护线程和本地线程区别? java中的线程分为两种...
阅读(12)赞 (0)标签:ACE / Action / Ajax / API / App / ArrayList / ask / Atom / BigInteger / cat / Collection / Collections / ConcurrentHashMap / CountDownLatch / CST / CTO / CyclicBarrier / db / executor / final / Full GC / git / HashMap / HashTable / HTML / http / https / id / IO / java / java线程 / js / jstack / jvisualvm / JVM / lib / list / map / mysql / NIO / ORM / queue / SDN / Semaphore / Service / servlet / spring / SpringMVC / sql / src / stream / Struts2 / swap / synchronized / tab / tag / tar / ThreadPoolExecutor / tomcat / UI / update / volatile / web / windows / 一致性 / 二维码 / 代码 / 原子类 / 参数 / 同步 / 垃圾回收 / 处理器 / 多线程 / 安全 / 实例 / 并发 / 并发编程 / 广告 / 开发 / 开源 / 操作系统 / 数据 / 数据库 / 文章 / 时间 / 模型 / 注释 / 源码 / 生命 / 目录 / 程序员 / 空间 / 管理 / 线程 / 线程同步 / 线程池 / 线程通信 / 组织 / 缓存 / 编译 / 解析 / 调度器 / 进程 / 连接池 / 递归 / 遍历 / 重排序 / 锁 / 需求 / 高并发
wenming.gapo 发布于 2019-12-09
![]()
![]()
![]()
![]()
前言 如果这是你 第二次 看到师长,说明你在觊觎我的美色! 点赞+关注再看,养成习惯 没别的意思,就是需要你的窥屏^_^ 专车介绍 该趟专车是开往Spring Boot事务诡异事件的专车,主要来复现和分析事务的诡异事件。 专车问题 @Transaction标注的同步方法,在多线程...
阅读(11)赞 (0)标签:ACE / Action / App / cat / DDL / http / https / id / IO / map / mapper / NSA / REST / Service / spring / Spring Boot / springboot / src / synchronized / tag / tar / UI / update / 代码 / 同步 / 多线程 / 总结 / 数据 / 数据库 / 源码 / 线程 / 锁
hanze 发布于 2019-12-09
![]()
异常处理是java语言非常重要的一个语法,本章主要实现如何处理抛出的异常。 在Java语言中,异常可以分为两类:Checked异常和Unchecked异常。Unchecked异常包括java.lang.RuntimeException、java.lang.Error以及它们的子类...
阅读(12)赞 (0)标签:2019 / ACE / ArrayList / BigInteger / bug / cat / classpath / cmd / Collection / Collections / constant / CTO / db / dist / equals / final / find / git / http / https / id / IDE / IO / ip / java / JMS / JVM / list / map / message / ORM / parse / pom / rand / src / ssl / struct / synchronized / tab / tar / UI / value / XML / zip / 代码 / 数据 / 测试 / 源码 / 编译 / 调试 / 配置
zhuangli 发布于 2019-12-09
public class Test01 { public static void main(String[] args) { //这个构造方法会把Spring所有的环境都准备好 AnnotationConfigApplicationContext ac = new Annotat...
阅读(8)赞 (0)标签:ACE / App / apr / ArrayList / bean / BeanDefinition / bug / cat / CEO / classpath / CTO / db / description / equals / git / HashSet / http / https / id / IDE / IO / ip / JPA / js / lib / list / Lua / map / Persistence / root / spring / ssl / strace / struct / synchronized / tab / tar / UI / update / 代码 / 参数 / 处理器 / 实例 / 开发 / 文章 / 构造方法 / 源码 / 解析 / 配置