java
文章平均质量分 77
维之
这个作者很懒,什么都没留下…
展开
-
JVM学习(三) 性能检测工具-JDK命令行工具
JDK 常用命令jps 虚拟机进程状况工具命令格式:jps [options] [hostid] options选项参数 hostid为RMI表中注册主机名主要选项: -q 只输出LVMID(本地虚拟机唯一ID),省略主类的名称 -m 输出虚拟机进程启动时传递给主类main() 函数的参数 -l 输出主类的全名,如果进程执行的时Jar 包,输出Jar 路径 -v 输出虚拟机进程启动时JVM参数示例:...原创 2021-01-22 18:13:18 · 238 阅读 · 0 评论 -
JVM学习(二) 垃圾收集器
内容来源于《深入理解Java虚拟机》-周志明Serial收集器单线程进行垃圾收集工作,使用复制算法。而且在工作时必须暂停其他所有工作线程,直到收集结束。适用:运行在Client模式下的虚拟机启用:-XX:+UseSerialGC运行机制:新老代搭配 Serial / Serial Old收集器,新生代采用复制算法,暂停所有用户线程;老年代采用标记-整理算法,暂停所有用户线程。ParNew收集器是Serial收集器的多线程版。适用:新生代垃圾收集...原创 2021-01-21 18:24:16 · 762 阅读 · 0 评论 -
JVM学习(一) 垃圾收集算法
内容来源于《深入理解Java虚拟机》-周志明判断对象存活算法1.引用计数算法给对象添加一个引用计数器,每当有一个地方引用它时,计数器值加1;当引用失效时,计数器减1;任何时刻计数器为0的对象就是不可能在被使用的。优点:实现简单,判断效率很高缺点:很难解决对象之间循环引用的问题2.可达性分析算法GC Roots 的对象作为起点,向下搜索,搜索走过的路径成为引用链,当一个对象到 GC Roots 没有任何引用链相连时,则证明此对象不可用。可作为GC Roots的对象包括:·原创 2021-01-21 18:15:43 · 112 阅读 · 0 评论 -
Jackson 序列化失败问题-oracle数据返回类型找不到对应的Serializer
Jackson在序列化List<Map>的类型数据时,由于未指定Map中的数据类型,因此,序列化时会自定匹配相应的数据类型,如果找不到相应的Serializer,就会序列化时出现异常。Caused by: com.fasterxml.jackson.databind.exc.InvalidDefinitionException: Direct self-reference leading to cycle (through reference chain: com.foresee.sdk.cl原创 2021-01-21 18:02:00 · 1654 阅读 · 0 评论 -
Request请求体重新封装,解决请求体只能获取一次的问题
Request请求体重新封装,解决请求体只能获取一次的问题问题解决方案定义一个ServletInputStreamWrapper定义一个过滤器,并对request进行包装问题在mvc架构中,经常会对接口进行拦截做一些权限校验,常用做法就是加入拦截器或过滤器,其中会提前获取post请求体,获取之后,controller方法上的参数就无法再获取的问题。解决方案定义一个ServletInputStreamWrapperServletInputStreamWrapper 是为了重新将请求体包装到HttpS原创 2020-11-09 10:07:44 · 1090 阅读 · 0 评论 -
mybatis-plus代码生成maven插件
为了在项目中快捷方便的代码生成,将mybatis-plus-generator封装为了一个maven的插件mybatis-plus-generator-maven-plugin,在要使用的项目pom文件引入该插件,执行mvn命令,即可直接生成代码到项目中,生成基于mybatis-plus的mapper、service、controller三层结构,包括entity实体类和mapper.xml文件...原创 2019-11-15 15:37:21 · 5548 阅读 · 0 评论 -
Java设计模式:静态代理、JDK动态代理和cglib动态代理
静态代理、JDK动态代理和cglib动态代理/** * 静态代理案例:增强猫(Cat的代理类) * 利用装饰者模式 * 要求:1.委托类、代理类必须实现共同的接口 2.代理类需要获得委托类的对象的引用 * * @author weiller * @version 1.0,2016-11-27 14:11:36 */public class StaticProxyDemo impl...原创 2019-09-17 15:15:59 · 362 阅读 · 0 评论 -
利用自定义注解,统计方法执行时间
项目中需要统计某些方法的执行时间,最简易的方式是方法执行前记录时间戳startTime,在方法结束前,用时间戳endTime-startTime得出该方法耗时。但是为了避免无代码侵入并实现通用,于是定义一个注解,如果要统计哪个方法,只需在方法上写上注解即可,通过注解可以获取到方法的参数、方法名、返回值等等信息。下面是一个简单的时间统计实现:1.定义一个注解TimeConsume该注解有...原创 2019-09-12 17:17:01 · 3825 阅读 · 0 评论 -
HTML导出pdf或图片,支持模拟跳过登陆验证
项目经常用到把当前页面导出为pdf,或者生成某个页面或部分的快照。如果是简单的页面快照,不没有太多的渲染,可以用html2canvas.min.js导出图片或者html2pdf.bundle.min.js导出为pdf,仅仅在前端就可以完成。但是复杂的页面,以上的导出效果不好,质量也不高。因此我采用PhantomJS,用后台生成pdf、png等进行导出。1.PhantomJS简介Phantom...原创 2019-09-11 17:22:14 · 1167 阅读 · 1 评论