• 高清:创意十足!杭州萌娃毕业照留下成长足迹 2019-04-08
  • 上交所:存托凭证上市首日不实行价格涨跌幅限制 2019-04-08
  • 谁拆迁都是一样一片狼藉,拆迁时欢天喜地,回迁时垂头丧气。拆迁者得到好处,被拆者哭天喊地。 2019-04-07
  • 网上支付出现异常如何解决? 2019-04-07
  • [微笑]咱建议进一步提高挂号费标准,最起码也得200元起步…… 2019-03-30
  • 一语惊坛(5月30日):磋商,不等于反复折腾。 2019-03-16
  • 广东体彩36选7走势图:ImportNew一周资讯:开发者应该了解的 RabbitMQ 最佳实践

    ImportNew小编为您搜集有关Java业界、资源一周资讯(2018.12.17)。
    (内容无特殊说明均为英文,这里仅做摘编,点击链接可直达原文。)

    1. RabbitMQ 最佳实践(视频+文章):来自??pivotal

    解读:这份视频列表里包含了以下内容:

     

    2. J2CL—迟到总比不到好:来自?javacodegeeks

    解读:J2CL 由 Google GWT 小组开发,可以把 Java 翻译成 Closure 风格的 JavaScript 代码。J2CL 通过转译器(transpiler)借助 Closure 编译器实现,基于?Bazel 进行构建。2015年齐 J2CL 开源就被提上了日程。2018年12月5日,Google 终于开源了 J2CL 的源代码 https://github.com/google/j2cl。尽管目前使用起来还有一些限制,但迟到总比不到好。

     

    3. 使用 Java 10 Graal 和 C2 比较 Kotlin 性能:来自?javaadvent

    解读:Java 10 引入了新的 Graal 编译器,对比传统的 C2 编译器优势如何?这篇文章用游戏程序对二者性能进行了测试。作者实现了曼德布洛特复数集合生成器(Mandelbrot Set?Generator)与背包解算器(Knapsack Solver),实现采用 Kotlin 语言,分别用 Graal 与 传统 C2 编译器编译。对比结果如下:

    • 曼德布洛特复数集合生成器测试:Graal 比 C2 快 18%。
    • 背包解算器(递归实现)测试:优化前?Graal?比 C2 慢?54%,改进 key 生成后 Graal 比 C2 快了一些。
    C2 对经典的 Java 用法进行了大量优化,而 Graal 在小方法和轻量级对象上有优势,后者更符合 Kotlin 的使用习惯。

     

    4. JDPR— Java数据?;ね萍?:来自 javaadvent

    解读:个人用户信息(personally-identifiable information PII)?;ひ丫晌舜蠹夜刈⒌幕疤?,欧盟在2018年公布了GDPR(公民通用数据?;ぬ趵?/a>)。这篇文章介绍了在 Java 应用中?;じ鋈诵畔⑼萍龃胧?/p>

    1. 在应用中定位个人信息和敏感数据:比如在 POJO 中搜寻类似?getAddress()、getName() 这样的 API,在 JDBC 和 ORM 开发库中检查数据查询,借助类似 CONTRAST 这样的安全检查工具 ;
    2. 合理地进行加密:开发者可以很好地利用?Java 加密套件。JDK9 开始默认不限制加密能力(早先版本由于出口要求默认开启限制)。常见的加密方法包括哈希、对称加密与非对称加密。视频:如何应用 Java 加密;
    3. 为自定义代码、开发库与 JRE 打补丁??梢越柚?OWASP 依赖检查工具或?CONTRAST?社区版对项目进行已知漏洞检查。

     

    5. Docker 与 JVM:来自 javaadvent

    解读:“一次编写,到处运行”的问题。这句话对 Java class 本身没有问题,但数据库驱动、文件系统访问、网络访问、第三方开发库可能就没那么肯定了。对比传统虚拟机解决方案,在 Docker 上部署 Java 有几大优势,部署的文件小、可分层部署。例如,一个典型的 Dockerfile 可能类似这样,每个步骤都可以作为独立的层次(layer):

    1. 全新 Ubuntu 安装;
    2. 安装 Java;
    3. 安装依赖 A;
    4. 安装依赖 B;
    5. 拷贝 jar 文件。
    当然,Docker 部署 Java 还是有一些坑。比如 JVM 无法“理解”容器的内存和 CPU 限制。文章里给出了 JVM Dockerfile 的通用解决方案。
    本文作者在伦敦 CodeNode 上的视频讲解: Cloud Ready JVM with Kubernetes。

     

    6. Serverless, Java 与 FN 项目,小试牛刀:来自 javaadvent

    解读:除了传统的云服务厂商,越来越多的 Serverless 项目可以摆脱厂家的锁定,提供了更多的选择。这篇文章介绍了 FN 项目?//fnproject.io/,用 Java 方便地开发出一个 Serverless 功能。用 FN 开发一个 Serverless 功能主要有以下几步:

    1. 初始化建立项目:依赖?Docker 17.10.0-ce 或更高版本,下载 FN;
    2. 初始化 FN 功能:用 fn init 命令初始化项目结构,打开生成的?HelloFunction.java 处理请求,核心功能在 func.yaml 中提供了实现;
    3. 单元测试:实现?HelloFunctionTest.java,加入 @Run 添加依赖,添加测试代码;
    4. 部署与调用:验证功能,访问 //localhost:8080/t/myapp1/function1-trigger,返回 Hello, Java!;
    5. 扩展功能:使用 JSON 进行请求。

    真的很迅速,可以自己动手试一下。

     

    7. 如何用 Hibernate 把 PostgreSQL Enum 映射到 JPA 实体属性:来自?javaadvent

    解读:hibernate-types 开源项目可以映射 JSON、数据、YearMonth、Month 或数据库里的数据列。这篇短文介绍了如何使用 JPA 和 Hibernate 映射?PostgreSQL Enum 类型:添加 Maven 依赖,定义模型,测试。

    关于作者: 唐尤华

    我喜欢程序员,他们单纯、固执、容易体会到成就感;面对压力,能够挑灯夜战不眠不休;面对困难,能够迎难而上挑战自我。他们也会感到困惑与傍徨,但每个程序员的心中都有一个比尔盖茨或是乔布斯的梦想“用智慧开创属于自己的事业”。我想说的是,其实我是一个程序员。(新浪微博:@唐尤华

    查看唐尤华的更多文章 >>



    相关文章

    发表评论

    Comment form

    (*) 表示必填项

    还没有评论。

    广东好彩36开奖结果
    返回顶部
  • 高清:创意十足!杭州萌娃毕业照留下成长足迹 2019-04-08
  • 上交所:存托凭证上市首日不实行价格涨跌幅限制 2019-04-08
  • 谁拆迁都是一样一片狼藉,拆迁时欢天喜地,回迁时垂头丧气。拆迁者得到好处,被拆者哭天喊地。 2019-04-07
  • 网上支付出现异常如何解决? 2019-04-07
  • [微笑]咱建议进一步提高挂号费标准,最起码也得200元起步…… 2019-03-30
  • 一语惊坛(5月30日):磋商,不等于反复折腾。 2019-03-16