摘要: 运用jvm自带的命令可以方便的在生产监控和打印堆栈的日志信息帮忙我们来定位问题!虽然jvm调优成熟的工具已经有很多:jconsole、大名鼎鼎的VisualVM,IBM的Memory Analyzer等等,但是在生产环境出现问题的时候,一方面工具的使用会有所限制,另一方面喜欢装X的我们,总喜欢在出现 阅读全文
posted @ 2020-02-18 22:21 认真的王无敌 阅读(1077) 评论(0) 推荐(0) 编辑
摘要: 垃圾收集 Garbage Collection 通常被称为“GC”,它诞生于1960年 MIT 的 Lisp 语言,经过半个多世纪,目前已经十分成熟了。 jvm 中,程序计数器、虚拟机栈、本地方法栈都是随线程而生随线程而灭,栈帧随着方法的进入和退出做入栈和出栈操作,实现了自动的内存清理,因此,我们的 阅读全文
posted @ 2020-02-18 22:13 认真的王无敌 阅读(221) 评论(0) 推荐(0) 编辑
摘要: 所有的Java开发人员可能会遇到这样的困惑?我该为堆内存设置多大空间呢?OutOfMemoryError的异常到底涉及到运行时数据的哪块区域?该怎么解决呢?其实如果你经常解决服务器性能问题,那么这些问题就会变的非常常见,了解JVM内存也是为了服务器出现性能问题的时候可以快速的了解那块的内存区域出现问 阅读全文
posted @ 2020-02-18 21:51 认真的王无敌 阅读(172) 评论(0) 推荐(0) 编辑
摘要: 1、什么是类的加载 类的加载指的是将类的.class文件中的二进制数据读入到内存中,将其放在运行时数据区的方法区内,然后在堆区创建一个java.lang.Class对象,用来封装类在方法区内的数据结构。类的加载的最终产品是位于堆区中的Class对象,Class对象封装了类在方法区内的数据结构,并且向 阅读全文
posted @ 2020-02-18 20:54 认真的王无敌 阅读(329) 评论(0) 推荐(0) 编辑
摘要: 谈谈Spring中都用到了哪些设计模式? JDK 中用到了那些设计模式?Spring 中用到了那些设计模式?这两个问题,在面试中比较常见。我在网上搜索了一下关于 Spring 中设计模式的讲解几乎都是千篇一律,而且大部分都年代久远。所以,花了几天时间自己总结了一下,由于我的个人能力有限,文中如有任何 阅读全文
posted @ 2020-02-18 10:07 认真的王无敌 阅读(4102) 评论(0) 推荐(1) 编辑
摘要: 一.线程不安全的HashMap 多线程环境下,使用HashMap进行put操作会引起死循环(jdk1.7 Entry链表形成环形数据结构),导致CPU利用率接近100%。 结构:数组 table[]+链表entry<k,v>put 对key做hash默认初始化数组长度 16加载因子 0.75扩容 大 阅读全文
posted @ 2020-02-16 18:11 认真的王无敌 阅读(693) 评论(0) 推荐(0) 编辑
摘要: 1. concurrent包的结构层次 在针对并发编程中,Doug Lea大师为我们提供了大量实用,高性能的工具类,针对这些代码进行研究会让我们队并发编程的掌握更加透彻也会大大提升我们队并发编程技术的热爱。这些代码在java.util.concurrent包下。如下图,即为concurrent包的目 阅读全文
posted @ 2020-02-15 17:24 认真的王无敌 阅读(360) 评论(0) 推荐(0) 编辑
摘要: 1. final的简介 final可以修饰**变量,方法和类**,用于表示所修饰的内容一旦赋值之后就不会再被改变,比如String类就是一个final类型的类。即使能够知道final具体的使用方法,我想对**final在多线程中存在的重排序问题**也很容易忽略,希望能够一起做下探讨。 2. fina 阅读全文
posted @ 2020-02-15 14:09 认真的王无敌 阅读(649) 评论(0) 推荐(0) 编辑
摘要: 1. volatile简介 在上一篇文章中我们深入理解了java关键字,我们知道在java中还有一大神器就是关键volatile,可以说是和synchronized各领风骚,其中奥妙,我们来共同探讨下。 通过上一篇的文章我们了解到synchronized是阻塞式同步,在线程竞争激烈的情况下会升级为重 阅读全文
posted @ 2020-02-13 15:32 认真的王无敌 阅读(37547) 评论(8) 推荐(9) 编辑
摘要: 1. synchronized简介 在学习知识前,我们先来看一个现象: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 public class SynchronizedDemo implements Runnable { priva 阅读全文
posted @ 2020-02-13 10:59 认真的王无敌 阅读(34142) 评论(3) 推荐(5) 编辑