国外网站做任务套利,自学网站的建设,建设网站投资多少,已有网站备案这些问题在任何面试中都可能太过提出而无法提出#xff0c;因为它们可能会使候选人推迟。 不管怎样#xff0c;他们可能会在您自己的时间练习。 误解1#xff09;System.exit#xff08;0#xff09;阻止最终被调用 为什么这样的代码 System.setSecurityManager(new Sec… 这些问题在任何面试中都可能太过提出而无法提出因为它们可能会使候选人推迟。 不管怎样他们可能会在您自己的时间练习。 误解1System.exit0阻止最终被调用 为什么这样的代码 System.setSecurityManager(new SecurityManager() {Overridepublic void checkExit(int status) {throw new ThreadDeath();}});try {System.exit(0);} finally {System.out.println(In the finally block);} 打印 In the finally block 为什么不打印堆栈跟踪 在此代码中str是一个String对象。 与C 不同所有变量都是基元或引用。 变量不能是对象。 这意味着当你有一个像 String str Hello;
String text Bye;str text; // compares two references, not their contents.
str text; // assign the reference text has to str. 在许多情况下差异不大但会引起与此类线条的真正混淆。 final StringBuilder sb new StringBuidler();sb.append(Hello); // The reference sb is final, not the instance it references.method(sb); // method can alter the instance, but it cannot change the reference.误解3Java内存泄漏是C 开发人员可以理解的。 在Wikipedia上内存泄漏是 在计算机科学中 当计算机程序错误地管理内存分配时就会发生内存泄漏 。 在面向对象的编程中 当对象存储在内存中但无法被运行的代码访问时可能会发生内存泄漏。 但是在Java中对象始终是可访问的并且清除了那些不能强烈访问的对象。 Java中的内存泄漏一词是指 保留内存的任何不希望有的增加通常是由于在不再需要资源时将其记录在集合中。 如果没有纪律则多线程很难。 如果仅将一堆代码和一堆线程放在一起就会遇到一个很难解决的问题这将是一团糟。 但是如果只使用所需数量的线程控制线程之间的交互方式并使用团队中每个人都能理解的一些简单模式则问题将变得非常简单。 接下来的挑战是使整个团队都遵守规则。 最近我读了一个涉及整数加法内存访问模数和打印到控制台的问题。 尽管每个操作都比该列表中的每个操作慢几个数量级但该人员仍在尝试加快最快的操作速度但是使用了更昂贵的操作。 当您想提高性能时您需要用便宜的操作代替更昂贵的操作并且如果瓶颈是硬件例如读取硬盘驱动器上的数百万个文件则更改软件无济于事因为这不是问题的根源。 误解6随机数总是看起来随机 随机数的特定组合与带模式的数一样可能。 这个问题是我在此博客上提出的问题的转贴。 许多人不敢相信随机数生成器会产生一个看起来根本不是随机的序列。 误解7浮点数应避免因为它具有随机误差。 每次相同的操作浮点都会产生相同的错误。 该错误是可预测的因此是可管理的。 如果您知道自己在做什么并遵循一些简单的规则例如对结果四舍五入则浮点代码与使用BigDecimal相比不会出错但它更易于阅读并且速度提高了大约100倍并且不会产生垃圾。 误解8时区是永恒的 造成混淆的常见原因是随着时间的推移时区会发生变化。 这意味着欧洲/伦敦时代是1970/1/1 01:00而不是00:00为什么 在1968年到1970年之间伦敦的夏令时为2.5年。 在过去几年中许多其他时区发生了变化。 莫斯科是GMT 3现在是GMT 3从2011年3月27日开始。如果您查看2010年的某个时间应该会看到GMT 3不是4。 因为您认为这听起来很奇怪 在瑞典1721年2月30日 在英国1751年第一天是3月25日与法国相差11天。 当美国采用公历时它是追溯性的因此记录了几百年的日期可以参考这两个日历。 通常给两个日期以尽量减少混乱例如乔治华盛顿的生日从1731年2月11日更改为1732年2月22日。 误解9当您在一个线程中读取一个非易失性值时最终会看到一个更新的值。 最后一天在StackOverflow上出现了两次。 基本上JIT可以优化代码使其内联线程不变的非易失性字段。 一旦代码编译完成您可以使用-XX PrintCompilation看到它它可能永远不会看到您稍后在另一个线程中执行的更改。 添加随机同步块或打印语句可能会减慢过程或使JIT迷惑并且它不会执行优化无论是及时执行还是完全执行。 有关更多信息请说明何时需要挥发物 误解10关于Java面试问题的大多数内容都是准确的。 很高比例的Java面试问题要么已经过时仅十年以上并且不适用于Java的任何现代版本要么具有误导性或者完全是错误的。 不幸的是这些文件未经检查就被编译和回收了。 我会在StackOverflow上查看答案因为它们的码头评论更好。 最重要的是避免使用质量令人惊讶的持续低劣的印度玫瑰之类的网站。 如果您感到学究请尝试查找一篇文章中可以找到多少拼写错误使用班级名称和技术术语和神话。 问题的一部分是没有有效的方法来提供反馈并纠正这些问题。 翻译自: https://www.javacodegeeks.com/2014/05/common-java-myths.html