试试这7个有趣的开源机器学习项目
23、什么是 final 关键字? final 关键字修饰类的时候,表示该类无法被继承。比如,String 类就是 final 的,无法被继承。 final 关键字修饰方法的时候,表示子类无法覆盖它。 final 关键字修饰变量的时候,表示该变量只能被赋值一次,尽管变量的状态可以更改。 关于 final 更详细的内容,可以参照我之前写了另外一篇文章: 我去,你竟然还不会用 final 关键字 24、什么是 static 关键字? static 关键字可以用来修饰类变量,使其具有全局性,即所有对象将共享同一个变量。 static 关键字可以用来修饰方法,该方法称为静态方法,只可以访问类的静态变量,并且只能调用类的静态方法。 关于 static 更详细的内容,可以参照我之前写了另外一篇文章: 面试官:兄弟,说说Java的static关键字吧 25、finally 和 finalize 有什么区别? finally 通常与 try-catch 块一起使用,即使 try-catch 块引发了异常,finally 块中的代码也会被执行,用于释放 try 块中创建的资源。 finalize() 是 Object 类的一个特殊方法,当对象正在被垃圾回收时,垃圾收集器将会调用该方法。可以重写该方法用于释放系统资源。 26、可以将一个类声明为 static 的吗? 不能将一个外部类声明为 static 的,但可以将一个内部类声明为 static 的——称为静态内部类。 27、什么是静态导入?
如果必须在一个类中使用其他类的静态变量或者静态方法,通常我们需要先导入该类,然后使用“类名.变量/方法”的形式调用。 有些开源带来的好处甚至在项目宣发之前就已经体现出来了。准备将某项目开源会迫使人们清理代码、划出清晰的 API 边界、让项目在现有环境和公司之外实际可用,这样维护起来会更方便,日后如果需要重构也会容易很多。开源同样是个让人认真写软件运行文档的好时机,哪怕这个项目只是在公司内部使用,好的文档对新入职的员工而言也是个很好的资源。随着使用项目的人增加,外部的人 也会开始帮忙写入门指南。到后来,只要是软件使用相关,只有你想不到,没有你找不到的问题和其解决方式,就像 React 的社区做到的一样。 2. 扩展之后大多数开源软件的好处会随着项目的受欢迎程度扩大而增长。成功的开源项目往往拥有多功能的基础架构,和可以重复利用的核心构件。项目越是不针对具体业务,他人越会觉得这个项目有用,项目作者也就越不用担心会泄露公司机密。 工程品牌 无论是名不见经传的小公司还是五百强科技公司,开源项目都可以提升工程部门的品牌声誉。2013 年 Facebook 发布 React 时,很多人对此都不屑一顾,“Facebook 的工程建议?他们连自己在干什么都不知道!”。现在,随着 React 和其他开源项目的出现,Facebook 作为前端工程领域的领军者已经得到了广泛的认可。这在招聘方面是一大助力:在我任职期间,面试过的许多工程师应试者都说过,他们想要加入 Facebook,是因为这里是 React 的发源地。无论公司规模大小,发布高质量项目不仅可以炫技,还能吸引到新人加入。 提升可靠性
他人在使用你的软件时会遇到 bug,遇到你没见过的边缘情况。多数情况下,这些 bug 被发现都是迟早的事,而随着使用人数的增多,你也就有更多的机会发现并修复这些 bug(免费的质量保证!)。即便 Facebook 拥有上千名使用 React Alpha 版的开发人员,并在每个新版本公开前发现了大多数的 bug,外部 bug 报告里仍然不断有新的问题汇报进来。 (编辑:阿坝站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |