首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

王录华:我是如何为公有云和XX联邦政府提供安全的Linux操作系统的解决方案的?

我大约是在2012年左右时,在网络和私有云两大领域之外,又在操作系统领域得到一个非常有挑战的新机遇:为公司超过30万台的服务器提供安全的Linux操作系统解决方案,并为操作系统领域提供24x7应急响应和支持服务(Tier 3 Escalation)。我得到Linux社区一些朋友的帮助,在较短的时间内快速成立了一个研发团队,其中一位技术大拿是看到我们这个领域的大牛左耳朵耗子转发贴子后和我取得联系并加入的。我们最终在Linux领域交付的产品,内部的名字叫“APOL Image” (基于Oracle Linux 和Oracle VM Server),以及相关用于操作系统安全评估、修复和强化的工具集。这个解决方案不仅应用企业内部的部署,还应用于公有云和一些特别需求的外部客户,包括XX联邦政府。在2018年,团队成员在美国旧金山的Oracle OpenWorld 2018上发表了主题为“Perform In-Place Upgrade for Large-Scale Cloud Infrastructure”的演讲,将部分经验分享了出来。

04

【原创干货】我是如何为公有云和XX联邦政府提供安全的Linux操作系统的解决方案的?

我大约是在2012年左右时,在网络和私有云两大领域之外,又在操作系统领域得到一个非常有挑战的新机遇:为公司超过30万台的服务器提供安全的Linux操作系统解决方案,并为操作系统领域提供24x7应急响应和支持服务(Tier 3 Escalation)。我得到Linux社区一些朋友的帮助,在较短的时间内快速成立了一个研发团队,其中一位技术大拿是看到我们这个领域的大牛左耳朵耗子转发贴子后和我取得联系并加入的。我们最终在Linux领域交付的产品,内部的名字叫“APOL Image” (基于Oracle Linux 和Oracle VM Server),以及相关用于操作系统安全评估、修复和强化的工具集。解决方不仅应用企业内部的部署,还应用于公有云和一些特别需求的外部客户,包括XX联邦政府。在2018年,团队成员在美国旧金山的Oracle OpenWorld 2018上发表了主题为《Perform In-Place Upgrade for Large Scale Cloud Infrastructure》的演讲,将部分经验分享了出来。

02

String及StringTable(二):java中的StringTable

在前面部门已经涉及到了对StringTable的一些基本使用。但是或许很多人还并不知道什么是StringTable。StringTable也可称为StringPool,是jvm在1.7之后,在堆内存中分配的一块区域,用于存放常用的字符串。这点与IntegerCace类似,实际上在java中,存在很多这样的常量池。其目的只有一个,就是为了复用,节约内存。 StringTable实际上是一个固定大小的HashTable。因此被称为StringTable。其默认大小为60013。这个值是可以设置的,可以通过-XX: StringTableSize 设置这个值的大小。而最早在jdk1.6的时候这个值是固定的为1009。而在jdk1.8中1009是可设置的最小值。 实际上,这个值的变化,也可以从中看出,java应用不断大型化的过程。包括垃圾回收器,也是从CMS演化到G1,这些都是为了支持在更多的内存中进行更加复杂的业务支撑。 StringTable的长度不能像HashMap那样动态扩容。因此,如果hash冲突,那么它只能采取拉链法来解决。这就类似于一个不能扩容的1.7版本中的HashMap。那么这样带来的坏处就是,随着链表长度的增加,StringTable中检索的时间复杂度会增加。这样会造成其性能急剧下降。 虽然在1.8版本中默认长度为60013,但是如果某些特殊应用造程StringTable中链表的长度不断增加的话,势必会影响性能。 StringTable我们可以通过-XX:+PrintStringTableStatistics进行查看,这个参数会将StringTable和SymbolTable在程序执行完之后都进行print。输出如下:

03

Costmap是什么?

costmap翻译过来是代价地图的意思。由SLAM算法生成栅格地图。我们为栅格地图中的每一个栅格分配一个代价值,这样就形成了costmap。路径规划算法则可以在具有代价的栅格地图上生成路径。规划路径的生成则是强依赖于代价值。为了生成合适的路径,我们需要为每个栅格分配合适的代价值。最开始想到的是在单层的costmap中更新每个栅格的代价,然后直接给路径规划算法。但这样会引起诸多问题。比如因为所有的数据都在同一个costmap中更新,任何一个数据的变动都需要拿到之前其他的数据重新一起计算代价值。比如数据更新的地图范围也不好确定。比如当数据类型多了之后,数据整合的顺序不好控制。

01
领券