随笔分类 -  Java基础/JVM

摘要:问题复现 最近写了一个groovy替换程序增量流水线脚本(会Java也能看懂),示意脚本如下: //获取文件列表方法 def listFiles(folder) { def output = sh(script: "ls ${folder}", returnStdout: true).trim() 阅读全文
posted @ 2024-11-19 11:16 东北小狐狸 阅读(36) 评论(0) 推荐(0) 编辑
摘要:问题报错 今天上线了我开发的一个OAuth2单点登录客户端的实现,在测试系统验证没问题,到生产环境由于单点登录服务端HTTPS协议,报错如下: I/O error on POST request for "xxx.xxx.xxx.xxx:8080": sun.security.validator.V 阅读全文
posted @ 2021-09-28 17:28 东北小狐狸 阅读(26015) 评论(0) 推荐(1) 编辑
摘要:写作目标 记录常见的使用javac手动编译Java源码和java手动执行字节码的命令,一方面用于应对 Maven 和 Gradle 暂时无法使用的情况,临时生成class文件(使用自己的jar包);另一方面了解下构建工具做了哪些工作。 作者水平有限,行文中如有错误,希望评论告知,自当尽快修复。 一、 阅读全文
posted @ 2021-05-27 18:41 东北小狐狸 阅读(1604) 评论(0) 推荐(2) 编辑
摘要:楔子 说起读开源项目源码,很多朋友觉得高大上、大佬牛逼,云云~ 挡在很多人面前的不是源码怎么读,而是不知道如何导入源码到开发工具以及如何调试源码。 本文将以 spring-cloud-gateway 源码导入一个简单的 SpringBoot 项目中举例,目的就是给读者一个导入开源项目源码并调试的简单 阅读全文
posted @ 2021-04-15 01:27 东北小狐狸 阅读(802) 评论(0) 推荐(1) 编辑
摘要:写作目标 Java程序运行过程中,难免会出现 OOM,往往是在 JVM 启动参数中添加出现 OOM 时输出堆 dump(又名:堆转储、堆快照)的参数,就在昨天下午我司生产环境出现 OOM,生成的堆 dump 有 16 个G,压缩后传回本地,想分析时犯了难——本地开发机 16G 内存,用 MAT 打不 阅读全文
posted @ 2021-02-18 10:00 东北小狐狸 阅读(3791) 评论(0) 推荐(0) 编辑
摘要:前言 上篇文章已经介绍了JVM的垃圾回收算法与收集器的实现,垃圾回收算法的基石是引用可达性分析,引用的概念就显得尤为重要,本文就再谈一谈引用。 一、引用是什么? Java中的引用相当于C语言中的指针,通过指针/引用可以定位到另一块内存地址中保存的数据,两者的不同点在于C语言中的指针分配的内存需要程序 阅读全文
posted @ 2021-02-18 09:40 东北小狐狸 阅读(107) 评论(0) 推荐(0) 编辑
摘要:前言 本文是笔者JVM系列的第二篇文章,尽我所能将Java堆的分代、垃圾收集算法与垃圾收集器讲出来,如果阅读过程中遇到突然出现的术语,请先参考【七、术语参考】,如文中有错误或表述不准确的地方,感谢评论指出。 一、垃圾回收概念 对象分配内存在堆上,当对象不再使用,它们就变成了垃圾,需要被清理以释放内存 阅读全文
posted @ 2021-02-18 09:37 东北小狐狸 阅读(481) 评论(0) 推荐(0) 编辑
摘要:前言 作为一名 Java 语言的使用者,学习 JVM 有助于解决程序运行过程中出现的问题、写出性能更高的代码。 可以说:学好 JVM 是成为中高级 Java 工程师的必经之路。 有感于从未整理归纳 JVM 相关的知识,所以打算写一系列 JVM 相关的文章,以加深巩固习得成果,为后续遗忘提供快速找回之 阅读全文
posted @ 2021-02-18 09:32 东北小狐狸 阅读(372) 评论(0) 推荐(0) 编辑
摘要:写在前边 JVM调优更多是针对不同应用类型及目标进行的调整,往往有很大的实验成份,通过实验来针对当前应用设置相对合适的参数,提高应用程序的性能与稳定性 最近在复习JVM,Parallel Scavenage GC收集器是一个新生代、复制算法、并行多线程收集器,主要目标是控制吞吐量与GC的停顿时间。 阅读全文
posted @ 2020-11-29 15:23 东北小狐狸 阅读(10609) 评论(0) 推荐(3) 编辑
摘要:0 写在前边 今天以 “TheadLocal 为什么会导致内存泄漏” 为题与朋友们讨论了一波,引出了一些原理性的内容,本文就这个问题作答,并扩展相关的知识点 1 ThreadLocal 和 ThreadLocalMap 是什么? 简单来说,ThreadLocal 是一种操作与线程绑定的共享对象的工具 阅读全文
posted @ 2020-08-05 16:42 东北小狐狸 阅读(2038) 评论(0) 推荐(1) 编辑
摘要:JVM参数之 XX:SurvivorRatio 最近面试过程中遇到一些问JVM参数的,本着没用过去学习的办法看了些博客写得不准确,参考oracle的文档记录一下,争取每天记录一点知识点 XX:SurvivorRatio=6 ,设置的是Eden区与每一个Survivor区的比值,可以反推出占新生代的比 阅读全文
posted @ 2019-05-09 22:31 东北小狐狸 阅读(10565) 评论(1) 推荐(0) 编辑
摘要:之前看过静态导入这一块,在编程思想里,但是记不清了,今天搜了下,看到有一个博文写的不错,所以留做备注吧 总结: import static xxx.xxx 和普通导入的区别在于,普通导入是需要通过"类名.方法()“的形式来使用的,例Clazz.method(),而静态导入的所有静态成员都在当前类可见 阅读全文
posted @ 2017-12-14 21:59 东北小狐狸 阅读(189) 评论(0) 推荐(0) 编辑
摘要:看编程思想有点时间了,看到了些在马士兵老师没有讲过的部分,所以打算记录一下 内部类的初始化: .内部类的初始化和外部类的初始化略有不同,可以使用 外部类对象.new 内部类对象 创建内部类对象 内部类对象返回外部类对象的引用: .使用 .this 在上边代码的基础上修改代码 问我为啥注释都英文,因为 阅读全文
posted @ 2017-12-10 20:32 东北小狐狸 阅读(1236) 评论(0) 推荐(0) 编辑
摘要:《Java编程思想》中有提到,Java的垃圾回收器并不是那么靠谱,垃圾回收会占用很大的资源开销,垃圾回收器很懒,当变量和对象不再被引用、脱离作用域的时候,垃圾回收器会不定时的进行垃圾回收,也就是说,当内存资源紧张的时候,垃圾回收器才会以最快速度主动去回收资源释放内存,其他时候可能会回收也可能不会。 阅读全文
posted @ 2017-11-16 13:24 东北小狐狸 阅读(527) 评论(0) 推荐(0) 编辑