Java Review - SimpleDateFormat线程不安全原因的源码分析及解决办法

Java Review - SimpleDateFormat线程不安全原因的源码分析及解决办法

概述SimpleDateFormat是Java提供的一个格式化和解析日期的工具类,在日常开发中经常会用到,但是由于它是线程不安全的,所以多线程共用一个SimpleDateFormat实例对日期进行解析或者格式化会导致程序出错。这里来揭示它为何是线程不安全的,以及如何避免该问题。复现问题 import...

StringBuilder为什么线程不安全【源码分析】

StringBuilder为什么线程不安全【源码分析】

一、前言StringBuilder和StringBuffer的区别是面试的时候被提及最多的问题之一了,我们都知道stringbuffer是线程安全的,而stringbuilder不是线程安全的。通过stringbuffer和stringbuilder的源码,我们可以发现stringbuilder和s...

JVM 源码分析之一个 Java 进程究竟能创建多少线程

JVM 源码分析之一个 Java 进程究竟能创建多少线程

概述虽然这篇文章的标题打着JVM源码分析的旗号,不过本文不仅仅从 JVM 源码角度来分析,更多的来自于 Linux Kernel 的源码分析,今天要说的是 JVM 里比较常见的一个问题。这个问题可能有几种表述一个Java进程到底能创建多少线程?到底有哪些因素决定了能创建多少线程?java.lang....

基于 Hotspot 的 Java 线程源码分析(下)

基于 Hotspot 的 Java 线程源码分析(下)

再回到我们的 start0 方法,此时我们就去查找 JVM_StartThread 方法是在他是在/hotspot/src/share/vm/prims/jvm.cpp 这个文件里面:JVM_ENTRY(void, JVM_StartThread(JNIEnv* env, jobject jthre...

基于 Hotspot 的 Java 线程源码分析(上)

基于 Hotspot 的 Java 线程源码分析(上)

基本概念Java 线程其实是映射到操作系统的内核线程上的,所以 Java 线程基本上也就是操作系统在进行管理。在 Linux系统中,线程和进程用的是同一个结构体进行描述的,只不过进程拥有自己独立的地址空间,而同一个进程的多个线程之间是共享资源的。简单说明: 本文基于 openjdk 1.8 进行线程...

【Android 启动过程】Activity 启动源码分析 ( AMS -> ActivityThread、AMS 线程阶段 二 )(二)

【Android 启动过程】Activity 启动源码分析 ( AMS -> ActivityThread、AMS 线程阶段 二 )(二)

mService.getLifecycleManager().scheduleTransaction(clientTransaction) 中调用了 ClientLifecycleManager.scheduleTransaction , 在该方法中调用了传入参数 ClientTransaction...

【Android 启动过程】Activity 启动源码分析 ( AMS -> ActivityThread、AMS 线程阶段 二 )(一)

文章目录前言一、热启动与冷启动选择二、AMS 进程中执行的相关操作三、通过 Binder 机制转到 ActivityThread 中执行的操作总结前言上一篇博客 【Android 启动过程】Activity 启动源码分析 ( AMS -> ActivityThread、AMS 线程阶段 ) 分析的分...

【Java 并发编程】线程池机制 ( 线程池执行任务细节分析 | 线程池执行 execute 源码分析 | 先创建核心线程 | 再放入阻塞队列 | 最后创建非核心线程 )

文章目录一、线程池执行任务细节分析二、线程池执行 execute 源码分析一、线程池执行任务细节分析线程池执行细节分析 :核心线程数 10 1010 , 最大小成熟 20 2020 , 非核心线程数 10 1010 , 非核心线程空闲存活时间 60 6060 秒 , 阻塞队列大小 10 1010 个...

JVM 源码分析之一个 Java 进程究竟能创建多少线程

虽然这篇文章的标题打着JVM源码分析的旗号,不过本文不仅仅从 JVM 源码角度来分析,更多的来自于 Linux Kernel 的源码分析,今天要说的是 JVM 里比较常见的一个问题。 这个问题可能有几种表述 一个Java进程到底能创建多少线程? 到底有哪些因素决定了能创建多少线程? java.lan...

JVM源码分析之一个Java进程究竟能创建多少线程

概述 虽然这篇文章的标题打着JVM源码分析的旗号,不过本文不仅仅从JVM源码角度来分析,更多的来自于Linux Kernel的源码分析,今天要说的是JVM里比较常见的一个问题 这个问题可能有几种表述 一个Java进程到底能创建多少线程? 到底有哪些因素决定了能创建多少线程? java.lang.Ou...

本页面内关键词为智能算法引擎基于机器学习所生成,如有任何问题,可在页面下方点击"联系我们"与我们沟通。

线程更多源码分析相关