当前位置:科技 > 业界 > 业界动态 > 正文

关于Java的10个谎言(1)

2016-09-23 18:50:04  deepinmind    参与评论()人

下面的这些都算是比较高级的问题了,面试中一般也很少问到,因为它们可能会把面试者拒之门外。不过你可以自己找个时间来实践一下。

1、System.exit(0)会跳过finally块的执行

System.setSecurityManager(new SecurityManager() {

@Override

public void checkExit(int status) {

throw new ThreadDeath();

}

});

try {

System.exit(0);

} finally {

System.out.println("In the finally block");

}

这段代码为什么会输出In the finally block?为什么没有打印出堆栈跟踪信息呢?

2、String str =“Hello”;其中str是一个字符串对象

跟C 不同的是,Java里的变量要么是基础类型,要么是引用。变量不可能是对象。这意味着像这样的表达式:

String str = "Hello";

String text = "Bye";

str == text; //比较两个引用,而不是内容

str = text; //把text的引用赋值给str

大多数情况下其实没有太大的区别,不过这么写容易引起困惑。

final StringBuilder sb = new StringBuidler();

sb.append("Hello"); //这个引用是final类型的,而不是这个实例。

method(sb); //可以通过方法来修改这个实例,不过这个变量是无法修改的

3、Java的内存泄露跟C 程序员理解的一样

内存泄露在维基百科上的定义是”在计算机科学中,如果程序没有正确地管理好内存分配,就会出现内存泄露。在面向对象编程中,如果内存中的一个对象无法在代码中访问不到的话,这就是内存泄露。”不过在Java中,对象总是可达的,那些没有强引用的对象会被清除掉。内存泄露这个术语在Java中意味着:内存中存在着不该存在的对象,通常来说是有些不再使用的资源却仍存储在集合中。

4、多线程编程很难

如果你没有经验的话,多线程编程的确很难。如果你只是把一堆代码扔到一堆线程中去执行,那样出了问题根本没法解决,只能是一团糟。但如果你能进行线程的按需分配,控制线程间的交互,使用一些团队中的成员也能明白的简单的模式,问题就变得简单多了。当然还有一个挑战就是你得让团队中的所有人都遵循你的这个规则

5、不用关心不同操作间性能的不同

最近听说有个问题,它涉及到了整数的相加,内存访问,取模,以及输出到控制台。尽管在这些操作里面,每一个都比前面一个要慢一个数量级,但这哥们就是想优化这里面最快的操作,加法,还用了些更昂贵的操作来替换它。如果你真的想要优化性能,你最好用一个廉价的操作来替换掉那些昂贵的操作,如果你的瓶颈在硬件这块,比方说要从硬盘里面读取大量的文件,修改软件的代码是没啥用了,因为问题根本就不在这。

6、随机数都是随机的

一组特定的随机数就像是某种模式的数字。这个问题我在这篇文章中已经讲到过了。很多人都不相信随机数生成器生成的数字其实是不随机的。

7、应该尽量避免使用浮点数,因为它们会产生随机错误

对于同一个操作而言,浮点数每次都会产生同样的错误。错误是可预测的,因此也是可控的。如果你清楚你要做的事情是什么,并且坚持使用一些简单的规则,比如说对结果进行舍入操作,那么浮点数出的错也不会比BigDecimal要多,除此之外它的可读性更强,而且效率快了百倍以上(同时产生的垃圾对象也更少了)。

8、时区是永恒不变的

 

社会文史娱乐汽车科技旅游城市文化

新闻 军事 论坛 娱乐

新闻频道
国内国际社会评论文史专题经济新闻图库老照片
军事频道
军事要闻中国军情国际军情军事历史网友原创军事专题军事图库武器装备军事文化
汽车频道
车闻Update漫话车型漫记车映像实拍解析行业动态新车资讯独家评测汽车生活人文之旅
教育频道
留学移民高考中小学拒讲堂师说商道商论
游戏频道
游点意思网络游戏网页游戏单机游戏手机游戏军事游戏游戏产业发号中心游戏美女图说游戏囧游囧事
科技频道
业界互联网行业通信数码手机平板IT硬件相机笔记本家电产品库
旅游频道
X旅行视界目的地 美图发现社区
文化频道
专题非遗沙龙历史艺文博览读书图库书画禅文化
书画频道
资讯收藏展览在线展厅艺术家视觉专题
体育频道
国际足球中国足球NBACBA 综合体育图片汇总专题策划
视频频道
新闻军事中华出品原创娱乐纪录片微电影决胜海陆空
娱乐频道
明星电影电视音乐专题图库论坛
公益频道
老兵出镜老兵动态老兵资料库关爱老兵在行动公益组织公益人物
城市频道
城市聚焦城市设计城市生活城市策划城 市图赏城市加盟城市论坛
社区频道
中华论坛网上谈兵中华拍客社会时政国际风云生活消费休闲旅游美丽女人娱乐八卦经济风云情感世界文学天地
好医生频道
保健养生疾病防治行业资讯名医谈健康 医生专栏食疗跑步
经济频道
国内宏观海外经济产经商贸时尚消费电商眼球儿企业故事专栏评说识局经济