morgan1freeman

morgan1freeman

V2EX 第 582092 号会员,加入于 2022-05-19 08:42:51 +08:00
今日活跃度排名 643
morgan1freeman 最近回复了
17 小时 40 分钟前
回复了 shmilypeter 创建的主题 生活 分享下自己蜂鸟众包的经历,有的选还是不要去送外卖
@hfJ433 都是被困在算法里面,而且没有工会,只能疯狂内卷
20 小时 36 分钟前
回复了 miaeLKK 创建的主题 职场话题 为什么同薪,同样都是外包,有的就面试问的那么深?
@miaeLKK #12 另外说一句,懂这么多也没用,照旧也是 CRUD ,这是市场决定的,不是个人能力决定的,欧美的程序员 大多在公司也是 CRUD ,业余做一做自己开源项目为社区发电,我们是因为被压榨太狠,没时间搞而已,论技术能力跟工程实践,国内是不差的,开源做不起来 是社会资源分配问题,不是一个技术问题
20 小时 39 分钟前
回复了 miaeLKK 创建的主题 职场话题 为什么同薪,同样都是外包,有的就面试问的那么深?
@morgan1freeman #20 另外怕你听不懂什么叫做实时性,举个简单的例子就是,你的代码 执行一段时间,然后会停顿下来(物理时间意义上的停顿,在你的程序本身看来 它是连续执行的),然后让 JVM 的代码接管,这个时候 它会去处理内存是否回收利用的问题

至于上楼所说的 safepoint 你可以参考这个
https://github.com/fqdeng/jvm-suspend-working-thread-mechanism
这是我写的例子,主要 JVM 是用了 mprotect 内存回调函数,当机器读内存取指令的时候 会触发一次回调,逻辑流会被 JVM 接管,JVM 接管后 处理完,才是你的 java 代码 开始执行

至于 safepoint 怎么实现,字节码的时候,就直接下 埋点,字节码跑到那里 就把逻辑流切到 JVM 看看是否要做清理动作,如果编译成了 二进制汇编码,就是上述的 mprotect 函数 进行埋点,等你的程序执行到位了,mprotect 就会接管你的 java 代码逻辑流,切换到 JVM 代码

早些年虚拟机代码 可能有些问题,有的地方 没下埋点,结果这 java 线程 跑到系统调用,没有在系统调用前 塞 safepoint 或者其它运算 一直 for 个不停,但是每次 for 里面{} 又没有塞 safepoint 的 这个时候,java 线程停不下来,JVM 没法进行图分析,现在基本上不用操心这个问题了,

前几年 golang 也出现过这个问题,貌似后面官方也迅速解决了,

总而言之,基础是图论算法,后续都是根据工程实践 延伸的知识
20 小时 48 分钟前
回复了 miaeLKK 创建的主题 职场话题 为什么同薪,同样都是外包,有的就面试问的那么深?
@morgan1freeman 所以分代的好处,就是可以把这个 有向图 进行 切割,有些图的 节点就不用去算了,或者直接把老年代当做 GCRoots 也就是图的根节点 去分析,看看有没有可以清理的对象,这样可以减少图分析的时间复杂度,另外还有一些优化的地方,就是逃逸分析,变量没有多线程共享,可以只停顿这一个线程,对这个变量进行 图分析,看是否可以回收
20 小时 52 分钟前
回复了 miaeLKK 创建的主题 职场话题 为什么同薪,同样都是外包,有的就面试问的那么深?
供需问题,跟技术无关,

大部分 Java 程序员 可能一辈子都不会接触 JNI 跟 堆外代码,何况能被 JNI 的库 99%都是社区大佬写的,剩下可能 1%的情况是公司万年前某个老库的 C/C++的包。

社区大佬写的库 基本上不存在泄露的问题,即使泄露了 也是开源社区去处理,轮不到你写应用的来处理,公司也不会为你这个技能买单,因为它只花了 15k 招了个外包,写库的那个人在美国拿着 30k 的美刀,只是顺带下班 凭着业余爱好 帮你修复了 某个开源 JNI 库的里面 C 代码的某个野指针

另外 GC 这个东西,大方向就是一个有向图可达性分析算法,就是一个图论算法,只要你智商不够低,就能明白大方向上就是 GC 的目标就是 尽可能快速分析完这个图,看下哪些点是不可达的,
但是程序里面引用关系又是随时变化的,那么就是在 GC 吞吐率 跟实时性上 做 trade-off ,没有听说过 既能提高吞吐率又有更高实时性的东西,另外大部分互联网程序 对实时性要求并不高,你都用 java 了 还追求啥实时性,所以就是牺牲 实时性来做 GC 吞吐

分代的原因是因为 能活过几轮的 GC 的 对象都是人精,就像你的 static final Object obj 里面 obj 引用的对象,一般活过几轮之后,它就不太可能在整个生命周期中被清除出去
@sagaxu #11
3 天前
回复了 Stefan11 创建的主题 上海 在上海打工,不买房子有必要落户吗
@morgan1freeman #17 很多房东不配合办居住证,每年好几百也是一笔开销
3 天前
回复了 Stefan11 创建的主题 上海 在上海打工,不买房子有必要落户吗
@Stefan11 #12 积分排在最后,而且积分审核也很麻烦,居住证不能断
3 天前
回复了 Stefan11 创建的主题 上海 在上海打工,不买房子有必要落户吗
@WaterWestBolus 还有这好事?
3 天前
回复了 sgyl 创建的主题 上海 雅阁紫桶机油有要的没
0w20 么? 老哥送么? 有大致地址么? 太远油费不太够
3 天前
回复了 gsy20050126 创建的主题 Apple 买苹果产品,建议抢首发
@Removable 真*赛博民科
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1027 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 20ms · UTC 22:15 · PVG 06:15 · LAX 15:15 · JFK 18:15
Developed with CodeLauncher
♥ Do have faith in what you're doing.