核心Java面试答案不正确
总览
在Internet上,Java面试问题和答案从一个网站复制到另一个网站。 这可能意味着错误或过时的答案可能永远不会得到纠正。 这是一些不太正确或已经过时的问题和答案。 即是Java 5.0之前的版本。
每个提供的问题后都有两个部分。 斜体的第一部分指示答案不完整/错误。 最后一部分以纯格式提供完整/正确的答案。
参数可以通过几种方式传递给子例程并进行解释?
参数可以通过两种方式传递。 它们通过价值传递,通过参考传递。
按值传递:此方法将参数的值复制到子例程的形式参数中。
通过引用传递:在此方法中,对参数的引用(而不是参数的值)传递给参数。
Java仅支持按值传递。 您可以按值传递引用,但是在Java中不能按引用传递。 Java引用可以描述为“通过共享调用”,但这并不常用。
什么是垃圾回收?如何明确调用它?
当某个对象不再由任何变量引用时,java会自动回收该对象使用的内存。 这称为垃圾收集。 系统。 gc()方法可用于显式调用它。
当对象不再具有来自Root上下文的强引用时,就可以进行清除。 具有弱参考或软参考的对象可以清除。 没有强引用的对象可能无法清除(即,没有保证将运行GC,次要GC不会清除使用期限的对象)
System.gc() 提示应该运行Full GC。 可以使用命令行选项禁用它。
什么是瞬态和挥发性修饰剂?
瞬态:瞬态修饰符仅适用于变量,并且不存储为对象持久性状态的一部分。 暂态变量未序列化。
易失性:易失性修饰符仅适用于变量,它告诉编译器,由易失性修改的变量可能会被程序的其他部分意外更改。
瞬态只能应用于字段,而不能应用于局部变量。 它可以应用于静态变量,但通常会被忽略。 临时字段不会自动序列化,但是可以通过自定义序列化进行序列化,例如writeObject和readObject()
volatile只能应用于字段,并告诉JIT而不是告诉编译器,每次访问都必须获取该字段的缓存一致性副本。 (通常来自“主”内存)
解释关键字transient的用法?
此关键字指示此成员变量的值不必与对象序列化。 当将反序列化该类时,将使用其数据类型的默认值(即,对于整数为零)来初始化此变量。
此关键字表示该字段不能自动序列化。 它不会自动反序列化,并保留该字段的默认值。 Integer的默认值为null 。 int的默认值为0
什么是方法重载和方法重载?
方法重载:当类中具有相同方法名,不同参数的方法被称为方法重载时。
方法覆盖:当类中具有相同方法名称和相同参数的方法被称为方法覆盖。
当两个方法具有相同的名称但签名不同时,就会发生方法重载。 签名包括参数类型和通用类型。 可以使用不同的参数调用单个方法,而可以使用相同的参数调用两个重载方法。 即它的签名而不是重要的论据。
仅当子类具有与父类中的方法相同的签名时,才发生方法重写。
Integer和int有什么区别?
- 整数是在Java中定义的类。 lang包,而int是用Java语言本身定义的原始数据类型。 Java不会自动从一种转换为另一种。
- 整数可以用作需要对象的方法的参数,而整数可以用于计算。
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面试答案不正确相关推荐
- java核心面试_不正确的核心Java面试答案
java核心面试 总览 在Internet上,Java面试问题和答案从一个网站复制到另一个网站. 这可能意味着错误或过时的答案可能永远不会得到纠正. 这是一些不太正确或已经过时的问题和答案. 即是Ja ...
- java核心面试_前100多个核心Java面试问题
java核心面试 Core Java interview questions help you in preparing for java based interviews. Whether you ...
- 常见Java面试+答案
Java最新常见面试题 + 答案汇总 原文地址:https://blog.csdn.net/sufu1065/article/details/88051083 1.面试题模块汇总 面试题包括以下十九个 ...
- 吊炸天核心Java面试问题,一问一答题,一问多答题(建议学习)
Q. 如果主方法被声明为私有怎么办? 回答: 该程序可以正确编译,但在运行时它会给出"Main method not public".信息. Q. Java中的引用传递和值传递是什 ...
- 阿里Java面试答案【283页PDF文档免费领】
怎样才能拿到大厂的offer,没有掌握绝对的技术,那么就要不断的学习 如何拿下阿里等大厂的offer的呢,今天分享一个秘密武器,资深架构师整理的Java核心知识点,面试时面试官必问的知识点,篇章包括了 ...
- 【附答案】Java面试2019常考题目汇总(一)
转载自 [附答案]Java面试2019常考题目汇总(一) 一.JAVA基础篇-概念 1.简述你所知道的Linux: Linux起源于1991年,1995年流行起来的免费操作系统,目前, Linux是 ...
- java面试spring_针对Java程序员的二十大Spring REST面试问题答案
java面试spring 大家好,过去两周来,我一直在与Spring教程共享一些REST,今天,我将向申请Web开发人员角色的Java开发人员共享一些常见的Spring和REST采访问题. 由于Spr ...
- Java面试详解(2020版):500+ 面试题和核心知识点详解
与其在网上拼命的找面试题,不如加入我们畅快的阅读. 为了写好这些面试题,我先后拜访了一二十家互联网公司,与不同的面试官和面试者进行面对面探讨,深入了解了企业对于面试者的要求和常见的 Java 面试题型 ...
- java面试compareble_Java(面试必备):30 个 Java 集合面试问题和答案
30 个 Java 集合面试问题和答案 前言 今天博主将为大家分享一下Java(面试必备):30 个 Java 集合面试问题和答案,不喜勿喷,如有异议欢迎讨论! Java集合框架为Java编程语言的基 ...
最新文章
- 程序员饭碗不保了?GPT-3 最强应用发布,动动手指就自动写代码的神器来了!...
- vue编写messageBox,使用函数调用
- 有了Windows Defender应用程序防护功能,再也不担心电脑免遭恶意***
- 源码 linux下编译_Linux云服务器软硬链接及源码编译安装python3.8的一些备注
- python3.7对应的numpy版本_图解NumPy包一文就够了
- java cms bootstrap_thinkcms: Java CMS系统,完善的后台功能,大气的前台页面.
使用springMVC,hibernate,bootstrap,amazeui....
- 大团圆结局!苹果高通和解:双方撤销全球所有诉讼
- mysql 子查询 博客_mysql——多表——子查询——示例
- 【模板】堆优化 + dij +pair 存储
- CCNode作为容器实现显示区域剪裁
- EasyDarwin源码分析(二)——rtsp-server、rtsp-session
- 腾讯云轻量服务器搭建,腾讯云轻量服务器配置系统镜像自定义建站及安全组配置...
- 任务16:16_Flume案例_断点续传文件(案例测试)
- 免费css代码下载-Free Css Templates
- LCD1602液晶显示屏的字符显示
- mysql 遗失对主机的连接,MySQL远程连接丢失问题解决方法(Lost connection to MySQL server)...
- CMap How-to
- java入门基础二 15-18 之三大集合
- 向大师学习ZBrush雕刻布料和衣服上的褶皱
- Editor markdown编辑器
热门文章
- 云服务器的优点和缺点_为什么要使用云计算? 的优点和缺点
- taskexecutor_弹簧和线程:TaskExecutor
- aws集群重启_在AWS中设置Cassandra集群
- java单例枚举_Java增强枚举的用例
- openshift命令_使用命令行工具创建WildFly OpenShift应用程序
- java jsoup解析_3使用Jsoup解析Java中HTML文件的示例
- JDK 14:记录,文本块等
- H2数据库的Spring Boot
- java 数字 下划线_为什么要在Java SE 7的数字中使用下划线-在数字文字中使用下划线...
- 线程,代码和数据–多线程Java程序实际运行的方式