一次线上java 应用响应时间过长问题的排查链滴 一次线上 java 应用响应时间过长问题的排查 作者:xinzhongtianxia 原文链接:https://ld246.com/article/1569574881351 来源网站:链滴 许可协议:署名-相同方式共享 4.0 国际 (CC BY-SA 4.0)最近接手一个老 java 应用,没多久接到响应时间太长的报警,整个排查过程还是挺有意思的, 录一下。
整个过程中,设计到 cpu,内存,垃圾回收,引用,spring, 单例 等等知识,整个下来,心情愉悦。< p>接到报警
吃完晚饭回来,接到报警短信,服务响应时间太长,达到 2s 以上。
第一反应,怎么可能,这个应用很简单,就提供了几个查询接口,QPS id="垃圾回收">垃圾回收看垃圾回收日志,发现一直在进行 Full GC,但是几乎没啥效果,GC 完了,老年代依然是几乎 满的状态。
即使是 CMS,也不能避免传说中的 stop the world,所以响应时间变长了。
但是,现在问题来了,Full GC 回收不掉的对象都是啥啥啥?分析 java 堆内存
先把线上流量从这台机器切走,然后
0 码力 | 3 页 | 247.74 KB | 1 年前3
Hello 算法 1.0.0b4 Java版com/krahets/hello‑algo 仓库。动画在 PDF 内的 展示效果受限,可访问 hello‑algo.com 网页版以获得更优的阅读体验。 致谢 本书在开源社区众多贡献者的共同努力下不断成长。感谢每一位投入时间与精力的撰稿人,他们 是(按照 GitHub 自动生成的顺序):krahets, sjinzh, justin‑tse, Reanon, nuomi1, Gonglja, S‑N‑O‑ R‑L‑A‑X 本书的代码审阅工作由 Gonglja, gvenusleo, hpstory, justin‐tse, krahets, nuomi1, Reanon, sjinzh 完 成(按照首字母顺序排列)。感谢他们付出的时间与精力,正是他们确保了各语言代码的规范与统一。 推荐语 “一本通俗易懂的数据结构与算法入门书,引导读者手脑并用地学习,强烈推荐算法初学者阅读。” ——邓俊辉,清华大学计算机系教授 “如果我当年学数据结构与算法的时候有《Hello 13 2.1. 算法效率评估 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 2.2. 时间复杂度 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 2.3. 空间复杂度 .0 码力 | 342 页 | 27.39 MB | 1 年前3
Hello 算法 1.0.0b1 Java版2. 时间复杂度 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 2.3. 空间复杂度 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 2.4. 权衡时间与空间 创作。 � 前置条件 您需要至少具备任一语言的编程基础,能够阅读和编写简单代码。 0.1.2. 内容结构 本书主要内容有: ‧ 复杂度分析:数据结构与算法的评价维度、算法效率的评估方法。时间复杂度、空间复杂度,包括推算 方法、常见类型、示例等。 ‧ 数据结构:常用的基本数据类型,数据在内存中的存储方式、数据结构分类方法。数组、链表、栈、队列、 散列表、树、堆、图等数据结构,内容包 Offer、LeetCode Hot 100,先积累至少 100 道题量,熟 悉大多数的算法问题。刚开始刷题时,“遗忘”是最大的困扰点,但这是很正常的,请不要担心。学习中 有一种概念叫“周期性回顾”,同一道题隔段时间做一次,在重复 3 轮以上后,往往就能牢记于心了。 3. 搭建知识体系。在学习方面,可以阅读算法专栏文章、解题框架、算法教材,不断地丰富知识体系。在 刷题方面,可以开始采用进阶刷题方案,例如按专0 码力 | 186 页 | 14.71 MB | 1 年前3
Hello 算法 1.0.0b2 Java版2. 时间复杂度 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 2.3. 空间复杂度 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 2.4. 权衡时间与空间 创作。 � 前置条件 您需要至少具备任一语言的编程基础,能够阅读和编写简单代码。 0.1.2. 内容结构 本书主要内容有: ‧ 复杂度分析:数据结构与算法的评价维度、算法效率的评估方法。时间复杂度、空间复杂度,包括推算 方法、常见类型、示例等。 ‧ 数据结构:常用的基本数据类型,数据在内存中的存储方式、数据结构分类方法。数组、链表、栈、队列、 散列表、树、堆、图等数据结构,内容包 Offer、LeetCode Hot 100,先积累至少 100 道题量,熟 悉大多数的算法问题。刚开始刷题时,“遗忘”是最大的困扰点,但这是很正常的,请不要担心。学习中 有一种概念叫“周期性回顾”,同一道题隔段时间做一次,在重复 3 轮以上后,往往就能牢记于心了。 3. 搭建知识体系。在学习方面,可以阅读算法专栏文章、解题框架、算法教材,不断地丰富知识体系。在 刷题方面,可以开始采用进阶刷题方案,例如按专0 码力 | 197 页 | 15.72 MB | 1 年前3
Hello 算法 1.0.0b5 Java版——邓俊辉,清华大学计算机系教授 “如果我当年学数据结构与算法的时候有《Hello 算法》,学起来应该会简单 10 倍!” ——李沐,亚马逊资深首席科学家 致谢 本书在开源社区众多贡献者的共同努力下不断成长。感谢每一位投入时间与精力的撰稿人,他们是 (按照 GitHub 自动生成的顺序):krahets, justin‑tse, sjinzh, nuomi1, Reanon, Gonglja, S‑N‑O‑R‑ L‑A‑X 本书的代码审阅工作由 Gonglja, gvenusleo, hpstory, justin‐tse, krahets, nuomi1, Reanon, sjinzh 完 成(按照首字母顺序排列)。感谢他们付出的时间与精力,正是他们确保了各语言代码的规范与统一。 i 目 录 第 0 章 前言 1 0.1 关于本书 . . . . . . . . . . . . . . . . . . . . . . . 17 2.2 迭代与递归 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 2.3 时间复杂度 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 2.4 空间复杂度 . .0 码力 | 376 页 | 30.69 MB | 1 年前3
Hello 算法 1.1.0 Java版attention.”从这个意义上看,这本 书并非完全“免费”。为了不辜负你为本书所付出的宝贵“注意力”,我会竭尽所能,投入最大的“注意力” 来完成本书的创作。 本人自知学疏才浅,书中内容虽然已经过一段时间的打磨,但一定仍有许多错误,恳请各位老师和同学批评 指正。 本书中的代码附有可一键运行的源文件,托管于 github.com/krahets/hello‑algo 仓库。 动画在 PDF 内的展示效果受限,可访问 18 2.2 迭代与递归 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 2.3 时间复杂度 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 2.4 空间复杂度 . . 参与创作。 前置条件 你需要至少具备任一语言的编程基础,能够阅读和编写简单代码。 0.1.2 内容结构 本书的主要内容如图 0‑1 所示。 ‧ 复杂度分析:数据结构和算法的评价维度与方法。时间复杂度和空间复杂度的推算方法、常见类型、示 例等。 ‧ 数据结构:基本数据类型和数据结构的分类方法。数组、链表、栈、队列、哈希表、树、堆、图等数据 结构的定义、优缺点、常用操作、常见类型、典型应用、实现方法等。0 码力 | 378 页 | 18.47 MB | 1 年前3
Hello 算法 1.0.0 Java版attention.”从这个意义上看,这本 书并非完全“免费”。为了不辜负你为本书所付出的宝贵“注意力”,我会竭尽所能,投入最大的“注意力” 来完成本书的创作。本人自知学疏才浅,书中内容虽然已经过一段时间的打磨,但一定仍有许多错误,恳请 各位老师和同学批评指正。 本书中的代码附有可一键运行的源文件,托管于 github.com/krahets/hello‑algo 仓库。动画在 PDF 内的 展示效果受限,可访问 18 2.2 迭代与递归 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 2.3 时间复杂度 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 2.4 空间复杂度 . . 作。 � 前置条件 你需要至少具备任一语言的编程基础,能够阅读和编写简单代码。 0.1.2 内容结构 本书的主要内容如图 0‑1 所示。 ‧ 复杂度分析:数据结构和算法的评价维度与方法。时间复杂度和空间复杂度的推算方法、常见类型、示 例等。 ‧ 数据结构:基本数据类型和数据结构的分类方法。数组、链表、栈、队列、哈希表、树、堆、图等数据 结构的定义、优缺点、常用操作、常见类型、典型应用、实现方法等。0 码力 | 376 页 | 17.59 MB | 1 年前3
Hello 算法 1.2.0 简体中文 Java 版attention.”从这个意义上看,这本 书并非完全“免费”。为了不辜负你为本书所付出的宝贵“注意力”,我会竭尽所能,投入最大的“注意力” 来完成本书的创作。 本人自知学疏才浅,书中内容虽然已经过一段时间的打磨,但一定仍有许多错误,恳请各位老师和同学批评 指正。 本书中的代码附有可一键运行的源文件,托管于 github.com/krahets/hello‑algo 仓库。 动画在 PDF 内的展示效果受限,可访问 18 2.2 迭代与递归 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 2.3 时间复杂度 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 2.4 空间复杂度 . . 参与创作。 前置条件 你需要至少具备任一语言的编程基础,能够阅读和编写简单代码。 0.1.2 内容结构 本书的主要内容如图 0‑1 所示。 ‧ 复杂度分析:数据结构和算法的评价维度与方法。时间复杂度和空间复杂度的推算方法、常见类型、示 例等。 ‧ 数据结构:基本数据类型和数据结构的分类方法。数组、链表、栈、队列、哈希表、树、堆、图等数据 结构的定义、优缺点、常用操作、常见类型、典型应用、实现方法等。0 码力 | 379 页 | 18.48 MB | 10 月前3
《Java 应用与开发》课程讲义 - 王晓东. . . . . . . . . . . . . . . . . . . . . 176 13.4.3 对象序列化 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 177 ix 13.4.4 实现对象序列化 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 中国海洋大学信息学院计算机系 第 2 页 / 共 306 页 � 1 � Java 技术概述及开发环境 基本信息 课程名称: Java 应用与开发 授课教�: 王晓东 授课时间: 第一周 参考教材: 本课程参考教材及资料如下: • 陈国君主编,Java 程序设计基础(第 5 版),清华大学出版社,2015.5 • Bruce Eckel, Thinking in Java . . . . 中国海洋大学信息学院计算机系 第 8 页 / 共 306 页 � 2 � Java 语言基础与流程控制 基本信息 课程名称: Java 应用与开发 授课教�: 王晓东 授课时间: 第一周 参考教材: 本课程参考教材及资料如下: • 陈国君主编,Java 程序设计基础(第 5 版),清华大学出版社,2015.5 • Bruce Eckel, Thinking in Java0 码力 | 330 页 | 6.54 MB | 1 年前3
Apache Shiro 1.2.x Reference Manual 中文翻译x-reference/. Let's READ! 《Apache Shiro 1.2.x 参考手册》 中文翻译(包含了官方文档以及其他文章)。截止现在 (2015-8-1)Shiro的最新版本为 1.2.4,利用业余时间对此进行翻译,并在原文的基础上,插 入配图,图文并茂方便用户理解。如有勘误欢迎指正。 Get Started 如何开始阅读 选择下面入口之一: https://github.com/waylau/apache-shiro-1 Shiro的首要目标是易于使用和理解。安全通常很复杂,甚至让人感到很痛苦,但是 Shiro却不是这样子的。一个好的安全框架应该屏蔽复杂性,向外暴露简单、直观的API,来 简化开发人员实现应用程序安全所花费的时间和精力。 Shiro能做什么呢? 验证用户身份 用户访问权限控制,比如: 判断用户是否分配了一定的安全角色。 判断用户是否被授予完成某个操作的权限 在非 web 或 EJB 容器的环境下可以任意使用Session 架构的核心,配合内部安全组件共同组成 安全伞。然而,一旦一个程序配置好了SecurityManager 和它的内部对象, SecurityManager通常独自留下来,程序开发人员几乎花费的所有时间都集中在 Subjet Apache Shiro 1.2.x Reference Manual 中文翻译 19 3. Architecture 架构 API上。 我们将在以后详细讨论 SecurityManager,但当你和一个0 码力 | 196 页 | 2.34 MB | 1 年前3
共 29 条
- 1
- 2
- 3













