- 博客(12)
- 资源 (25)
- 问答 (1)
- 收藏
- 关注
原创 MySQL索引-B+树原理分析
索引是一种数据结构,用于帮助我们在大量数据中快速定位到我们想要查找的数据。 索引最形象的比喻就是图书的目录了。注意这里的大量,数据量大了索引才显得有意义,如果我想要在 [1,2,3,4] 中找到 4 这个数据,直接对全数据检索也很快,没有必要费力气建索引再去查找。 索引在 MySQL 数据库中分三类: B+ 树索引 Hash 索引 全文索引 我们今天要介绍的是工作开发中最常接触到的 InnoDB 存储引擎中的 B+ 树索引。要介绍 B+ 树索引,就不得不提二叉查找树,平衡二叉树和 B 树这三种...
2021-05-24 15:27:46 115
原创 Java heap space或者permgen space的的解决方法
一、因为程序要从数据读取近10W行记录处理,当读到9W的时候就出现 java.lang.OutOfMemoryError: Java heap space 这样的错误。 在网上一查可能是JAVA的堆栈设置太小的原因,结合网上的答案大致解决方法为: 报错如下: Exception in thread "DispatcherThread" java.lang.OutOfMemoryError: PermGen space Exception in thread "ContainerBackground...
2021-05-26 15:13:39 921 2
原创 JVM之GC算法、垃圾收集算法——标记-清除算法、复制算法、标记-整理算法、分代收集算法
标记-清除算法 此垃圾收集算法分为“标记”和“清除”两个阶段: 首先标记出所有需要回收的对象,在标记完成后统一回收所有被标记对象,它的标记过程前面已经说过——如何判断对象是否存活/死去 死去的对象就会被标记,然后被清除。 它主要有两点不足: 一个是效率问题,标记和清除两个过程的效率都不高; 另一个是空间问题,标记清除之后会产生大量不连续的空间碎片,空间碎片太多可能会导致以后再程序运行过程中需要分配较大对象时, 无法找到足够的连续内存而不得不提前触发另一次垃圾收集动作。...
2021-05-25 11:16:31 194
原创 Java常见的一些内存溢出问题以及原因
有了对内存结构清晰的认识,就可以帮助我们理解不同的OutOfMemoryErrors,下面列举一些比较常见的内存溢出错误,通过查看冒号“:”后面的提示信息,基本上就能断定是JVM运行时数据的哪个区域出现了问题。 Exception in thread “main”: java.lang.OutOfMemoryError: Java heap space 原因:对象不能被分配到堆内存中。 Exception in thread “main”: java.lang.OutOfMemoryError:
2021-05-25 10:50:21 186
原创 分库分表分析:SpringBoot2.0.3.RELEASE+sharding-jdbc4.1.0+mybatis-plus3.4.1+druid1.1.22 快速搭建分库分表
文末有demo的git地址 Apache ShardingSphere 是一套开源的分布式数据库解决方案组成的生态圈,它由 JDBC、Proxy 和 Sidecar(规划中)这 3 款既能够独立部署,又支持混合部署配合使用的产品组成。 目前,数据分片、读写分离、数据加密、影子库压测等功能,以及对 MySQL、PostgreSQL、SQLServer、Oracle 等 SQL 与协议的支持,均通过插件的方式织入项目。 ShardingSphere-JDBC 定位为轻量级 Java 框架,在 Ja...
2021-05-25 10:01:57 606
原创 深入理解Java类加载
本文目的: 深入理解Java类加载机制; 理解各个类加载器特别是线程上下文加载器; Java虚拟机类加载机制 虚拟机把描述类的数据从 Class 文件加载到内存,并对数据进行校验、转换解析和初始化,最终形成可以被虚拟机直接使用的 Java 类型,这就是虚拟机的类加载机制。 在Java语言里面,类型的加载、连接和初始化过程都是在程序运行期间完成的 类加载的过程 类的个生命周期如下图: 为支持运行时绑定,解析过程在某些情况下可在初始化之后再开始,除解析过程外的其他加载过程必须按照如图顺序开...
2021-05-25 02:45:56 495
原创 tomcat中看启动时加载的类
在tomcat bin里面有个catalina.bat ifnot"%SECURITY_POLICY_FILE%"==""gotodoSecurity %_EXECJAVA%-verbose:class%JAVA_OPTS%%CATALINA_OPTS%%DEBUG_OPTS%-Djava.endorsed.dirs="%JAVA_ENDORSED_DIRS%"-classpath"%CLASSPATH%"-Dcatalina....
2021-05-25 02:36:58 816
转载 Class.forName()的作用与使用总结
1、Class类简介: Java程序在运行时,Java运行时系统一直对所有的对象进行所谓的运行时类型标识。这项信息纪录了每个对象所属的类。虚拟机通常使用运行时类型信息选准正确方法去执行,用来保存这些类型信息的类是Class类。Class类封装一个对象和接口运行时的状态,当装载类时,Class类型的对象自动创建。 Class 没有公共构造方法。Class 对象是在加载类时由Java 虚拟机以及通过调用类加载器中的 defineClass 方法自动构造的,因此不能显式地声明一个Class对...
2021-05-25 02:26:53 889
原创 Java Class.forName()用法和newInstance()方法原理解析
Class.forName()主要功能 Class.forName(xxx.xx.xx)返回的是一个类, Class.forName(xxx.xx.xx)的作用是要求JVM查找并加载指定的类,也就是说JVM会执行该类的静态代码段。 下面,通过解答以下三个问题的来详细讲解下Class.forName()的用法。 ①new 和Class.forName()有什么区别和newInstance的用法? A a = (A)Class.forName(“pacage.A”).newInstanc...
2021-05-25 01:45:37 313
原创 Java中new和Class.forName的区别,Class.forName()和Class.forName().newInstance()之间有什么区别
首先: New = Class.forName("pacage.A").newInstance(); new是关键字,直接创建对象。 Class.forName()是一个方法,要求JVM查找并加载指定的类,类装载到虚拟机上之后,静态方法和静态块中的处理被执行。 这时候还没有创建对象。newInstance()是创建对象。 我们最常用的jdbc, 经常会用Class.forName来加载数据库驱动。 jdbc接口中,会存在各种数据库的驱动,不在在接口中写死,一般都写在配置文件里, 所以需要我们调用...
2021-05-25 01:20:51 236
原创 图示B树和B+树的原理和操作过程
1 B树 在介绍B+树之前, 先简单的介绍一下B树,这两种数据结构既有相似之处,也有他们的区别,最后,我们也会对比一下这两种数据结构的区别。 1.1 B树概念 B树也称B-树,它是一颗多路平衡查找树。二叉树我想大家都不陌生,其实,B树和后面讲到的B+树也是从最简单的二叉树变换而来的,并没有什么神秘的地方,下面我们来看看B树的定义。 每个节点最多有m-1个关键字(可以存有的键值对)。 根节点最少可以只有1个关键字。 非根节点至少有m/2个关键字。 每个节点中的关...
2021-05-23 16:29:47 1902
原创 DelegatingFilterProxy的作用与用法
一、类结构 DelegatingFilterProxy类存在与spring-web包中,其作用就是一个filter的代理,用这个类的好处是可以通过spring容器来管理filter的生命周期,还有就是,可以通过spring注入的形式,来代理一个filter执行,如shiro,下面会说到;有上图我们可以看到,DelegatingFilterProxy类继承GenericFilterBean,间接实现了Filter这个接口,故而该类属于一个过滤器。那么就会有实现Filter中init、doFil...
2021-05-07 10:59:22 2335 2
基于springboot+h5+websocket的即时通讯客服系统和百度实时语音转译(语音在线识别)
2021-11-29
社团管理系统(基于ssh框架,需要sql联系我)
2020-04-09
基于android框架的客户端和基于java服务端的物流快递系统(不懂的联系我)
2020-01-07
基于Android的物流配送管理系统(有图片和参考代码,不懂可以联系问我)
2020-01-07
基于ssm的婚恋网站(寻欢网)(包含后台管理系统)
2019-05-31
刚完成的基于ssh的婚恋交友网站(有运行截图,文档说明,有问题找我)
2019-05-08
基于ssm的在线考试系统(问卷系统)(有运行截图,包含单选题,多选题,问答题,有不懂的联系我)
2019-05-03
自己做的微服务环境简单搭建----网上书店
2019-03-26
学生成绩管理系统ssm(毕业设计代码+论文)
2018-04-28
学生管理系统ssm(毕业设计代码+论文)
2018-04-28
基于ssm的医院预约挂号系统
2018-03-29
struts2+hibernate+spring+jpa+maven的网上订餐系统
2018-03-26
基于ssh的社团管理系统的设计与实现(有疑问联系我头像)
2017-11-22
基于ssm的网上服饰商城毕业论文(关注我还有更多的学习资料)
2017-11-13
webservice+spring+xfire完整项目(包含jar包)
2017-10-20
求解Java一个最优分配算法
2017-08-23
TA创建的收藏夹 TA关注的收藏夹
TA关注的人