java
金发只是水一下
为什么坚持,想想当初
展开
-
jvm(一)--java内存区域划分
前言 通过学习深入理解java虚拟机的教程,以及自己在网上的查询的资料,做一个对jvm学习过程中的小总结。 本文章内容首先讲解java的内存分布区域,之后讲内存的分配原则以及内存的监控工具。再下来会着重讲解垃圾回收这一章节,该章节涉及了垃圾的标记算法以及各种垃圾回收算法,然后大概的介绍下市面上使用的垃圾收集器。之后就总结下上面的原理,讲解相关的jvm调优案例。然后会着重讲解类加载...原创 2018-07-28 18:00:12 · 482 阅读 · 0 评论 -
jvm(二)--java内存区域之线程独占区
垃圾回收垃圾回收标记算法 java虚拟机总共分为五个区域,其中三个是线程独占区:程序计数器,虚拟机栈,本地方法栈,两个是线程共享区:堆,方法区。程序计数器、虚拟机栈、本地方法栈这3个区域是随线程而生而灭的,内存分配和回收都具备确定性。而java堆和方法区则不一样,各线程共享,在运行时内存的分配与回收都是动态的,垃圾收集器所关注的是这部分内存。 java堆和方法区主要存...原创 2018-07-28 18:12:31 · 1939 阅读 · 0 评论 -
HashTable、HashMap与ConCurrentHashMap源码解读
HashMap 的数据结构 hashMap 初始的数据结构如下图所示,内部维护一个数组,然后数组上维护一个单链表,有个形象的比喻就是想挂钩一样,数组脚标一样的,一个一个的节点往下挂。 我们可以看源码来验证下,HashMap 的数据结构是不是真的是像上面所说是数组加链表的形式://此处略过其他代码,只截取出了hashMap的数组结构相关的数组与链表public cl...原创 2018-07-28 18:15:20 · 1410 阅读 · 0 评论 -
springBoot整合druid+MyBatis Plus
springBoot整合druid+MyBatis Plus1.添加pom依赖 分别添加各自依赖注意:1.druid仅是数据库连接池,所以还需引入与数据库连接的驱动包,这里我引入MySQL的驱动2.myBatis Plus是在MyBatis的基础上扩展的工具,所以引入MyBatis Plus的Pom依赖时,也需要引入MyBatis的依赖。 <!--...原创 2018-08-01 10:02:17 · 7994 阅读 · 1 评论 -
关于java字符串比较例子引发的学习以及intern方法
前言 最近想给自己之前写过的测试代码加些注释,以方便以后查看的时候可以知道自己当时测试的初衷,以及结果的原因,但是最后还是决定写成笔记,不怕丢了,这篇笔记主要是来自之前看过的一本样书《java特种兵》里面的一个例子。当时觉得这个例子还挺有意思的,所以就自己拿出来跑一跑,并记一下笔记。字符串比较例子及讲解例子及运行结果 先看例子代码:@Testpublic void exampl...原创 2018-12-09 17:10:32 · 307 阅读 · 0 评论 -
jvm(三)--java内存区域之线程共享区
前言 本笔记作为jvm学习系列的第三篇,上一篇讲完了java内存区域中的线程独占区,这一篇来讲线程共享区的内容,也即堆与方法区,但是堆的内容有意思的东西实在太多了,像对象的创建,gc的回收算法,本地线程分配缓冲等等,所以,堆的内容我打算“大事化小”,拆分成多个针对性强一点的jvm笔记。线程共享区 线程共享区即在运行过程中,每个线程共享的内存空间。其中包含 堆 与 方法区。堆...原创 2019-01-10 15:35:16 · 4555 阅读 · 0 评论 -
jvm(四)--java内存区域之直接内存
前言 本笔记作为jvm学习系列的第四篇,单独记一下java的直接内存,因为这块内存比较特殊,它并不属于jvm的管理内存。直接内存 直接内存 并不是虚拟机运行时数据区的一部分,也不是 java 虚拟机规范中定义的内存区域。在 jdk1.4 中加入了 NIO 类,引入了一种基于通道(Channel)与缓冲区(Buffer)的 I/O 方式,他可以使用 native 函数库直接分配堆外内...原创 2019-01-10 16:20:48 · 1134 阅读 · 0 评论 -
jvm(五)--关于“垃圾”算法
前言 本笔记作为jvm学习系列的第五篇,讲解与垃圾对象相关的算法内容,如标记某个对象是否为“垃圾”的算法,还有垃圾回收算法。 说起GC,大部分人都把这项技术当做java的伴生产物。实际上,早在1960年的时候,MIT的Lisp就已经真正使用内存动态分配和垃圾回收技术。java、C#等其他语言是借鉴这种思想,毫不夸张的说是GC成就了这些语言。但其实这都是顺应了时代的发展而已,人总是朝着越来...原创 2019-01-15 15:49:59 · 394 阅读 · 0 评论 -
SpringBoot整合MybatisPlus分模块管理遇到的bug
前言 这个Bug前前后后折腾了两天才找到答案,虽说不是完全两天的工作时间在调试这个问题,但是过程也确实曲折,所以做一下记录,也当做一次自我反省背景 SpringBoot 与 MyBat原创 2019-03-13 10:44:09 · 3442 阅读 · 5 评论