Java进阶
小萧山
大家好
展开
-
java垃圾收集器介绍
如果说收集算法是内存回收的方法论,那么垃圾收集器就是内存回收的具体实现。java虚拟机规范中对应垃圾收集器应该如何实现并没有任何规定,因此不同的厂商,不同版本的虚拟机所提供的垃圾收集器可能会有很大差别,并且一般都会提供参数供用户根据自己的应用特点和要求组合各个年代所使用的收集器。虚拟机的垃圾收集器以上展示了虚拟机不同分代的收集器,如果两个收集器之间存在连线,就可以说明他们可以搭配...转载 2020-01-11 10:57:38 · 224 阅读 · 0 评论 -
java垃圾收集算法介绍
垃圾收集是java中相当重要的一部分,大部分人都把这项技术当作java语言的半生产物。事实上,GC的历史比java久远。本篇文章主要介绍java中的垃圾回收算法,并且由于垃圾收集算法设计大量的程序细节,而且各个平台的虚拟机操作内存的方法又各不相同,所以只是简单介绍。标记-清除算法他是java中最基础的收集算法,如同它的名字一样,孙阿法分为“标记”和“清除”两个阶段,首先标记处所有需要回收的...转载 2020-01-11 10:54:17 · 258 阅读 · 0 评论 -
java对象存活判定算法
在堆里存放着java世界中几乎所有对象实例,垃圾收集器在对堆进行回收前,第一件事就是要确定这些对象之中哪些还“存活”着,哪些已经“死去”。引用计数算法给对象添加一个引用计数器,每当有一个地方引用它时,计数器就增加1;当引用失效时,计数器就减1;任何时刻计数器为0时对象就是不可能在被使用的。可观的说引用计数器的实现简单,判定效率也很高,在大部分情况下他都是一个不错的算法,但是主流的jav...转载 2020-01-11 10:52:31 · 299 阅读 · 0 评论 -
visualvm 插件 visual gc 使用介绍
原文地址:https://www.cnblogs.com/reycg-blog/p/7805075.html支持原创visual gc 是 visualvm 中的图形化查看 gc 状况的插件。具体详细介绍可参照: http://www.oracle.com/technetwork/java/visualgc-136680.html本文也是在此基础上进行的整理归纳。OUT...转载 2020-01-09 22:00:02 · 457 阅读 · 0 评论 -
常见排序算法 图文说明
冒泡排序 快速排序 插入排序 希尔排序 选择排序 堆排序 桶排序 基数排序冒泡排序(Bubble Sort),又被称为气泡排序或泡沫排序。它是一种较简单的排序算法。它会遍历若干次要排序的数列,每次遍历时,它都会从前往后依次的比较相邻两个数的大小;如果前者比后者大,则交换它们的位置。这样,一次遍历之后,最大的元素就在数列的末尾! 采用相同的方法再次遍历时,第二大的元素就被排列在最大元素之前。...原创 2019-07-13 17:27:02 · 102 阅读 · 0 评论 -
Java开发常见异常及原因(此博文持续整理更新中)
1.空指针异常:java.lang.NullPointerException。这个异常我们开发中最常见的异常了,当null调用属性或者方法的时候就会报空指针异常。2.类型转换异常:java.lang.ClassCastExceptionA和B他们有相同的父类,他们可以强制转化成父,但是他们之间却不能互相转化。其实他们两个是两个不同个的实体。3.java.lang.NumberFor...原创 2019-08-18 16:43:47 · 263 阅读 · 0 评论 -
MySQL索引
官方定义:索引(Index) 是帮助MySQL高效获取数据的数据结构。我们常说的索引一般指的是BTree(多路搜索树)结构组织的索引。其中还有聚合索引,次要索引,复合索引,前缀索引,唯一索引,统称索引,当然除了B+树外,还有哈希索引(hash index)等。而储存引擎决定了索引的使用,mysql储存引擎与索引关系如下MySQL存储引擎主要分为 InnoDB 存储引擎与 MyISAM ...原创 2019-07-07 16:15:59 · 76 阅读 · 0 评论 -
mysql执行计划细节介绍
使用explain关键字可以模拟优化器执行sql查询语句,从而得知MySQL 是如何处理sql语句。idselect 查询的序列号,包含一组可以重复的数字,表示查询中执行sql语句的顺序。一般有三种情况:第一种:id全部相同,sql的执行顺序是由上至下;第二种:id全部不同,sql的执行顺序是根据id大的优先执行;第三种:id既存在相同,又存在不同的。先根据id大的优先执行,再...原创 2019-07-06 15:56:19 · 98 阅读 · 0 评论