Java
zhanggang807
这个作者很懒,什么都没留下…
展开
-
Maven pom.xml报警告Provides transitive vulnerable dependency - Intellij IDEA
Provides transitive vulnerable dependency原创 2022-11-04 16:07:17 · 12622 阅读 · 6 评论 -
因安全问题把FastJson JSONObject 换成 Jackson ObjectNode JsonNode
Jackson ObjectNode JsonNode --> FastJson JSONObject原创 2022-07-29 19:59:42 · 2783 阅读 · 0 评论 -
Memory Analyzer Tool on macOS
Memory Analyzer Tool on macOSadd lines blow in /Applications/mat.app/Contents/Info.plist <string>-vm</string> <string>/Library/Java/JavaVirtualMachines/jdk-11.0.5.jdk/Contents/Home/bin/java</string> <string>-data<原创 2022-05-26 01:30:45 · 295 阅读 · 0 评论 -
k8s资源配置过大导致资源不足引起spring初始化问题
环境明两个应用, springbootA springbootBk8s方面, helm charts配置,管理界面 rancher主机,32gb内存,此主机上原生运行一个4G的jvm,另加springbootA springbootB各一个PodspringbootA helm chart 资源配置resources:limits:cpu: 4memory: 8Girequests:cpu: 2memory: 4GispringbootB helm chart 资源配置resour原创 2022-02-25 17:22:40 · 1376 阅读 · 0 评论 -
关于pagehelper的几点
关于pagehelper的几点基本逻辑startpage设置threadlocal里的page对象检查是否需要跳过分页逻辑skip()方法,再检查是否进行count查询进行总数查询(如果有_COUNT的sql则直接执行,没有就手动生成一个mapstatement)把count设置到page实例上,进行分页查询,查到的结果addall到page实例上然后返回给mybatis,最后有个finally方法里清空threadlocal里的page对象最后PageInfo.of(page继承自array原创 2021-01-04 17:54:58 · 305 阅读 · 0 评论 -
IDEA database tools and sql extractors 自定义数据提取器
根据自带的提取脚本,写了两个比较实用的提取器分别为单列 in 条件生成(只处理单列,自动处理是否加引号)驼峰命名的json导出(可单列,可多列)选中相关的提取器后,然后复制或者导出到文件下载地址举个粟子:in 条件生成 为id in (101556, 101557, 101558) create_time in ('2019-07-14 21:50:35', '2019...原创 2019-07-24 17:38:31 · 1822 阅读 · 0 评论 -
使用Janino计算Java表达式
官方介绍Janino是一个超小型,超快的Java编译器。Janino不仅可以将一组源文件编译为一组类文件(如JAVAC),还可以在内存中编译Java表达式,块,类主体或源文件,加载字节码并直接在同一JVM中执行。JANINO与Apache Commons JCI(“Java编译器接口”)和JBoss Rules / Drools集成在一起。JANINO还可用于 静态代码分析 或 代码修改。...原创 2019-06-19 11:02:14 · 3695 阅读 · 2 评论 -
Spring Cloud组件学习概要
Eureka 注册中心去中心化,高可用,CAP中满足AP(与zk不同,满足CP)RESTFUL风格接口,服务端可查看集群信息,http://localhost:8761客化端可通过RESTFUL调用接口,http://localhost:8762/客户端server list缓存Ribbon 负载均衡...原创 2019-05-20 19:26:31 · 194 阅读 · 0 评论 -
Thread.join() 源码全面解析
在指定时间内等待线程终结,0代表一直等待,此实现使用在this.isAlive()条件上的this.wait调用。线程终结后将会调用this.notifyAll(),建议应用程序不要在线程实例上调用wait,notify,notifyAll原创 2019-03-29 15:26:12 · 1206 阅读 · 5 评论 -
内存泄漏分析一般步骤
内存报警之后,先手动运行一下GC,清理无用对象,排除干扰项观察内存增长趋势,如内存快速增长则,dump下内存分析,如果内存缓慢增长,说明泄漏不是很严重,继续观察经过多次上面的1和2 的步骤之后,经过多次GC之后,内存达到报警阈值时,dump下内存备用(也可以直接分析)搁置一段时间重启机器让内存重新分配,然后内存报警之后再运行GC,再进行dump比对两次dump的直方图的差异找出内存泄漏...原创 2019-03-09 10:29:55 · 228 阅读 · 0 评论 -
GC会不会引起线程减少?
会的如果一个应用频繁GC,发生stop world,可能会影响IO线程的正常响应,进而导致502问题,IO线程业务中断销毁进而导致线程数据减少这是个分析问题的了思路具体没有实测,只是记录一下思路。...原创 2019-03-05 18:30:29 · 2525 阅读 · 0 评论 -
Java JVM 必备线程(JDK8默认情况下)
JVM必备五线程main 主线程不用多说Finalizer Finalizer类相关,最后一次救赎机会Attach Listener Attach API,提供一种JVM进程间通信的能力Signal Dispatcher 负责分发内部事件Reference Handler 处理除强引用外的弱软虚引用垃圾回收问题RMI线程 远程调用,分布式的基础RMI TCP...原创 2019-02-18 15:53:26 · 1087 阅读 · 0 评论 -
jvm常用管理命令整理
看对象数量 jmap -histo 【pid】>jmaphisto.log jmap -F -histo 【pid】>jmaphisto.log 服务已死加 -F jmap -histo:live 【pid】>jmaphisto.log 只看存活(会触发fullgc再导出)看内存Dump jmap -dump:format=b,file=jmapdump.hprof 【pid】原创 2018-04-24 09:57:26 · 320 阅读 · 0 评论 -
Java线程相关的一些面试问题
基础知识什么是线程?线程和进程的关系。线程创建与运行。创建一个线程有那几种方式?有何区别?线程通知与等待,多线程同步的基础设施。线程的虚假唤醒,以及如何避免。等待线程执行终止的 join 方法。想让主线程在子线程执行完毕后在做一点事情?让线程睡眠的 sleep 方法,sleep的线程会释放持有的锁?线程中断。中断一个线程,被中断的线程会自己终止?理解线程上下文切换。线程多了一定...原创 2018-04-08 09:55:54 · 193 阅读 · 0 评论 -
书单
Java程序设计与问题求解 第7版 世界著名计算机教材精选 这个要看Java编程风格(英汉对照) [The Elements lf java Style] Java8实战 计算机与互联网 书籍java语言精粹Java解惑 这个要看原创 2017-06-01 10:33:19 · 347 阅读 · 0 评论 -
破坏单例模式
破坏单例模式的几种方法原创 2016-04-21 22:35:33 · 477 阅读 · 0 评论 -
G1 垃圾收集器入门
G1 垃圾收集器CMS垃圾收集器翻译 2015-05-26 16:53:07 · 8196 阅读 · 3 评论 -
理解G1垃圾收集器日志
理解G1垃圾收集器日志发表这个文章的目的是为了解释使用了G1垃圾收集器的一些跟踪和诊断选项而生成出来的垃圾收集日志的意义。我们来看一下使用一个提供最详细的信息级别的生产环境选项PrintGCDetails生成的输出日志。同时,我们也会看一下启用的两个诊断选项 -XX:+UnlockDiagnosticVMOptions 、 -XX:G1PrintRegionLivenessInfo 的输出翻译 2015-05-27 16:57:55 · 8281 阅读 · 0 评论 -
JNI开发入门教程之sayHello(Xubuntu Linux OpenJDK7 Eclipse GCC)
demo原创 2014-11-30 15:54:15 · 591 阅读 · 0 评论