StackOverflow7个你从未见过的Java问题最佳答案.docxVIP

StackOverflow7个你从未见过的Java问题最佳答案.docx

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
StackOverflow:7 个你从未见过的 Java 问题最佳答案 StackOverflow:7 个你从未见过的 Java 问题最佳答案 对开发人员来说, StackOverflow 对开发人员来说, StackOverflow 就像一个金矿。对具体的问题,它能帮我们 找到最有用的答案,并且我们也可以从上面学习新的知识。 下面的内容,通过这些最常见的 JAVA 下面的内容,通过这些最常见的 JAVA 问题与答案,并着重的标记出我们找 到的精华问题。即便你是一个经验丰富的开发人员,这些也是值得去学习的。 JAVA 问题纵览JAVA JAVA 问题纵览 JAVA 是 StackOverflow 上 第二流行的标签 ,有超过 100 万个问题与 JAV A 有关。仅在上个礼拜,就有 4600 个问题被提出,毫无疑问这里是开发者们最 大也是最为活跃的线上社区。 此信息同样也出自 StackOverflow 2016 此信息同样也出自 StackOverflow 2016 年的开发者调查中 ,56033 名开 发者被问到关于开发语言的选择,JAVA 是第三位。因为在市场上JAVA 占据着主 导,因此我们估计读者也曾经有那么一两次的去访问 StackOverflow 来寻找答 下面让我们来看看这些精心选出的问题。案。但是,即使你随意的在 StackOverflow 下面让我们来看看这些精心选出的问题。 案。但是,即使你随意的在 StackOverflow 上闲逛,也会发现很多有趣的问题, 分支预测在 StackOverflow 上最经常被问到的一个问题就是” 为什么处理一个排序过的数组比一个未排序的数组要快?”回答这样的问题,你得了解分支预测。分支预测是一种期望可以提升应用流程的架构,旨在一条路径在真正被执行前就可以被提前的猜出。当然它不仅仅是一个完全意义上的猜测,而是一个有目的性的猜测。分支在这里就是一个“IF 语句”。在此情况下,如果数组是排序过的,分支预测将起作用,不然则无法工作。 Mysticial 试着用一种简单的方式来解释这个问题,以铁路和火车为例子。想像一下,你驾驶火车来到一个交汇点,接下来你需要决定火车走哪条线。你会选择左还是右?当然,你也可以停下火车问问司机哪一条路是正确的,但是这却会降低整个火车运行的速度,并让火车的行进过程变的更加复杂。你也可以猜一下,但是你如何确保你猜的一定是对的呢?了解下这趟火车之前的司机都是怎么做的,并且知道在此之前他们都是如何选择 分支预测 在 StackOverflow 上最经常被问到的一个问题就是” 为什么处理一个排序 过的数组比一个未排序的数组要快?”回答这样的问题,你得了解分支预测。 分支预测是一种期望可以提升应用流程的架构,旨在一条路径在真正被执行 前就可以被提前的猜出。当然它不仅仅是一个完全意义上的猜测,而是一个有目 的性的猜测。 分支在这里就是一个“IF 语句”。在此情况下,如果数组是排序过的,分 支预测将起作用,不然则无法工作。 Mysticial 试着用一种简单的方式来解 释这个问题,以铁路和火车为例子。想像一下,你驾驶火车来到一个交汇点,接 下来你需要决定火车走哪条线。你会选择左还是右?当然,你也可以停下火车问 问司机哪一条路是正确的,但是这却会降低整个火车运行的速度,并让火车的行 进过程变的更加复杂。你也可以猜一下,但是你如何确保你猜的一定是对的呢? 了解下这趟火车之前的司机都是怎么做的,并且知道在此之前他们都是如何选择 道路的,这是一个非常好的主意。 这就是分支预测:找到模式并且使用他们。 不幸的是,多数情况下能问出这样问题的多半是一个失效的分支预测的受害 者。由于分支没有可识别的模式,想要去猜测就真的只能是一个随机的猜测了。 JAVA 的安全性另一个流行的 JAVA 问题是“为什么在 JAVA 的密码管理中,更倾向去使用 char[ JAVA 的安全性 另一个流行的 JAVA 问题是“为什么在 JAVA 的密码管理中,更倾向去使用 c har[]而不是 String?”更具体一些的问法是:为什么在 JAVA Swing 中的密码 输入框方法是:getPassword(return char[]), 而不是 getText(return Strin g) 毫无意外的,这里是一个安全问题。因为 String 是不可变的,这意味着你 一旦创建了它则无法修改。同样也意味着在 GC 前你无法彻底的删除掉它。在某 些情况下,如果有人黑进了你的内存,那么被保存成 String 的密码则可以被人 获取的。 者你也可以用其他的别的东西去覆盖它。这样敏感的信息就不会在系统的其他地方出现,即使此时 GC 还没有启动。这就是为什么 你需要使用字符数组。你可以在使用完后显式的清除它,或

文档评论(0)

hao187 + 关注
官方认证
文档贡献者

该用户很懒,什么也没介绍

认证主体武汉豪锦宏商务信息咨询服务有限公司
IP属地上海
统一社会信用代码/组织机构代码
91420100MA4F3KHG8Q

1亿VIP精品文档

相关文档