hengyunabc 最近的时间轴更新
hengyunabc

hengyunabc

V2EX 第 89803 号会员,加入于 2015-01-04 10:15:44 +08:00
横云断岭, Spring Boot, APM, Arthas, Dubbo
微信公众号:横云断岭的专栏
Arthas 和 GC 的那点事:动态日志,强制 GC
Java  •  hengyunabc  •  2021-07-31 19:27:22 PM  •  最后回复来自 wdlth
1
Arthas 3.5.1 发布:神级特性!内存搜索对象
  •  2   
    程序员  •  hengyunabc  •  2021-05-18 14:20:58 PM  •  最后回复来自 v2orz
    12
    Arthas 3.5.0 版本发布,支持反编译打印行号和统一鉴权
    Java  •  hengyunabc  •  2021-03-17 12:48:58 PM  •  最后回复来自 hengyunabc
    3
    阿里云-云原生-中间件招聘(深圳/杭州)
    酷工作  •  hengyunabc  •  2020-12-13 15:04:32 PM  •  最后回复来自 hengyunabc
    5
    阿里巴巴云原生/中间件技术团队招聘
    酷工作  •  hengyunabc  •  2022-04-14 09:18:41 AM  •  最后回复来自 ufan0
    2
    阿里巴巴 Arthas 3.1.5 版本支持火焰图,快速定位应用热点
    推广  •  hengyunabc  •  2020-03-14 10:25:24 AM  •  最后回复来自 kaiser1992
    7
    Arthas 实践:是哪个 Controller 处理了请求?
    Java  •  hengyunabc  •  2019-06-05 11:41:39 AM  •  最后回复来自 fuchaofather
    1
    hengyunabc 最近回复了
    183 天前
    回复了 diagnostics 创建的主题 Java 有多少人还在用 Maven 构建项目?
    工程大了,单测多了必然会变慢,这个没啥办法。

    可以考虑把单测并发执行,但这个对代码有一点要求。

    还有一种办法是把集成测试和单测分开。单测用 surefire 插件,集成测试用 maven-failsafe-plugin 插件。
    183 天前
    回复了 diagnostics 创建的主题 Java 有多少人还在用 Maven 构建项目?
    看起来 LZ 是想要在不同的分支里随意切换,不同的分支里,可能有不同的 maven module 。

    1. 切换失败,这个是 IDEA 的锅,这个和 maven 本身没啥关系。试想一个工程,不断的切换分支,不断的增加/删除 maven module ,这个是一个很复杂的问题,IDEA 也不可能做到完美。仔细想想里面各种加速的缓存,你要是 IDEA 的开发,可能也会觉得非常的头疼。
    2. IDEA 就是有可能出现各种问题,所以不时可以重启一下。或者多数情况下,用命令行执行 `mvn compile` 。这样子能保证大部分情况下是正常的。
    3. 可以用 mvnd : https://github.com/apache/maven-mvnd ,这个可以大大加速 maven 的编译
    4. 如果是要不断切换分支,我建议是直接两个仓库,一个仓库一个分支,这样子不会有问题。还有一种办法是用 git worktree ,但这个用起来比较麻烦。
    5. 在 maven 3.5.0 之后,直接支持了 ${revision} 的概念,不需要配置任何插件,直接全部 pom.xml ,只有一个地方控制版本号。https://maven.apache.org/maven-ci-friendly.html
    236 天前
    回复了 looo 创建的主题 Java 开发 Java 项目 Gradle 一定比 Maven 好么?
    所有的开源项目都要看背后的商业公司。gradle 是基于 groovy 开发的,groovy 已经被证明是一个没啥前途的项目。gradle 出来很多年使用率都一般,后面被 Android 出来拉了一把。因为 Android 的打包太复杂了,需要 gralde 才能比较好配置。
    后面 gradle 支持 kotlin 配置,又拉了一把。
    291 天前
    回复了 wozhidaole 创建的主题 Java 关于 Spring 循环依赖的问题
    升个高版本点的 spring boot 应该可以解决,它会保存依赖 jar 的顺序,避免不同环境加载 jar 顺序不一致。
    2023-10-08 18:41:23 +08:00
    回复了 Dlin 创建的主题 Java 关于 Java module 的讨论
    java module 不太可能被太规模应用在业务系统里。它设计之初就是为了 jdk 本身拆分的,它也比较好的完成了这个任务。后面出现的 jlink, jpackage 尽管好像没有太规模应用起来,但应用可以很轻松打包出一个自己的轻量化 jdk 了。

    比如这个: https://github.com/hengyunabc/lite-jdk

    为了兼容,不同版本的 jdk 对于 unnamed module 的访问控制不一样,是慢慢收紧的。jdk 9/11 ,应该是 unnamed module 还可以反射访问 jdk 内部的模块。只会打印出提示信息。

    在 jdk 17 之后,反射访问 jdk 内部模块是直接非法的。

    这个工具可以运行时动态打开 jdk 的 module ,可以减少一些 export/open 的 jvm 参数配置: https://github.com/hengyunabc/jpms-tools
    spring boot 其实自带一套 service 机制,jar 本身就是一个脚本,打包时配置下就好: https://docs.spring.io/spring-boot/docs/current/reference/htmlsingle/#deployment.installing

    原理: https://hengyun.tech/spring-boot-executable-jar/
    😂,开发者来回答下这个。
    本质上是 Arthas 的能力太强,理论上你可以随意暴力搜索对象,随意函数调用。这把锋利的工具产生的后果取决于使用的人。
    上面提到的 issue 有很清楚的说明: https://github.com/alibaba/arthas/issues/44#issuecomment-569007710
    我来说下根本原因吧,msgpack 是日本公司发明的,作者一并写了很多的库,比如 Fluentd ,但人力终有限,msgpack 的多语言实现也一般。当年 redis 作者推过一把。
    本质上大部分后来的开源软件都要有商业公司背书,没有金钱的支持是玩不转的。
    2022-05-18 11:18:25 +08:00
    回复了 Dlin 创建的主题 程序员 IDEA 能不能在 DEBUG 模式下手动触发某个方法
    可以试下 arthas vmtool ,https://arthas.aliyun.com/doc/vmtool
    2022-03-04 23:06:41 +08:00
    回复了 Hug125 创建的主题 Java 🆘 江湖救急 被 CVE-2022-22947 攻击了
    spring boot 最好是把 endpoint 配置为单独的端口,不对外暴露。官方在 actuator 上总是各种打补丁,独立端口才是最优解。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2807 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 46ms · UTC 03:06 · PVG 11:06 · LAX 19:06 · JFK 22:06
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.