总览

在Internet上,Java面试问题和答案从一个网站复制到另一个网站。 这可能意味着错误或过时的答案可能永远不会得到纠正。 这是一些不太正确或已经过时的问题和答案。 即是Java 5.0之前的版本。

每个提供的问题后都有两个部分。 斜体的第一部分指示答案不完整/错误。 最后一部分以纯格式提供完整/正确的答案。

参数可以通过几种方式传递给子例程并进行解释?

参数可以通过两种方式传递。 它们通过价值传递,通过参考传递。
按值传递:此方法将参数的值复制到子例程的形式参数中。
通过引用传递:在此方法中,对参数的引用(而不是参数的值)传递给参数。

Java仅支持按值传递。 您可以按值传递引用,但是在Java中不能按引用传递。 Java引用可以描述为“通过共享调用”,但这并不常用。

什么是垃圾回收?如何明确调用它?

当某个对象不再由任何变量引用时,java会自动回收该对象使用的内存。 这称为垃圾收集。 系统。 gc()方法可用于显式调用它。

当对象不再具有来自Root上下文的强引用时,就可以进行清除。 具有弱参考或软参考的对象可以清除。 没有强引用的对象可能无法清除(即,没有保证将运行GC,次要GC不会清除使用期限的对象)

System.gc() 提示应该运行Full GC。 可以使用命令行选项禁用它。

什么是瞬态和挥发性修饰剂?

瞬态:瞬态修饰符仅适用于变量,并且不存储为对象持久性状态的一部分。 暂态变量未序列化。
易失性:易失性修饰符仅适用于变量,它告诉编译器,由易失性修改的变量可能会被程序的其他部分意外更改。

瞬态只能应用于字段,而不能应用于局部变量。 它可以应用于静态变量,但通常会被忽略。 临时字段不会自动序列化,但是可以通过自定义序列化进行序列化,例如writeObject和readObject()

volatile只能应用于字段,并告诉JIT而不是告诉编译器,每次访问都必须获取该字段的缓存一致性副本。 (通常来自“主”内存)

解释关键字transient的用法?

此关键字指示此成员变量的值不必与对象序列化。 当将反序列化该类时,将使用其数据类型的默认值(即,对于整数为零)来初始化此变量。

此关键字表示该字段不能自动序列化。 它不会自动反序列化,并保留该字段的默认值。 Integer的默认值为nullint的默认值为0

什么是方法重载和方法重载?

方法重载:当类中具有相同方法名,不同参数的方法被称为方法重载时。
方法覆盖:当类中具有相同方法名称和相同参数的方法被称为方法覆盖。

当两个方法具有相同的名称但签名不同时,就会发生方法重载。 签名包括参数类型和通用类型。 可以使用不同的参数调用单个方法,而可以使用相同的参数调用两个重载方法。 即它的签名而不是重要的论据。

仅当子类具有与父类中的方法相同的签名时,才发生方法重写。

Integer和int有什么区别?

  1. 整数是在Java中定义的类。 lang包,而int是用Java语言本身定义的原始数据类型。 Java不会自动从一种转换为另一种。
  2. 整数可以用作需要对象的方法的参数,而整数可以用于计算。

Integer是对包装int的对象的引用。自添加自动装箱和拆箱以来,主要区别在于Integer可以为null,并且==运算符比较Integer的引用和int类型的实际值。

Integer i1 = 1;
Integer i2 = 1;
// true as the same autoboxed Integer is used.
System.out.println(i1 == i2); Integer i3 = -200;
Integer i4 = -200;
// false as different autoboxed Integer objects are used.
System.out.println(i3 == i4);

线程的不同状态是什么?

不同的线程状态为就绪,运行,等待和死机。

由于Java 5.0应该是正在开发的大多数Java系统,因此Thread.State类将线程可能的状态列出为

  • NEW –尚未启动的线程处于此状态。
  • 可运行–在Java虚拟机中执行的线程处于此状态。
  • BLOCKED –已阻塞,等待监视器锁定的线程处于此状态。
  • 等待中–无限期等待另一个线程执行特定操作的线程处于此状态。
  • TIMED_WAITING –正在等待另一个线程执行操作的线程最多达到指定的等待时间,该线程处于此状态。
  • 终止–退出的线程处于此状态。

所有班级的基础班是哪一个?

java.lang.Object

对于自定义类,这是正确的。 对于基本类型,例如int.class,void.class和Object本身没有超类。

Class parent = boolean.class.getSuperclass(); // returns null

什么是守护线程?

在后台运行的Theards [sic]被称为守护进程线程。 守护程序线程是一个线程,一旦进入运行状态,该线程便没有任何机会运行其他线程,而它也没有任何机会运行其他线程。

守护程序线程是不会阻止JVM关闭的任何线程。 任何线程都可以视为“后台”线程。 守护程序线程被赋予与非守护程序线程相同的优先级(基于它们的优先级)。当守护程序线程正在运行时,它不会阻止另一个线程与非守护程序线程在运行上有任何不同。

守护程序线程是低优先级的线程,它在后台间歇地运行,为Java运行时系统执行垃圾回收操作。

垃圾收集器是守护线程的一个示例。 守护程序线程可以具有较高的优先级,并且可以一直运行。

对switch语句的每种情况的值施加什么限制?

在编译时,switch语句的每个case值必须计算为int值

从Java 5.0开始,支持打开枚举,从Java 7开始,支持打开String。

什么是Java Bean?

Java Bean是一种软件组件,其设计旨在可在各种不同的环境中重用。

恕我直言:这个答案含糊不清,可能在谈论任何事情。

Java Bean是“可序列化的Java对象,具有一个null构造函数,并允许使用getter和setter方法访问属性。”

为什么要使用同步块与同步方法?

与同步方法相比,同步块放置锁的时间更短。

这可能是正确的,但不能保证。 通常,同步块用于通过同步方法来锁定对对象的多次调用。 IMHO用于同步块的最常见的用途是锁定在以外另一个目的

Map<key, value=""> map = Collections.synchronizedMap(new LinkedHashMap<key, value="">());
// perform multiple operations in a thread safe manner
synchronized(map) {
Value value = map.get(key);
if (value == null)
map.put(key, value = new Value(key));
return value;
}

Java中哪一个更快?

for(int i = 100000; i > 0; i--) {}
for(int i = 1; i < 100001; i++) {}

答:最快的是第二个。 服务器JVM可以检测并消除不执行任何操作的循环。 当循环迭代大约10,000次时,将编译带有任一循环的方法。 (基于-XX:CompileThreshold = 10000)第一个循环将花费一些时间来检测它没有执行任何操作,但是第二个循环将被编译。

哪个Java运算符是正确的关联?

=运算符是右关联的。

根据http://introcs.cs.princeton.edu/java/11precedence/列表,从右到左的关联运算符是。 (不止一个)

  • ( ) 投
  • 新对象
  • ? :
  • 分配= + =-= * = / =%=&= ^ = | = << = >> = >>> =

Java运行时系统生成什么类的异常?

Java运行时系统生成RuntimeException和Error异常。

恕我直言:这是对另一个问题的答案。 这是对的回答; 什么是运行时超类,未经检查的异常?

Java运行时可以生成Error,Exception或RuntimeException。

参考: 不正确的Java核心访谈在Vanilla Java上 ,我们的JCG合作伙伴 Peter Lawrey给出了答案 。

相关文章:
  • 每个程序员都应该知道的事情
  • 正确记录应用程序的10个技巧
  • 软件设计法则
  • Java最佳实践系列
  • 生存在狂野西部开发过程中的9条提示
  • 如何在不到1ms的延迟内完成100K TPS
  • 提升您的休眠引擎

翻译自: https://www.javacodegeeks.com/2011/07/incorrect-core-java-interview-answers.html

核心Java面试答案不正确相关推荐

  1. java核心面试_不正确的核心Java面试答案

    java核心面试 总览 在Internet上,Java面试问题和答案从一个网站复制到另一个网站. 这可能意味着错误或过时的答案可能永远不会得到纠正. 这是一些不太正确或已经过时的问题和答案. 即是Ja ...

  2. java核心面试_前100多个核心Java面试问题

    java核心面试 Core Java interview questions help you in preparing for java based interviews. Whether you ...

  3. 常见Java面试+答案

    Java最新常见面试题 + 答案汇总 原文地址:https://blog.csdn.net/sufu1065/article/details/88051083 1.面试题模块汇总 面试题包括以下十九个 ...

  4. 吊炸天核心Java面试问题,一问一答题,一问多答题(建议学习)

    Q. 如果主方法被声明为私有怎么办? 回答: 该程序可以正确编译,但在运行时它会给出"Main method not public".信息. Q. Java中的引用传递和值传递是什 ...

  5. 阿里Java面试答案【283页PDF文档免费领】

    怎样才能拿到大厂的offer,没有掌握绝对的技术,那么就要不断的学习 如何拿下阿里等大厂的offer的呢,今天分享一个秘密武器,资深架构师整理的Java核心知识点,面试时面试官必问的知识点,篇章包括了 ...

  6. 【附答案】Java面试2019常考题目汇总(一)

    转载自  [附答案]Java面试2019常考题目汇总(一) 一.JAVA基础篇-概念 1.简述你所知道的Linux: Linux起源于1991年,1995年流行起来的免费操作系统,目前, Linux是 ...

  7. java面试spring_针对Java程序员的二十大Spring REST面试问题答案

    java面试spring 大家好,过去两周来,我一直在与Spring教程共享一些REST,今天,我将向申请Web开发人员角色的Java开发人员共享一些常见的Spring和REST采访问题. 由于Spr ...

  8. Java面试详解(2020版):500+ 面试题和核心知识点详解

    与其在网上拼命的找面试题,不如加入我们畅快的阅读. 为了写好这些面试题,我先后拜访了一二十家互联网公司,与不同的面试官和面试者进行面对面探讨,深入了解了企业对于面试者的要求和常见的 Java 面试题型 ...

  9. java面试compareble_Java(面试必备):30 个 Java 集合面试问题和答案

    30 个 Java 集合面试问题和答案 前言 今天博主将为大家分享一下Java(面试必备):30 个 Java 集合面试问题和答案,不喜勿喷,如有异议欢迎讨论! Java集合框架为Java编程语言的基 ...

最新文章

  1. 程序员饭碗不保了?GPT-3 最强应用发布,动动手指就自动写代码的神器来了!...
  2. vue编写messageBox,使用函数调用
  3. 有了Windows Defender应用程序防护功能,再也不担心电脑免遭恶意***
  4. 源码 linux下编译_Linux云服务器软硬链接及源码编译安装python3.8的一些备注
  5. python3.7对应的numpy版本_图解NumPy包一文就够了
  6. java cms bootstrap_thinkcms: Java CMS系统,完善的后台功能,大气的前台页面. 使用springMVC,hibernate,bootstrap,amazeui....
  7. 大团圆结局!苹果高通和解:双方撤销全球所有诉讼
  8. mysql 子查询 博客_mysql——多表——子查询——示例
  9. 【模板】堆优化 + dij +pair 存储
  10. CCNode作为容器实现显示区域剪裁
  11. EasyDarwin源码分析(二)——rtsp-server、rtsp-session
  12. 腾讯云轻量服务器搭建,腾讯云轻量服务器配置系统镜像自定义建站及安全组配置...
  13. 任务16:16_Flume案例_断点续传文件(案例测试)
  14. 免费css代码下载-Free Css Templates
  15. LCD1602液晶显示屏的字符显示
  16. mysql 遗失对主机的连接,MySQL远程连接丢失问题解决方法(Lost connection to MySQL server)...
  17. CMap How-to
  18. java入门基础二 15-18 之三大集合
  19. 向大师学习ZBrush雕刻布料和衣服上的褶皱
  20. Editor markdown编辑器

热门文章

  1. 云服务器的优点和缺点_为什么要使用云计算? 的优点和缺点
  2. taskexecutor_弹簧和线程:TaskExecutor
  3. aws集群重启_在AWS中设置Cassandra集群
  4. java单例枚举_Java增强枚举的用例
  5. openshift命令_使用命令行工具创建WildFly OpenShift应用程序
  6. java jsoup解析_3使用Jsoup解析Java中HTML文件的示例
  7. JDK 14:记录,文本块等
  8. H2数据库的Spring Boot
  9. java 数字 下划线_为什么要在Java SE 7的数字中使用下划线-在数字文字中使用下划线...
  10. 线程,代码和数据–多线程Java程序实际运行的方式