标签:垃圾回收
Harries Blog™ - 尖兵 发布于 2020-07-26
![]()
![]()
![]()
![]()
问题的发生 简单介绍下我们服务的背景,我们的服务是一个使用类似dubbo的RPC框架以及若干Spring全家桶组合起来的微服务架构,大致结构可以参考下图。 Java服务使用的是CMS的垃圾回收器。 某天突然收到一台实例(即一个Java应用)产生FullGC日志的报警,如上图红色标...
阅读(2010)赞 (1)标签:ACE / AOP / API / cat / dubbo / ECS / Full GC / grep / http / https / id / IO / java / JVM / NIO / ORM / Select / spring / sql / src / tar / UI / web / 代码 / 压力 / 参数 / 垃圾回收 / 实例 / 并发 / 微服务 / 数据 / 时间 / 注册中心 / 空间 / 负载均衡
Harries Blog™ - Harries 发布于 2020-07-26
![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()
上文已经介绍了JVM内存模型中线程私有的部分(虚拟机栈、本地方发栈、程序计数器),那么本篇文章就来探讨下JVM中线程共享的区域:堆、方法区 方法区 方法区是JVM规范中定义的一个逻辑内存,在JDK1.8以前对方法区的实现叫做“永久代”,然而在JDK1.8以后讲“永久代”废弃,改为...
阅读(2009)赞 (1)标签:App / bean / cat / Full GC / http / https / id / IO / java / JVM / LinkedList / list / mongo / python / Region / root / src / synchronized / UI / Word / 代码 / 内存模型 / 参数 / 同步 / 垃圾回收 / 处理器 / 多线程 / 安全 / 实例 / 并发 / 开发 / 开发者 / 微软 / 数据 / 文章 / 时间 / 构造方法 / 模型 / 生命 / 程序员 / 空间 / 管理 / 类加载器 / 线程 / 缓存 / 编译 / 解析 / 遍历 / 锁 / 高并发
Harries Blog™ - dulong 发布于 2020-07-26
![]()
StringTable是什么?它和String.intern有什么关系呢?在字符串对象的创建过程中,StringTable有起到了什么作用呢? 一切的答案都在本文中,快来看看吧。 intern简介 intern是String类中的一个native方法,所以它底层是用c++来实现的...
阅读(96)赞 (0)标签:ACE / cat / constant / description / equals / http / https / IO / ip / java / Java类 / JVM / parse / src / ssl / tab / UI / value / 代码 / 参数 / 垃圾回收 / 实例 / 源码 / 空间 / 编译
Harries Blog™ - hanze 发布于 2020-07-26
![]()
![]()
![]()
![]()
前言 熬夜整理了一份java基础面试题,希望大家支持,如果文中有错误希望大家指正; 公众号:知识追寻者 知识追寻者(Inheriting the spirit of open source, Spreading technology knowledge;) 一 java基础面试 ...
阅读(116)赞 (0)标签:ACE / AIO / ArrayList / BIO / build / cat / CEO / Collection / Collections / ConcurrentHashMap / CTO / equals / final / HashMap / HashSet / HashTable / HTML / http / https / id / IO / ip / java / java基础 / JVM / key / LinkedList / linux / list / map / NIO / node / queue / SDN / Select / src / stream / synchronized / tab / UI / unix / value / zab / 代码 / 删除 / 升级版本 / 占用空间 / 参数 / 同步 / 图片 / 垃圾回收 / 基本原则 / 多线程 / 字节码 / 安全 / 实例 / 希望 / 并发 / 开发 / 数据 / 文章 / 时间 / 模型 / 源码 / 生命 / 程序员 / 空间 / 索引 / 线程 / 缓存 / 编译 / 遍历 / 锁 / 静态方法
Harries Blog™ - Harries 发布于 2020-07-25
![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()
1.GC介绍 什么是垃圾回收(GC)? 垃圾回收,顾名思义,便是将已经分配出去的,但却不再使用的内存回收回来,以便能够再次分配。 在 Java 虚拟机的语境下, 垃圾 指的是死亡的对象所占据的堆空间。 Java 虚拟机中的垃圾回收器采用 可达性分析 来探索所有存活的对象。它从一系...
阅读(144)赞 (0)标签:ACE / API / cat / constant / Full GC / HashMap / http / https / id / IDE / IO / ip / java / Java 9 / Java类 / JVM / list / map / NIO / NSA / queue / root / src / tab / tar / UI / volatile / Word / 一致性 / 事故 / 代码 / 免费 / 内存模型 / 参数 / 同步 / 垃圾回收 / 处理器 / 多线程 / 字节码 / 安全 / 实例 / 希望 / 并发 / 开发 / 数据 / 数据库 / 时间 / 服务器 / 本质 / 模型 / 测试 / 漏洞 / 物理内存 / 生命 / 程序员 / 空间 / 管理 / 索引 / 线程 / 统计 / 缓存 / 编译 / 翻译 / 虚拟内存 / 解决方法 / 解析 / 调度器 / 调试 / 配置 / 锁 / 需求 / 高并发
Harries Blog™ - xiaoli.wang 发布于 2020-07-25
![]()
![]()
![]()
![]()
Java 生态发展到今天,JVM (Java Virtual Machine)的价值可能已经超过了 Java 语言本身。 而 GC (垃圾回收)机制也是 JVM 的核心之一,在程序运行的过程中,GC 的过程会以日志的形式记录下来,看懂 GC 日志是研究 GC 机制的基础,GC日志...
阅读(123)赞 (0)标签:ACE / App / build / cat / client / CTO / dist / ECS / Full GC / http / https / id / IO / java / js / JVM / ORM / src / UI / 代码 / 内存模型 / 参数 / 垃圾回收 / 操作系统 / 数据 / 文章 / 时间 / 服务端 / 模型 / 目录 / 空间 / 统计 / 编译 / 需求
Harries Blog™ - xiaoli.wang 发布于 2020-07-25
![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()
在jdk7及以前,习惯上把方法区称为永久代。jdk8开始,使用元空间取代了永久代。 本质上,方法区和永久代并不等价。仅是对hotSpot而言的。《java虚拟机规范》对如何实现方法区,不做统一要求。例如:BEA JRockit/IBM J9中不存在永久代的概念。 现在看来,当年使...
阅读(115)赞 (0)标签:ACE / bug / CEO / cglib / client / constant / CTO / db / dubbo / eclipse / final / Full GC / http / https / IBM / id / IDE / IO / ip / java / js / JVM / lib / mina / root / src / stream / synchronized / tab / UI / value / volatile / web / windows / 京东 / 代码 / 内存模型 / 压力 / 参数 / 垃圾回收 / 域名 / 字节码 / 实例 / 小米 / 开发 / 总结 / 数据 / 数据库 / 时间 / 服务器 / 本质 / 模型 / 测试 / 物理内存 / 生命 / 百度 / 空间 / 类加载器 / 索引 / 缓存 / 编译 / 美团 / 解析 / 需求
Harries Blog™ - xirruiqiang 发布于 2020-07-24
![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()
前言 最近收到很多粉丝的私信,有工作几年的,也有即将面临毕业的学生党。都是来跟我说金九银十马上到了,自己想去冲击面试一波大厂,问我有没有相关的面试题分享。听到后我也是赶紧为大家整理了一份,话不多说满满的干货都在下面了,友情提示,文章篇幅齐全,全是干货慢慢观看!!! Redis 什...
阅读(153)赞 (0)标签:Action / ActiveMQ / App / bean / cache / cat / CountDownLatch / CTO / db / dist / http / https / id / IDE / IO / ioc / ip / java / java线程 / JVM / key / map / mapper / MQ / mybatis / mysql / NSA / ORM / redis / remote / REST / RESTful / Select / SOA / spring / Spring Boot / Spring cloud / spring ioc / springboot / sql / src / tar / volatile / web / XML / 一对多 / 二级缓存 / 京东 / 代码 / 关联查询 / 分页 / 删除 / 动态SQL / 参数 / 同步 / 垃圾回收 / 多线程 / 学生 / 安全 / 工作原理 / 希望 / 并发 / 微服务 / 性能问题 / 数据 / 数据库 / 文章 / 时间 / 服务器 / 模型 / 注释 / 测试 / 生命 / 端口 / 索引 / 线程 / 线程池 / 缓存 / 自动生成 / 进程 / 进程调度 / 部署 / 配置 / 重排序 / 锁 / 集群 / 集群方案
Harries Blog™ - likai 发布于 2020-07-24
![]()
![]()
![]()
![]()
作者:小小木 juejin.im/post/5cab7ebf518825177637b2f9 熟悉Spring开发的朋友都知道Spring提供了5种scope分别是singleton、prototype、request、session、global session。 如下图是官方...
阅读(91)赞 (0)标签:bean / cglib / HTML / http / https / id / IO / JVM / lib / map / session / spring / src / UI / 垃圾回收 / 安全 / 实例 / 并发 / 开发 / 总结 / 文章 / 源码 / 线程 / 缓存
Harries Blog™ - changyuan.xu 发布于 2020-07-23
![]()
在Java中总共有4中核心的引用类型——强引用、软引用、弱引用、虚引用。一般情况下我们往往用到强引用比较多,很少会遇到场景用到其他三种引用,所以对其原理的掌握就更加是一纸空白。此次,恰遇机会就正好研究一下这四种引用的原理,以解己惑。 关于强引用,因为日常使用,大家基本都比较清楚,...
阅读(83)赞 (0)标签:App / ask / cat / CEO / client / CTO / executor / final / http / https / id / IDE / IO / java / JVM / list / Master / queue / src / synchronized / tar / UI / update / volatile / 代码 / 垃圾回收 / 总结 / 数据 / 时间 / 源码 / 编译 / 翻译
Harries Blog™ - xirruiqiang 发布于 2020-07-23
![]()
![]()
![]()
![]()
问题描述 公司某规则引擎系统,在每次发版启动会手动预热,预热完成当流量切进来之后会偶发的出现一次长达1-2秒的年轻代GC(流量并不大,并且LB下的每一台服务都会出现该情况) 在这次长暂停之后,每一次的年轻代GC暂停时间又都恢复在20-100ms以内 2s虽然看起来不长,但是对比规...
阅读(119)赞 (0)标签:ACE / App / ArrayList / cat / dist / ECS / final / Full GC / git / HashMap / http / https / id / IO / java / java基础 / JAVA架构 / JVM / list / map / Oracle / root / src / UI / 下载 / 代码 / 参数 / 垃圾回收 / 文章 / 时间 / 本质 / 架构师 / 测试 / 源码 / 空间 / 编译 / 遍历 / 配置
Harries Blog™ - 邓龙华 发布于 2020-07-23
原文链接: https://blog.csdn.net/xiangzh… 4、GC机制 垃圾收集器一般完成两件事 检测出垃圾; 回收垃圾; 4.1 Java对象引用 通常,Java对象的引用可以分为4类:强引用、软引用、弱引用和虚引用。 强引用:通常可以认为是通过ne...
阅读(108)赞 (0)标签:Android / http / https / id / java / JVM / queue / SDN / 免费 / 垃圾回收 / 空间 / 统计 / 缩小
Harries Blog™ - yeseng 发布于 2020-07-23
![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()
目录 为什么数组下标从0开始? 数组定义 为什么这么下定义? 定义数组的三种方式 从 ArrayList 源码看数组增删改查 初始化 增加 删除 修改 查找 数组和容器 数组时间复杂度 数组插入,删除优化 容器替代数组? 字节高频算法题:移动零 算法发散 ❝ 没有最完美的数据结构...
阅读(110)赞 (0)标签:API / ArrayList / Collection / DOM / final / HTML / http / https / id / IO / java / JVM / list / python / rand / src / tar / UI / value / zab / 代码 / 删除 / 垃圾回收 / 开发 / 性能优化 / 操作系统 / 数据 / 文章 / 时间 / 源码 / 目录 / 程序员 / 空间 / 索引 / 递归 / 遍历
Harries Blog™ - changyuan.xu 发布于 2020-07-22
![]()
![]()
![]()
![]()
@ 目录 前言 Java是面向对象的语言,所谓“万事万物皆对象”就是Java是基于对象来设计程序的,没有对象程序就无法运行(8大基本类型除外),那么对象是如何创建的?在内存中又是怎么分配的呢? 正文 一、对象的创建方式 在Java中我们有几种方式可以创建一个新的对象呢?总共有以下...
阅读(119)赞 (0)标签:bean / cat / ECS / final / HashMap / HTML / http / https / id / IO / java / JVM / key / map / NIO / NSA / queue / root / src / ssl / swap / synchronized / tar / UI / update / 万物 / 代码 / 参数 / 同步 / 垃圾回收 / 安全 / 实例 / 并发 / 总结 / 数据 / 文章 / 时间 / 生命 / 目录 / 空间 / 管理 / 类加载器 / 线程 / 缓存 / 详细分析 / 遍历 / 锁
Harries Blog™ - puefu.he 发布于 2020-07-22
![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()
难难难难难!对象的创建七连问 关于 Object o = new Object() 请解释一下对象的创建过程?(半初始化) 加问 DCL 与 volatile 问题?(指令重排) 对象在内存中的存储布局?(对象与数组的存储不同) 对象头具体包括什么?(markword class...
阅读(127)赞 (0)标签:1111 / ACE / cat / description / final / HTML / http / https / id / IO / ip / java / JVM / mina / MQ / NSA / parse / src / ssl / synchronized / tab / tar / UI / value / volatile / Word / 代码 / 同步 / 图片 / 垃圾回收 / 多线程 / 安全 / 实例 / 数据 / 构造方法 / 源码 / 空间 / 线程 / 缓存 / 设计模式 / 重排序 / 锁
Harries Blog™ - 尖兵 发布于 2020-07-21
1.垃圾收集算法 标记-复制算法、标记-清理算法、标记-整理算法,这三种算法都是在分代收集的机制上成立的 标记-复制算法: 其原理是将内存分成两部分,一部分内存1放对象,一部分内存2为空,当放对象的内存1进行垃圾回收时,会将仍然存活的对象标记起来,然后复制到另一块内存2中,再把内...
阅读(82)赞 (0)标签:http / https / JVM / 参数 / 垃圾回收 / 多线程 / 时间 / 空间 / 线程
Harries Blog™ - xubiao.zhuang 发布于 2020-07-21
![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()
好好学习,天天向上 本文已收录至我的Github仓库 DayDayUP :github.com/RobodLee/DayDayUP,欢迎Star,更多文章请前往: 目录导航 String应该是Java使用最多的类吧,很少有Java程序没有使用到String的。在Java中创建对象...
阅读(96)赞 (0)标签:App / ArrayList / build / entity / final / git / GitHub / HashTable / HTML / http / https / id / IDE / IO / java / key / list / src / tab / tar / UI / value / 代码 / 参数 / 垃圾回收 / 字节码 / 安全 / 微信公众号 / 性能优化 / 数据 / 文章 / 时间 / 注释 / 源码 / 目录
Harries Blog™ - 刘莉莉 发布于 2020-07-21
![]()
![]()
![]()
![]()
![]()
![]()
![]()
![]()
点赞+收藏 就学会系列,文章收录在 GitHub JavaKeeper ,N线互联网开发必备技能兵器谱,笔记自取 在《Java虚拟机规范》的规定里,除了程序计数器外,虚拟机内存的其他几个运行时区域都有发生 OutOfMemoryError 异常的可能。 本篇主要包括如下 OOM ...
阅读(133)赞 (0)标签:ACE / App / bug / cache / cat / CDN / CEO / cglib / core / equals / final / Full GC / git / GitHub / HashMap / HTML / http / https / id / IDE / IO / java / jetty / js / JVM / key / lib / linux / list / map / Master / Netty / NIO / Proxy / root / spring / src / stream / swap / tab / tar / UI / value / 互联网 / 代码 / 压力 / 参数 / 垃圾回收 / 多线程 / 字节码 / 实例 / 开发 / 恶性循环 / 操作系统 / 数据 / 数据库 / 文章 / 时间 / 服务器 / 物理内存 / 空间 / 线程 / 缓存 / 虚拟内存 / 软件 / 进程 / 递归 / 部署 / 配置 / 限流