- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 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 还没有启动。这就是为什么 你需要使用字符数组。你可以在使用完后显式的清除它,或
您可能关注的文档
最近下载
- 人教版三年级上册语文《期中》测试卷.doc VIP
- (高清版)DB32∕T 4644.3-2025 从业人员健康检查 第3部分:质量控制规范.docx VIP
- 人教版九年级世界历史上册综合测试题.pdf VIP
- 贵州企业招聘:2024贵州京瑞宾馆有限责任公司招聘出纳笔试备考题库及答案解析.docx VIP
- DB3211_T 1057-2023 大棚黄瓜无土栽培技术规程.pdf VIP
- 农业机械安全操作规程.ppt VIP
- 2020年湖北省武汉中考英语试卷.pdf VIP
- 农村房赠与协议(标准版).doc VIP
- 《电子商务法》知识考试题库150题(含答案).docx VIP
- 两次约会见真章范文.pdf VIP
原创力文档


文档评论(0)