zoukankan      html  css  js  c++  java
  • ARTS-WEEK-017

    Algorithm:

    200: Number of Islands

    547: Friend Circles

    都可以使用 Flood Fill 算法,其中 DFS 最为直观,注意其中 visited 可以用布尔数组提高性能,此外 BFS 和 UnionFind 也可以,尤其是第二题使用 UnionFind 非常简洁,路径压缩优化很有效。第一题中还有二维坐标转化为一维坐标、使用方向数组简化方向操作(八向时更有意义)的细节。

    Review:

    Building Airbnb’s Internationalization Platform

    来自 Airbnb 技术博客的一篇文章,分享了国际化(I18n)平台的架构和系统设计。在架构层面清晰地分离出内容管理系统、翻译流水线、翻译交付三个大的阶段,具体包括 CMS 系统、内容存储、翻译供应商、回调服务、Event Bus、翻译管理服务、快照存储、I18n Agent、I18n Client等部分。亮点包括翻译单元设计支持快照,并基于时间点位在客户端本地缓存翻译结果,客户端独立 Agent 以生产消费模型的方式再次进行解耦,最终使客户端最高以最高性能获得翻译结果(缓存命中),并且对服务端更加友好。

    Tip:

    为什么64位JVM最好不要超过32G堆空间?

    答案是因为性能考虑,大于32G反而会造成性能衰减,除非有大于50G堆内存需求。具体是因为64位虚拟机比32位虚拟机指针(ordinary object pointer)大了一倍,达到64位,这会带来内存占用与GC开销、影响CPU缓存命中率等问题,因此从 JDK6u23 开始默认开启了指针压缩技术 - CompressedOops,还是使用 32位长度存储指针,但是以8字节为最小单位间隔寻址,即原指针 0、1、2 在寻址时会左移3位变成 0、8、16,等同于 35位 32G 空间。

    参考:JVM之压缩指针(CompressedOops)

    Share:

    T61 倾听你内心的蜥蜴 - The Progmatic Programmer

    本能和直觉让人感觉到并采取行动,但容易缺少思考,在下次出现时请注意它们,停止正在做的事,给自己一些时间和空间,比如把问题外化,画到纸上或向别人解释和讨论(橡皮鸭也行),如果还是没有解脱,可以开始以原型的方式进行下去,像游戏一样进行随便尝试并告诉自己这是可以放弃原型而已,反复这个过程一定可以找到顺利发展的感觉。这不仅适用于开始新的项目、模块等编码过程,也适用于阅读别人代码(把疑问和感觉记下来)、面对任何新的挑战等情况。

  • 相关阅读:
    Untiy数据包的输出、加载和卸载
    Line 7.10 : Syntax error
    给力的数学巧算法!
    Unity3d + NGUI 的多分辨率适配
    Linq小记
    (转)为C# Windows服务添加安装程序
    Javamail使用代码整理
    .NET后台访问其他站点代码整理
    (转)2009-05-25 22:12 Outlook2007选择发送帐号
    (转)C#与Outlook交互收发邮件
  • 原文地址:https://www.cnblogs.com/pyx0/p/13946706.html
Copyright © 2011-2022 走看看