- 博客(12)
- 资源 (1)
- 收藏
- 关注
原创 从CMS到G1
在JDK14中CMS已经不再支持CMS了。 像青春的逝去般的垃圾回收器也迎来了他的换代。 我们不能龟缩不前,JDK8已经开始展示出颓态。5G的到来以及高端硬件的降价,用户的需求都在告诉我们。要么改变,要么被淘汰。 本文主要讲解G1回收器和他对比CMS的优劣。其实在JDK11后 8G以上内存99%的场景下 G1都比CMS表现更为优秀。 G1内存模型对比CMS和之前的垃圾收集器有了很大的改变。这无疑是惊艳的。从上图可以看出G1把堆内存划分为若干个区域(Regi...
2020-07-04 11:33:14 438
原创 垃圾收集器介绍和ParNew&CMS与底层三色标记算法详解---必看
1.垃圾收集算法现在的垃圾回收分带理论其实已经始于几十年前了,java的回收算法和垃圾回收器一直都在改进从未出现一款能适合所有场景的回收机制。所以我们进行垃圾回收的核心思想是结合具体业务框架技术等客观条件合理选择垃圾回收器并分配资源。现在这个机制:一般将java堆分为新生代和老年代在新生代中的一般是我们java中朝生夕死的对象每次垃圾回收都会有大约99%的对象死去。现在一般采用复制算法。老年代的对象存活比例较高。这里推荐大家先了解什么对象存入新生代,什么对象存入老年代。什...
2020-06-27 20:12:33 1371
原创 给中标麒麟系统安装Screen
安装ncurses-6.2 下载地址在文章结尾 一路执行亲测可用我们接下来的安装 在root文件夹下 其他小伙伴可以自己定义哦 tar zxvf ncurses-6.2.tar.gz cd ncurses-6.2 mkdir build cd build ../configure --with-shared --without-debug --without-ada --enable-overwrite ma...
2021-11-04 13:16:41 483
原创 小李带你写基于netty的webSocket项目,轻松过压测 源码已提交GitHub---------------------源码注释超详细
总算是破了我的github处,jmeter压测过了,程序没崩用来显示的Chrome崩了。。。Github地址:https://github.com/LikeAngPlease/webSocket具体怎么用的大家看下readme吧,在这里不啰嗦了。讲些有用的这个注释详细的,我感觉没啥可说的了,不懂的私信问我吧。。。package org.ang.service;import io.netty.bootstrap.ServerBootstrap;import io.netty.ch..
2020-07-16 23:45:34 432
原创 小李教你一文搞定JVM参数设置
镇楼类(终端执行):java -XX:+PrintFlagsInitial 表示打印出所有参数选项的默认值 java -XX:+PrintFlagsFinal 表示打印出所有参数选项在运行程序时生效的值通用类:-XX:+PrintGC 使用这个参数,虚拟机启动后,只要遇到GC就会打印日志-XX:+PrintGCDetails 可以查看详细信息,包括各个区的情况-Xms:设置Java程序启动时初始化堆大小-Xmx:设置Java程序能获得最大的堆大小-XX:MaxTenur.
2020-07-13 11:27:28 463
原创 小李教你最简单高效的实现文件压缩功能
这里我们定义一个压缩包元素实体,压缩包名称只是为了业务中传输方便 参数只有一个file 就是你要压缩的文件。public class ZipAllEntity { File file; ZipEntry entity; String zipName; public File getFile() { return file; } public void setFile(File file) { this.file = f.
2020-07-01 10:40:46 4422
原创 数据结构之栈(2020...)
栈的两种实现分类及有缺点1.基于数组的栈通常数组头为栈底数组尾为栈顶2.基于链表的栈链表头为栈顶方便插入和删除两者比较:数组是连续空间所以内存要求会稍微高点,性能方面没有差异。因为栈的本质所以数组的随机访问是没有用的。最大的差别是数组不支持动态扩容,所以一般要设定固定的栈大小。也因为如此,数组的栈不容易出现因为无线扩容导致(JVM的栈)空间不足而引起OOM。看下java源码package java.util;/** * The <code>St...
2020-06-22 18:00:21 91
原创 Java内存区域与内存溢出异常(周志明) -总结
先来了解一下什么是JAVA虚拟机及其大致内存结构什么是程序计数器?程序计数器(Program Counter Register)是一块较小的内存空间,它可以看作是当前线程所执行的字节码的行号指示器。在Java虚拟机的概念模型里 [1] ,字节码解释器工作时就是通过改变这个计数器的值来选取下一条需要执行的字节码指令,它是程序控制流的指示器,分支、循环、跳转、异常处理、线程恢复等基础功能都需要依赖这个计数器来完成由于Java虚拟机的多线程是通过线程轮流切换、分配处理器执行时间的方式来实现的.
2020-06-22 15:11:49 156
原创 如何使用 spring boot h5 编写一个web程序
因为之前朋友需要我就帮他开发了一个 这里基于这个模板给大家讲解一下 小白也可以看懂哦!!首先 pom文件 分享一下 因为我还测试别的东西 大家不需要的jar包可以踢出当然懒鬼就这样用吧!!!灵魂画师有没有?<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-i..
2020-06-19 17:54:55 761
原创 JVM深度学习笔记之类加载器
文章有点枯燥但是每个字都是我亲手码的因为这样我才能更好的掌握这些知识,所以耐心看吧,如果你想学习JVM,而不是当一个初级的搬运工或者CRUD工程师。当我们使用java命令运行某个类的main函数时首先通过类加载器将主类加载到JVM。类加载器的流程图如下:其中loadClass的加载过程有一下几步:加载验证准备 解析初始化 使用 和卸载1.加载在硬盘上查找文件并通过IO获取文件字节码,采用懒加载的形式。即调用才加载。在加载阶段会在内存中生成一个代表该类的String...
2020-06-18 16:18:54 162
原创 利用freemarker操作word
1.准备jar包 <dependency> <groupId>org.freemarker</groupId> <artifactId>freemarker</artifactId> <version>2.3.23</version...
2019-10-08 11:25:34 649
原创 angular2 Echart 整合关于Echart动态加载不叠加的问题
html 在这里通过chartInit方法加 所要使用的echart 对象暴露出来<div [options]="barOption" class="col-sm-10" echarts [loading]="loading" class="demo-chart" (chartInit)="onChartInit($event)"></div&
2018-09-09 09:28:27 560
websocket-1.0-SNAPSHOT.jar
2020-07-16
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人