Java类equals抽象类类型StringIntegershort多线程概念锁synchronized线程创建及状态线程通讯线程安全ThreadLocalatomicvolatile终止线程反射什么是反射?序列化什么是 java 序列化?什么情况下需要序列化?Spring组件IOC依赖注入作用域事... ...
分类:
编程语言 时间:
2020-01-23 09:20:59
阅读次数:
88
1、为什么要引入java内存模型 java是支持多线程的,但是其可见性,原子性,有序性是导致多线程bug的原因,所以引入java内存模型来解决这些问题。 2、什么是java内存模型 java内存模型概括来说是解决可见性和有序性的。 1)可见性 - 缓存导致 当创建线程时JVM会为其创建自己的内存存储 ...
分类:
编程语言 时间:
2020-01-21 23:50:12
阅读次数:
163
java内存模型简介: 有时候在开发Java同步和线程安全要求很严格的程序时,往往容易混淆的一个概念就是内存模型。究竟什么是内存模型?内存模型描述了程序中各个变量(实例域、静态域和数组元素)之间的关系,以及在实际计算机系统中将变量存储到内存和从内存中取出变量这样的底层细节,对象最终是存储在内存里面的 ...
分类:
编程语言 时间:
2020-01-21 23:38:10
阅读次数:
117
jvm调优实战 前端时间把公司的一个分布式定时调度的系统弄上了容器云,部署在kubernetes,在容器运行的动不动就出现问题,特别容易jvm溢出,导致程序不可用,终端无法进入,日志一直在刷错误,kubernetes也没有将该容器自动重启。业务方基本每天都在反馈task不稳定,后续就协助接手看了下, ...
分类:
其他好文 时间:
2020-01-21 10:58:05
阅读次数:
97
前言 解决并发编程中的可见性和有序性问题最直接的方法就是禁用CPU缓存和编译器的优化。但是,禁用这两者又会影响程序性能。于是我们要做的是 按需禁用CPU缓存和编译器的优化 。 如何按需禁用CPU缓存和编译器的优化就需要提到 Java内存模型 。Java内存模型是一个复杂的规范。其中最为重要的便是 规 ...
分类:
编程语言 时间:
2020-01-18 16:42:53
阅读次数:
72
目录 一、物理内存模型 二、Java 内存模型 三、Java 内存模型规则 参考资料 📦 本文以及示例源码已归档在 javacore Java 内存模型(Java Memory Model),简称 JMM。 JVM 中试图定义一种 JMM 来屏蔽各种硬件和操作系统的内存访问差异,以实现让 Java ...
分类:
编程语言 时间:
2020-01-16 12:26:28
阅读次数:
63
内存模型 深度好文推荐: 深入理解Java内存模型 1.理解概念 1.1 内存模型概念: 百度百科概念:内存模型描述了程序中各个变量(实例域、静态域和数组元素)之间的关系,和实际计算机系统中将变量存储到内存和从内存中取出变量的底层细节。 java内存模型主要目标是定义程序中的变量,(此处所指的变量是 ...
分类:
其他好文 时间:
2020-01-15 21:32:26
阅读次数:
88
一、Guava介绍 Guava是Google guava中的一个内存缓存模块,用于将数据缓存到JVM内存中。实际项目开发中经常将一些公共或者常用的数据缓存起来方便快速访问。 Guava Cache是单个应用运行时的本地缓存。它不把数据存放到文件或外部服务器。如果不符合需求,可以选择Memcached ...
分类:
编程语言 时间:
2020-01-14 13:24:40
阅读次数:
91
其实是为了填之前的一个坑 在一个多线程的案例中出现了阻塞的情况。 https://www.cnblogs.com/hetutu-5238/p/10477875.html 其中的第二个问题,即多个线程循环顺序打印1,2,3,4 public class Demo2 { public static vo ...
分类:
编程语言 时间:
2020-01-13 18:14:05
阅读次数:
134
多线程之间实现同步 理解线程安全 synchronized用法 死锁 Java内存模型 Vlolatile 关键字 ThreadLock 关键字 理解线程安全 什么是线程安全? 当多个线程同时对共享的同一个全局变量或静态变量做写的操作时,可能会发生数据冲突问题,也就是线程安全问题。 但是做读操作是不 ...
分类:
编程语言 时间:
2020-01-13 09:15:02
阅读次数:
67