
Java
alexpdh
你的时间在哪里,你的成就就在那里
展开
-
理解 JVM:JVM 内存模型
Java 虚拟机在执行 Java 程序的过程中会把它所管理的内存划分为若干个不同的数据区域,这些区域都有各自的用途,以及创建和销毁的时间。有的区域随着虚拟机进程的启动就存在了, 有的区域则是依赖用户线程。根据《Java虚拟机规范(第二版)》,Java 虚拟机所管理的内存包含以下的几个区域。运行时数据区(Runtime Data Area)由上图可以看出,在运行时原创 2017-09-17 12:33:52 · 350 阅读 · 0 评论 -
理解 JVM:Java 内存模型之(基础)
Java 虚拟机规范中试图定义一种 Java 内存模型(Java Model Memory,JMM)来屏蔽掉各种硬件和操作系统的内存访问差异,以实现让 Java 程序在各种平台下都能达到一致的内存访问效果。原创 2017-09-17 22:56:02 · 261 阅读 · 0 评论 -
理解 JVM:Java 内存模型(二)——volatile
java 内存模型的核心是围绕着在并发过程中如何处理原子性、可见性、有序性这3个特性来展开的,它们是多线程编程的核心。原创 2017-11-12 03:59:30 · 276 阅读 · 0 评论 -
理解 JVM:Java 内存模型(三)—— 锁
### 什么是线程安全?线程安全是指当一个对象被多个线程访问操作时,最终都能得到正确的结果,那这个对象是线程安全的。Java 中可以通过同步块和加锁保障线程安全。------### 锁锁是 Java 并发编程中最重要的同步机制,它可以让等待在临界区的线程互斥执行。#### 关键字 synchronized synchron原创 2017-11-13 02:43:36 · 406 阅读 · 0 评论 -
Java 内存模型(三)—— 锁
什么是线程安全?线程安全是指当一个对象被多个线程访问操作时,最终都能得到正确的结果,那这个对象是线程安全的。Java 中可以通过同步块和加锁保障线程安全。原创 2017-11-13 02:48:59 · 344 阅读 · 0 评论 -
一次因JDK夏令时导致接口输出日期格式的时间与预期时间不一致的bug排查总结
bug描述问题起源于同事在项目中新增一个统计用户生日明细的接口,其中一个用户在数据库中的生日日期是“1988-07-29”,然而通过rest接口得到该用户的生日日期却为 “1988-07-28”。环境说明开始bug排查之前,先说明下项目环境:系统:centos 7.5JDK:1.8.0_171技术栈:spring boot、Jackson、Druid、mybatis、oracle...原创 2019-07-18 14:14:59 · 1196 阅读 · 0 评论