天未的博客

天未欲使从是也,吾辈必济。


  • 首页

  • 归档

  • 分类

  • 标签

  • 关于

  • 搜索

Java 9,OSGi和模块化的未来(2)

发表于 2018-02-06 | 分类于 模块化 | 阅读次数:
字数统计: 4,369 | 阅读时长 ≈ 15

Java 9 中一个重要的新特性就是模块化。它的实现机制是什么那?它和已有的模块框架OSGi有什么差异那?为了回答这些问题,本人在网上找到了一篇比较好的介绍文章,为了加深理解,对文章进行了翻译。由于原文分为2个部分,所以翻译对应也分为2篇:

1)《Java 9,OSGi和模块化的未来(1)》是对《Java 9, OSGi and the Future of Modularity (Part 1)》的翻译,文章日期为2016年9月22日。介绍的内容包括:背景、高层次比较、复杂性、依赖粒度对比、模块导出对比、模块导入对比、反射和服务。

2)《Java 9,OSGi和模块化的未来(2)》是对《Java 9, OSGi and the Future of Modularity (Part 2)》的翻译,文章日期为2016年10月4日。介绍的内容包括:动态性、二者协同工作、未来发展、结论。

本文是对原文第二部分的翻译。

阅读全文 »

Java 9,OSGi和模块化的未来(1)

发表于 2018-02-05 | 分类于 模块化 | 阅读次数:
字数统计: 7,308 | 阅读时长 ≈ 26

Java 9 中一个重要的新特性就是模块化。它的实现机制是什么那?它和已有的模块框架OSGi有什么差异那?为了回答这些问题,本人在网上找到了一篇比较好的介绍文章,为了加深理解,对文章进行了翻译。由于原文分为2个部分,所以翻译对应也分为2篇:

1)《Java 9,OSGi和模块化的未来(1)》是对《Java 9, OSGi and the Future of Modularity (Part 1)》的翻译,文章日期为2016年9月22日。介绍的内容包括:背景、高层次比较、复杂性、依赖粒度对比、模块导出对比、模块导入对比、反射和服务。

2)《Java 9,OSGi和模块化的未来(2)》是对《Java 9, OSGi and the Future of Modularity (Part 2)》的翻译,文章日期为2016年10月4日。介绍的内容包括:动态性、二者协同工作、未来发展、结论。

本文是对原文第一部分的翻译。

阅读全文 »

OSGi博客笔记

发表于 2018-02-02 | 分类于 模块化 | 阅读次数:
字数统计: 2,829 | 阅读时长 ≈ 12

本文是对killko一些博客的笔记,可以在《不可错过的OSGi入门学习资源》中找到,包括:

  • 《走近Java模块化系统OSGi》
  • 《创建OSGi Hello World工程》
  • 《OSGi中Bundle间的耦合:Export/Import Package与服务》
  • 《动态的OSGi服务》
  • 《初次接触OSGI Blueprint》
  • 《OSGi的配置管理:ConfigAdmin》

此外,还参考了:

  • 《osgi确实面临鸡肋之嫌》

阅读前建议先阅读

  • 《OSGi入门教程》
  • 或者《OSGi入门教程》笔记
阅读全文 »

《OSGi入门教程》笔记

发表于 2018-01-31 | 分类于 模块化 | 阅读次数:
字数统计: 2,373 | 阅读时长 ≈ 9

本文是对《OSGi入门教程》课程的笔记。

OSGi基础概念

基本概念

OSGi的一些定义

  • Open Services Gateway initative 开发服务网关协议
  • 是指Java的动态模块化系统的一系列规范。(OSGi联盟,osgi.org)
  • OSGi Alliance 组织 以及该组织指制定的一个基于Java语言的服务规范。(Wiki)
  • Java 平台的模块层。(《OSGi in Action》)
阅读全文 »

2018年Java开发者应该学习的9个方面

发表于 2018-01-24 | 分类于 Java | 阅读次数:
字数统计: 2,256 | 阅读时长 ≈ 8

  翻译了一篇国外学习建议的文章,希望读者可以受到启发。点击查看原文。文中涉及到的书籍和课程链接是国外购买的网址。

前言

  想要新年一开始就有个好计划吗?这里有一些建议可以使你成为一个更好的Java开发者,包括Java性能调优、Spring Security 5.0等方面。
  首先,祝你们新的一年快乐。每当新的一年开始,我们都会制定计划、建立目标或者思考一些解决方法。
  成为一个Java开发者和《Java blog》的作者之后,我经常收到全世界Java开发者的一些咨询:如何可以提升他们的能力。
  之前,我分享过我的一篇文章《10 tips to become a better programmer》(《10条关于如何成为更好的开发者的建议》),文章中每条建议现在看来都还未过时,但是既然是新的一年了,我还是觉得写一些建议给那些愿意提高自己的Java开发者,从而帮助他们增加Java编程的知识和职业生涯中的个人价值。
  不废话了,让我们看看是哪9条建议吧。你可以参考这些建议,然后确定适合自己的n个小目标。

阅读全文 »

2018人工智能标准化白皮书摘要

发表于 2018-01-22 | 分类于 人工智能 | 阅读次数:
字数统计: 1,044 | 阅读时长 ≈ 4

本文对白皮书进行一点摘要,留作纪念。白皮书下载链接。

引言

  1月18日下午,2018人工智能标准化论坛在京召开,本次论坛发布了《人工智能标准化白皮书(2018版)》。白皮书通过梳理人工智能技术、应用和产业演进情况,分析人工智能的技术热点、行业动态和未来趋势,从支撑人工智能产业整体发展的角度出发,研究制定了能够适应和引导人工智能产业发展的标准体系,进而提出近期急需研制的基础和关键标准项目,呼吁社会各界共同加强人工智能领域的技术研究、产业投入、标准建设与服务应用,共同推动人工智能及其产业发展。

阅读全文 »

volatile如何实现可见性

发表于 2018-01-12 | 分类于 Java | 阅读次数:
字数统计: 1,286 | 阅读时长 ≈ 4

引言

  在描述volatile变量有什么作用的时候,经常会提到volatile可以使线程看到最新的变量值。但是进一步问到为什么能看到最新值的时候,会说volatile会使得线程的缓存无效,写会直接更新主内存中的值,读也会直接从主内存中读。本来这样的解释也就可以了,但是最近在解释同学的一个问题的时候还是觉得自己没搞清楚。问题如下:

“Java原子类中,CAS操作可以使得主内存中的值是最新值,那为什么还要把value声明为volatile?”

  这个可以用之前的线程缓存无效来回答(目前是这么认为的),但是这个线程缓存到底是什么那?和Java栈又是什么关系那?是如何实现缓存无效的那?这些问题实际上在《深入理解Java虚拟机》中的12.3Java内存模型这一节中有了描述,这里再把这些内容描述一下,只是为了加深一下印象。

阅读全文 »

天气查询应用

发表于 2018-01-10 | 分类于 小程序 | 阅读次数:
字数统计: 1,020 | 阅读时长 ≈ 4

引言

  项目中的文件说明如下(项目地址):

  1. /doc 文件夹中包含项目截图和以下将要描述的文档(PDF文档 )。
  2. weather-web 项目: 天气Web服务。
  3. weather-weixin 项目:查询天气微信小程序(微信扫描下图可以查看)。
  4. 项目中一些关键Key已经去除,开发者可以自行添加,如有问题可以留言或者邮件联系。
  5. 欢迎 fork 和 star ~
阅读全文 »

微信小程序模块组件开发

发表于 2018-01-09 | 分类于 小程序 | 阅读次数:
字数统计: 1,267 | 阅读时长 ≈ 5

背景

  之前进行Android手机的开发,在开发中都用到了一些第三方的组件,非常方便。现在开始尝试小程序的开发,也希望利用一些组件进行开发,甚至说希望自己提供一些组件,那这就需要对微信小程序组件的提供方式有所了解,所以结合一个开源的组件,对微信小程序的模块化的设计进行了描述,可以为之后组件的设计提供参考依据,也当做一个简单的学习笔记。

阅读全文 »
1…34
天未

天未

天未欲使从是也,吾辈必济。

39 日志
13 分类
33 标签
RSS
GitHub E-Mail
一些链接
  • 阮一峰
  • 江南白衣
  • 永源中间件
  • Christian Posta
  • 阿里中间件博客
© 2018 天未
访客数:
|
浏览数:
|
全站共 77.9k 字
|
由 Hexo 强力驱动
|
主题 — NexT.Mist