Antony

【117期】面试官:熟悉JVM吗?为什么新生代内存需要有两个Survivor区?

大兔子大兔子 提交于 2021-01-15 02:29:54
程序员的成长之路 互联网/程序员/技术/资料共享 关注 阅读本文大概需要 3 分钟。 来自: blog.csdn.net/antony9118/article/details/51425581 在JVM的新生代内存中,为什么除了Eden区,还要设置两个Survivor区? 1 为什么要有Survivor区 先不去想为什么有两个Survivor区,第一个问题是,设置Survivor区的意义在哪里? 如果没有Survivor,Eden区每进行一次Minor GC,存活的对象就会被送到老年代。老年代很快被填满,触发Major GC(因为Major GC一般伴随着Minor GC,也可以看做触发了Full GC)。 老年代的内存空间远大于新生代,进行一次Full GC消耗的时间比Minor GC长得多。你也许会问,执行时间长有什么坏处?频发的Full GC消耗的时间是非常可观的,这一点会影响大型程序的执行和响应速度,更不要说某些连接会因为超时发生连接错误了。 好,那我们来想想在没有Survivor的情况下,有没有什么解决办法,可以避免上述情况: 显而易见,没有Survivor的话,上述两种解决方案都不能从根本上解决问题。 我们可以得到第一条结论:Survivor的存在意义,就是减少被送到老年代的对象,进而减少Full GC的发生,Survivor的预筛选保证,只有经历16次Minor

ipfs正舵者Filecoin安全计划的更新

你离开我真会死。 提交于 2020-10-28 14:10:34
从项目开始到创建前沿,研究和评估数学证明,在Filecoin项目中建立强大的安全文化一直是官方的核心目标之一,为Filecoin协议中执行的关键操作奠定了基础(如:复制证明和时空证明) ,通过与多位外部安全专家、渗透测试人员和研究人员合作审核官方的代码和实践,以建立起强大的安全习惯文化、安全的代码开发和测试。 随着Filecoin主网的启动,官方很高兴地宣布新的Filecoin Security网站,其中包括迄今为止完成的所有工作,将要发生的事情以及更新的Bug赏金计划的清单! 启动security.filecoin.io 该站点将作为Filecoin安全计划的中央枢纽。在它上面,您可以找到有关以下方面的详细信息:安全审核、Bug赏金计划、负责任的披露政策以及以前报告的发现和缓解措施。 您可以通过两种方式公开您的发现:使用PGP密钥加密它们并通过电子邮件发送给官方,或者通过Keybase。Filecoin Security网站上的“漏洞报告”下有详细说明。 安全审核 官方一直在与多家知名的第三方审计专家合作,以确保该协议及其实施背后的理论能够实现预期的价值,从而使Filecoin成为一个安全的网络。 官方非常感谢过去几年与官方合作以确保Filecoin及其依赖项安全的安全合作伙伴。感谢宝贵的安全合作伙伴: SigmaPrime Trail of Bits ConsenSys

Json 与 对象 之间的互相转换

不想你离开。 提交于 2020-02-26 00:34:07
本文主要记录如何实现 Json 与 对象 之间的互转操作,使用了 fastjson-1.2.39.jar 包实现: 1、pom 文件: <!--fastjson--> <dependency> <groupId>com.alibaba</groupId> <artifactId>fastjson</artifactId> <version>1.2.39</version> </dependency> 2、实体类: import lombok.Data; import java.util.Date; @Data public class Staff { private String name; private Integer age; private String sex; private Date birthday; } 3、启动类: import com.alibaba.fastjson.JSON; public class test { public static void main(String[] args) { /** * json字符串转化为对象 */ String jsonString = "{name:'Antony','aGe':'12',sex:'male',telePhone:'88888',birthday:123}"; Staff staff = JSON