#每天三个技术问题# 3/29/2018

今天的问题

1)Java 9只用base模块,打包带JRE的可运行文件,有多大?

2)Linux的启动级别有哪些?systemd和init分别是怎么支持的?

3)HTML中的用途?

昨天的问题:

1)dagger是否有内部的可编程API可以使用?

2)Java9 的module-info.java是否可以通过Annoation生成?

3)process.env.NODE_ENV是一个标准么?

dagger是否有内部的可编程API可以使用?

Dagger是一个完全静态的Java和Android编译时IOC框架。 区别于Spring, Dagger的编译时IOC框架,是在编译时通过Annotation Processor生成好相关代码,可以减少运行时错误和反射创建对象的开销。

Dagger最开始是由Square开发的,现在由Google维护。Crazy Bob以前在Google开发了Guice(音蛛丝),虽然没拼过Spring,但产生JSR330。他后来到Square当CTO,又有了Dagger项目。

因为是编译时框架,dagger只有有限的API,复杂逻辑都在Annotation processor里了,所以并没有内部的可编API使用。

示例代码:

生成的代码:

Dagger配合Java 9的Module来限制Bean的可见性,应该还是不错的!

Java9 的module-info.java是否可以通过Annotation生成?

目测是可以通过@ModuleInfo生成module-info.java的。Annotation Processing API,可以生成源文件,支持package-info.java,同理支持module-info.java。

process.env.NODE_ENV是一个标准么?

NODE_ENV是express框架带火的一个环境变量,用于区分是当前运行程序是devlopment还是production,很多框架在用,但并不是标准。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 175,625评论 25 709
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,463评论 19 139
  • 偶遇简书,看见这么多人仍然在坚持写字,莫名的感怀,贴一首旧作。 《离别》 一些人来了 还有一些人走了 是自己走的 ...
    太白岩阅读 1,527评论 1 1
  • 翻一翻日历,再有几天,我爸就十周年了。十年前,也就是2008年!对国家是最不平凡的一年:南方雪灾,汶川地震...
    若愚_b4f9阅读 3,552评论 1 1
  • 突然觉得,好像被喜欢是一种能力,而恰好我不具备这样的能力……
    阿紫ahaha阅读 1,501评论 0 0