V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  int0x03  ›  全部回复第 1 页 / 共 1 页
回复总数  11
理论上当你点击的时候, 它使用 MAC 的 service: `/System/Library/CoreServices/JavaLauncher.app/Contents/MacOS/JavaLauncher` 来读取对应的 jar 文件, 然后在拼成命令 `xxx/jdk/bin/java -jar yyy.jar` 来运行.

没有任何报错或者弹框吗?
2 天前
回复了 4ra1n 创建的主题 Java 有没有什么思路对 Fat Jar 进行瘦身
如果是在程序稳定一段时间后查看所有被加载的类, 可以尝试下面的方法:

```bash
# 找到对应的 Java 进程
$ xxx/jdk/bin/jps
77675 MyApp

# 查看 jcmd 子命令, 根据 JDK 版本, 可能看到不同的子命令
$ xxx/jdk/bin/jcmd 77675 help
GC.class_histogram
VM.class_hierarchy
VM.classes

# 查看加载的类
$ xxx/jdk/bin/jcmd 77675 GC.class_histogram

77675:
num #instances #bytes class name (module)
-------------------------------------------------------
1: 2680074 131859776 [B ([email protected])
2: 2566521 61596504 java.lang.String ([email protected])
3: 1194171 47766840 java.util.TreeMap$Entry ([email protected])
4: 348145 29392240 [Ljava.lang.Object; ([email protected])
5: 139184 19783688 [I ([email protected])
6: 59540 18054840 [J ([email protected])
7: 322735 10327520 java.util.HashMap$Node ([email protected])

# 或者上面的结果保存到 csv, 然后做数据处理
```
2 天前
回复了 GayGayUp 创建的主题 Java 有什么办法在 Java 实现插件化?
如果问题的核心在如何管理和维护这么多服务.
简单一点, 就使用 docker 桌面, dashboard 上面可以停止或启动某个搜集服务.
复杂一点, 就自己搭建一个 kubernetes 集群.

上面提到的 Java 提供的 SPI 本身的设计并不直接支持动态加载和卸载服务提供者,因为它的实现基于静态的 META-INF/services 配置文件和 ServiceLoader 类的设计,这些都在应用程序启动时被加载,并且在运行时不提供动态更新的机制。需要借助于 OSGI 或者自定义类加载器. 然而现实当中看到过很多没处理好加载/卸载的例子, 导致内存泄漏.
321 天前
回复了 sun0225SUN 创建的主题 旅行 3700 字, 80 张图,西藏游记终于写好了!
已经关注
2023-07-09 15:17:03 +08:00
回复了 kaixinwan 创建的主题 奇思妙想 上线了一款海外的 AI 摄影/头像产品, 10s 左右出图
2023-07-09 15:13:16 +08:00
回复了 kaixinwan 创建的主题 奇思妙想 上线了一款海外的 AI 摄影/头像产品, 10s 左右出图
女的那排, Gym Style 和 Street Style 是不是混了? 确定这是通过 prompt 生成的? 不是 google 根据不同的电影挖出来的. 技术真赞.
2023-02-07 20:36:51 +08:00
回复了 Wenbobobo 创建的主题 分享发现 zlibrary 可以领个人三级域名了
mark 回家领, 上次公司内上这个网站, 被网管抓出来了
2022-10-21 14:41:46 +08:00
回复了 breadykidliu 创建的主题 程序员 为什么公司不允许 ssh 链接 gitlab
@SteveRogers 确实.

美企大厂也只能 http. 并且公司定期 google 外网上包含公司标签的内容. 每年审计出好几个好多人把公司代码传到 github 的例子.
2022-10-05 13:25:37 +08:00
回复了 lixyz 创建的主题 问与答 RMB 求助 Java 支持 WEBP
读 jar 出错, 有时候是 jar 包损坏, 可以删除 这个文件夹: D:\maven-repo\org\sejda\imageio\ 然后重新 mvn clean install 再试试
2022-09-21 13:21:39 +08:00
回复了 ll5270 创建的主题 Android 2022 年了,阻碍你离开 Android 的原因是?
没钱
2022-09-21 08:59:59 +08:00
回复了 badboy17 创建的主题 Java jvm 堆大小,蚂蚁面试
对于这个问题, 很有可能是问关于 压缩指针 的问题.
对于 32 位系统, 理论最多 4G.
对于 64 位系统, 理论值非常大, 指针宽度是 64 位, 但是这样会导致系统消耗非常多内存, 我们的实际内存又不能完全用到 64 位内存.
Java 都是字节对齐的, 所以引用指针的最后 3 位一定是 000, 那么这 3 位没用到. 所以对于一个 32 位指针可以指明的空间, 实际我们只需要 29 位, 因为最后 3 位都是 0. 那么同理, 如果我们想使用 32 位指针, 并且最后 3 位也上, 那么其实可以把内存扩展到 32G (4 -> 8 -> 16 -> 32), (后边 3 位也补 0). 所以可以做到 虽然我们使用了 32G 内存, 这些内存指针可以在 32 位里保存. 压缩指针就是在使用内存 32G 以下时候, 系统的引用指针仍然使用 32 位. 这样系统的效率会更好.

实际的测试是大概 28G 以下, 压缩指针的效率远高于 非压缩指针(64 位).
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2622 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 23ms · UTC 15:18 · PVG 23:18 · LAX 07:18 · JFK 10:18
Developed with CodeLauncher
♥ Do have faith in what you're doing.