- 博客(17)
- 资源 (3)
- 收藏
- 关注

原创 jvm(五)--关于“垃圾”算法
前言 本笔记作为jvm学习系列的第五篇,讲解与垃圾对象相关的算法内容,如标记某个对象是否为“垃圾”的算法,还有垃圾回收算法。 说起GC,大部分人都把这项技术当做java的伴生产物。实际上,早在1960年的时候,MIT的Lisp就已经真正使用内存动态分配和垃圾回收技术。java、C#等其他语言是借鉴这种思想,毫不夸张的说是GC成就了这些语言。但其实这都是顺应了时代的发展而已,人总是朝着越来...
2019-01-15 15:49:59
417

原创 jvm(四)--java内存区域之直接内存
前言 本笔记作为jvm学习系列的第四篇,单独记一下java的直接内存,因为这块内存比较特殊,它并不属于jvm的管理内存。直接内存 直接内存 并不是虚拟机运行时数据区的一部分,也不是 java 虚拟机规范中定义的内存区域。在 jdk1.4 中加入了 NIO 类,引入了一种基于通道(Channel)与缓冲区(Buffer)的 I/O 方式,他可以使用 native 函数库直接分配堆外内...
2019-01-10 16:20:48
1152

原创 jvm(三)--java内存区域之线程共享区
前言 本笔记作为jvm学习系列的第三篇,上一篇讲完了java内存区域中的线程独占区,这一篇来讲线程共享区的内容,也即堆与方法区,但是堆的内容有意思的东西实在太多了,像对象的创建,gc的回收算法,本地线程分配缓冲等等,所以,堆的内容我打算“大事化小”,拆分成多个针对性强一点的jvm笔记。线程共享区 线程共享区即在运行过程中,每个线程共享的内存空间。其中包含 堆 与 方法区。堆...
2019-01-10 15:35:16
4596

原创 jvm(二)--java内存区域之线程独占区
垃圾回收垃圾回收标记算法 java虚拟机总共分为五个区域,其中三个是线程独占区:程序计数器,虚拟机栈,本地方法栈,两个是线程共享区:堆,方法区。程序计数器、虚拟机栈、本地方法栈这3个区域是随线程而生而灭的,内存分配和回收都具备确定性。而java堆和方法区则不一样,各线程共享,在运行时内存的分配与回收都是动态的,垃圾收集器所关注的是这部分内存。 java堆和方法区主要存...
2018-07-28 18:12:31
1985

原创 jvm(一)--java内存区域划分
前言 通过学习深入理解java虚拟机的教程,以及自己在网上的查询的资料,做一个对jvm学习过程中的小总结。 本文章内容首先讲解java的内存分布区域,之后讲内存的分配原则以及内存的监控工具。再下来会着重讲解垃圾回收这一章节,该章节涉及了垃圾的标记算法以及各种垃圾回收算法,然后大概的介绍下市面上使用的垃圾收集器。之后就总结下上面的原理,讲解相关的jvm调优案例。然后会着重讲解类加载...
2018-07-28 18:00:12
504
原创 tomcat配置session共享
tomcat官网打开 tomcat 官网: http://tomcat.apache.org/ , 找到需要配置的tomcat版本的文档,这里以 tomcat7 为例,找到对应的 Clustering 配置(因为配置session共享,就是配置集群),如下图即,配置tomcat7集群的文档地址: http://tomcat.apache.org/tomcat-7.0-doc/cluste...
2019-08-31 09:26:04
3743
2
原创 SpringBoot整合MybatisPlus分模块管理遇到的bug
前言 这个Bug前前后后折腾了两天才找到答案,虽说不是完全两天的工作时间在调试这个问题,但是过程也确实曲折,所以做一下记录,也当做一次自我反省背景 SpringBoot 与 MyBat
2019-03-13 10:44:09
3489
5
原创 用JAXB将xml报文生成java实体类
前言 在开发ws接口,或者需要用到xml做载体的时候,经常需要将客户提供的测试xml报文,转化成我们java应用的实体类,不管实体类的字段多还是少,如果手工去写我都觉得非常麻烦,非常浪费时间,(而且实际的开发过程中,接口所需的字段也不可能少),所以最好就是能用工具去帮我们解决这个问题。 之前已经有过一次用JAXB将xml报文转成java实体类的经历了,但是做完之后也没有做个笔记 ,导致再...
2019-01-11 19:21:30
2977
1
转载 Java ConcurrentModificationException异常原因和解决方法
在前面一篇文章中提到,对Vector、ArrayList在迭代的时候如果同时对其进行修改就会抛出java.util.ConcurrentModificationException异常。下面我们就来讨论以下这个异常出现的原因以及解决办法。 以下是本文目录大纲: 一.ConcurrentModificationException异常出现的原因 二.在单线程环境下的解决办法 ...
2018-12-10 10:18:17
388
原创 关于java字符串比较例子引发的学习以及intern方法
前言 最近想给自己之前写过的测试代码加些注释,以方便以后查看的时候可以知道自己当时测试的初衷,以及结果的原因,但是最后还是决定写成笔记,不怕丢了,这篇笔记主要是来自之前看过的一本样书《java特种兵》里面的一个例子。当时觉得这个例子还挺有意思的,所以就自己拿出来跑一跑,并记一下笔记。字符串比较例子及讲解例子及运行结果 先看例子代码:@Testpublic void exampl...
2018-12-09 17:10:32
327
原创 从二叉查找树到B+树
二叉查找树与平衡二叉树: https://blog.csdn.net/qq_25940921/article/details/821830932-3树与2-3-4树: https://blog.csdn.net/qq_25940921/article/details/82183601红黑树: https://blog.csdn.net/qq_25940921/article/deta...
2018-08-30 17:07:35
651
原创 B树与B+树
B树 如果前面的2-3树与2-3-4树理解了,B树也就理解了,因为2-3树就是3阶的B树,2-3-4树就是4阶的B树。所以,对于B树的性质,根据2-3-4树都可以推导出来了,即, 一颗m阶的B树(B-tree) 定义如下:(1)每个节点最多有 m-1 个key;(2)根节点至少有1个key;(3)非根节点至少有 Math.ceil(m/2)-1 个key;(4)每个节点...
2018-08-30 17:00:59
24750
7
原创 红黑树
红黑树 红黑树可以算是树状结构中的“明星”了,应该计算机专业都听过红黑树这个专业名词,而且红黑树的应用也很广泛,比方说, java 集合中的 TreeSet 和 TreeMap ,以及 jdk8 的 HashMap 链表长度超过7之后会转成红黑树等等。但实际上红黑树却很复杂,他并不是像前面讲过的树一样是棵平衡树,即红黑树并没有定义从根节点到叶子节点的长度一致或高度差为1,然而他却能保证树大致...
2018-08-29 15:32:19
1753
4
原创 2-3树与2-3-4树
2-3树 2-3树是一棵自平衡的多路查找树,它并不是一棵二叉树,具有如下性质:(1)每个节点有1个或2个key,对应的子节点为2个子节点或3个子节点;(2)所有叶子节点到根节点的长度一致;(3)每个节点的key从左到右保持了从小到大的顺序,两个key之间的子树中所有的key一定大于它的父节点的左key,小于父节点的右key。 如下图所示, 为什么会有2-3树这种数...
2018-08-29 15:12:06
8236
7
原创 二叉查找树与平衡二叉树
二叉查找树 二叉查找树,也称二叉搜索树,或二叉排序树。其定义也比较简单,要么是一颗空树,要么就是具有如下性质的二叉树:(1)若任意节点的左子树不空,则左子树上所有结点的值均小于它的根结点的值;(2) 若任意节点的右子树不空,则右子树上所有结点的值均大于它的根结点的值;(3) 任意节点的左、右子树也分别为二叉查找树;(4) 没有键值相等的节点。 如上图所示,是不同形态...
2018-08-29 14:47:46
84146
41
原创 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
8029
1
原创 HashTable、HashMap与ConCurrentHashMap源码解读
HashMap 的数据结构 hashMap 初始的数据结构如下图所示,内部维护一个数组,然后数组上维护一个单链表,有个形象的比喻就是想挂钩一样,数组脚标一样的,一个一个的节点往下挂。 我们可以看源码来验证下,HashMap 的数据结构是不是真的是像上面所说是数组加链表的形式://此处略过其他代码,只截取出了hashMap的数组结构相关的数组与链表public cl...
2018-07-28 18:15:20
1438
springboot+druid+mybatis plus整合demo
2018-12-13
深入理解Java 7:核心技术与最佳实践-成富.epub
2018-08-09
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人