自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(22)
  • 收藏
  • 关注

原创 堆内存分配及回收策略(Minor、Major、Full GC)

目录目录对象内存分配与回收策略对象何时进入新生代、老年代三种GC介绍MinorGCMajor GC/Full GC:图示GC过程涉及JVM参数介绍目录对象内存分配与回收策略对象的内存分配,往大方向讲,就是在堆上分配〔但也可能经过JIT编译后被拆散为标量类型并间接地栈上分配),对象主要分配在新生代的Eden区上,如果启动了本地线程分配缓冲,将按线程优先在TLAB上分配。少数情况下也可能会直接分配在老年代中。对象优先分配在Eden区,当Eden...

2021-09-26 17:41:38 519

原创 JVM故障处理工具

1、jps作用:显示主类的功能格式:jps [ options ] [ hostid ] 示例:2、jstat作用:用于监视虚拟机各种运行状态信息的命令行工具。格式:jstat [ option vmid [interval[s|ms] [count]] ] 参数interval和count代表查询间隔和次数,如果省略这2个参数,说明只查询一次option如下表:示例:jstat -gc 12538 1000...

2021-09-26 17:00:30 133

原创 java内存区域与内存溢出异常

参考资料:深入理解Java虚拟机:JVM高级特性与最佳实践(第3版)一、运行时数据区1.1、程序计数器程序计数器(Program Counter Register)是一块较小的内存空间,它可以看作是当前线程所执行的字节码的行号指示器。在Java虚拟机的概念模型里,字节码解释器工作时就是通过改变这个计数器的值来选取下一条需要执行的字节码指令,它是程序控制流的指示器,分支、循环、跳转、异常处理、线程恢复等基础功能都需要依赖这个计数器来完成。由于Java...

2021-07-15 10:54:40 152

原创 你会使用Gson实现序列化以及反序列化吗?

如何使用Gson,需要注意些什么?1、如何创建1、如何创建使用 new 关键字直接创建:Gson gson = new Gson()由 GsonBuilder 对象构建:Gson gson = new GsonBuilder().create()两种创建方式在进行序列化与反序列操作时行为都是一样的,但GsonBuilder创建的Gson允许进行额外的行为定制。GsonBuilder设置Column 1Column 2setVersion(double)指明版本号时有效,设置

2020-10-30 15:18:57 697

原创 Http之HttpURLConnection-POST发送请求(multipart/form-data)

Http之HttpURLConnection-POST发送文件请求概述常见的Content-Type类型POST请求POST请求(文件+参数)概述本文章只编写http使用HttpURLConnection发送post请求,包括两方面1、普通post请求()2、带有参数和文件的post请求常见的Content-Type类型1、application/x-www-form-urlencoded最常见的 POST 提交数据的方式,原生Form表单,默认为application/x-www-form-

2020-10-22 09:06:36 14504 3

原创 自定义切面基于注解@Aspect及语法详解

#mermaid-svg-J2hMQ23HEIwOJfqY .label{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);fill:#333;color:#333}#mermaid-svg-J2hMQ23HEIwOJfqY .label text{fill:#333}#mermaid-svg-J2hMQ23HEIwOJfqY .node rect,#mermaid-svg-J2hMQ23HEI

2020-10-20 16:59:28 2082

原创 什么是浅拷贝?如何使用深拷贝

浅拷贝、深拷贝讲述引用类型基本类型值传递引用传递讲述在学习浅拷贝和深拷贝前,我们需要先了解什么是引用类型和基本类型。引用类型理解:引用类型的变量保存引用值,所谓的引用值就是对象所在内存空间的“首地址值”,通过对这个引用值来操作对象。常见的引用类型:类类型,接口类型、数组(eg:char[])、String类基本类型理解:基本类型的变量保存原始值,所以变量就是数据本身。常见的基本类型:byte、short、int、long、char、float、double、Boolean。值传递在方法的

2020-10-20 15:12:02 216

原创 JVM基本参数详解

JVM1、启动参数分类2、参数配置详解2.1 堆大小配置2.2 收集器选择2.2.1吞吐量优先的并行收集器2.2.1响应时间优先的并发收集器2.3辅助配置1、启动参数分类标准解释方法标准参数(-)所有的JVM实现都必须实现这些参数的功能,而且向后兼容cmd中输入”java -help”或者”java -?”可查看非标准参数(-X)默认jvm实现这些参数的功能,但是并不保证所有jvm实现都满足,且不保证向后兼容”java -X”可以输出非标准参数列表非稳定参数(-

2020-10-20 15:08:42 278

原创 Mysql SQL模式介绍、设置、查看

Mysql SQL模式SQL模式SQL模式MySQL 服务器可以在不同的 SQL 模式下运行,并且可以针对不同的客户端以不同的方式应用这些模式,具体取决于 sql_mode 系统变量的值。DBA 可以设置全局SQL模式以匹配站点服务器操作要求,并且每个应用程序可以将其会话 SQL 模式设置为其自己的要求。模式会影响 MySQL 支持的 SQL 语法以及它执行的 数据验证检查,这使得在不同环境中使用MySQL以及将MySQL与其他数据库服务器一起使用变得更加容易。更多详情请查阅官网:Server SQL

2020-08-18 17:07:14 1318

原创 return在try-catch-finally不同位置,返回值影响

return在try-catch-finally不同位置,返回值影响return语句不在finally中finally中有return语句finally中有异常抛出return语句不在finally中在catch或try中有renturn语句,则return语句在finally语句执行结束之后才执行,但finally并不能改变返回值,如: public static Integer test1() { int ret = 1; try {

2020-06-19 11:36:50 269

原创 linux安装redis服务器

1、下载安装包 wget http://download.redis.io/releases/redis-5.0.7.tar.gz自行官网下载:https://redis.io/download2、自己选择到解压目录,解压安装包tar -xvf redis-5.0.7.tar.gz3、安装1、cd redis-5.0.72、make cd src | make in...

2019-12-30 15:08:04 241

原创 40秒百万级数据查询和导出(重写迭代器Iterator/并行写入Excel)

前提 最近研究了在40秒左右导出百万数据,并防止内存溢出,导出的大致步骤:1、查询出数据 2、写入excel 3、下载其中下载与带宽有关,程序上就不做优化,主要在1、2两点上下功夫测试环境:测试数据106万条左右,字段11个查询数据方案一:采用jpa方式查询(即Hibernate),查询时间大概50秒左右。 舍弃 耗时原因:Hibernat...

2019-12-10 17:43:47 881

原创 集合初始大小及扩容算法

在项目编码时,创建集合的时候,尽量在创建时给定大小,节约资源?你知道为什么吗?有啥好处呢?下面我会就ArrayList、LinkedList、HashMap、HashSet一一介绍。(注:1.8jdk)一、ArrayList创建ArrayList的构造函数:ArrayList(); 不指定大小,默认为0。 ArrayList(int); ArrayList(Collection&l...

2019-10-17 16:21:28 995 1

原创 java语法糖你了解吗?

定义 语法糖(Syntactic Sugar),也称糖衣语法,指在计算机语言中添加的某种语法,这种语法对语言本身功能来说没有什么影响,只是为了方便程序员的开发,提高开发效率。说白了,语法糖就是对现有语法的一个封装。Java其实是一个低糖语言。 解语法糖:语法糖的存在主要是方便开发人员使用。但其实,Java虚拟机并不支持这些语法糖。这些语法糖在编译阶段就会被还原成简...

2019-08-28 09:42:52 111

翻译 ArrayList和LinkedList源码分析

参考书籍:《java编程的逻辑》ArrayList基本用法和原理方法:add、remove、isEmpty、size、get、indexOf(查找元素,有则返回索引位置,否则返回-1)、contains、set... 原理:有一个内部类elementData和一个整数size;public的内部操作都是对这两个进行操作。ArrayList是怎样动态调整容量的呢?看看下面的add方法...

2019-07-25 17:43:28 102

原创 注解缓存@Cacheable、CachePut、CacheEvict、Caching使用及介绍

本章主要介绍:Cacheable、CachePut、CacheEvict、Caching的使用,以及相关参数介绍。@Cacheable@Cacheable是用来声明方法是可缓存的。将结果存储到缓存中以便后续使用相同参数调用时不需执行实际的方法,直接从缓存中取值。放在类上,说明该类下所有方法都支持缓存。主要参数如下: 参数名称 描述 事...

2019-07-25 16:58:19 1177

原创 spEL表达式使用

spEL表达式SpEL(Spring Expression Language)是一种表达式语言,是一种可以与一个基于spring的应用程序中的运行时对象交互的东西;一种简化开发的表达式,通过使用表达式来简化开发,减少一些逻辑、配置的编写。 用法 SpEL有三种用法,一种是在注解@Value中;一种是XML配置;最后一种是在代码块中使用Expression。1、注解@Valu...

2019-07-24 13:36:55 1609

原创 quartz随tomcat启动而启动之Demo

本章描述的是定时任务(quartz)随服务器(tomcat)启动而启动的例子。1、web.xml的配置<servlet> <servlet-name>QuartzInitializer</servlet-name> <servlet-class>org.quartz.ee.servlet.QuartzInitializerSer...

2019-07-23 15:49:50 375

原创 Swagger2-Api与Validated基本用法

一、Swagger2-Api搭建swagger网址:https://blog.csdn.net/u013985664/article/details/80009274常用注解-@Api()用于类;表示标识这个类是swagger的资源-@ApiOperation()用于方法;表示一个http请求的操作-@ApiParam()用于方法,参数,字段说明;表示对参数的添加元数据(...

2019-07-23 15:46:07 2088

转载 Java ConcurrentModificationException异常原因和解决方法

在Vector、ArrayList在迭代的时候如果同时对其进行修改就会抛出java.util.ConcurrentModificationException异常。Vector、ArrayList都是继承父类AbstractList,下面以ArrayList为例:一、出现ConcurrentModificationException异常实例先看下面这段代码:public sta...

2019-05-07 11:34:54 345

原创 数据库设计规范总结

此文章是自己阅读阿里java开发手册、查看网上资源以及自己实际项目下编写表名统一使用t_开头,字体全部使用小写,多单词间使用下划线“_”分隔,不超过32个字符。表名加上中文注释! 字段规则为‘驼峰命名法’,应该和Entity字段对应,不超过32个字符,禁止使用无关单词、汉语拼音!字段必须加上中文注释! 必须建主键,若无特殊说明,id通常为自增主键。 统一使用InnDB存储引擎。 字符...

2019-04-04 14:20:21 123

原创 js获取指定月份的天数-1月31日时出现问题的解决方法

今天写代码的时候发现在当前时间是2019年1月31日时,获取指定月份天数时采用:let date =new Date();date.setFullYear(2019);date.setMonth(1);date.setDate(0);用date.getDate()获取的天数是28。研究发现,发现date.setMonth(1)时,当前的天数是31,设置成2月,则日期自动变成3月的前几号,再s...

2019-01-31 14:14:28 1855

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除