JAVA基础知识面试题
一个JAVA文件可以定义多个类,但是只能有一个是public(也可以没有public类),并且该public的类的名称和JAVA文件名称相同。同时一个java文件可以有多个main方法,只有和java文件名相同的那个类的main方法才是程序的入口。在编译的时候,多个类会被分别编译成不同的.class文件。
在JAVA语言中,静态代码块会在类的加载过程中被调用,因此静态代码块可以在main()方法之前执行。
静态代码块是在类加载时自动执行的,非静态代码块在创建对象自动执行的代码,不创建对象不执行该类的非静态代码块。 顺序: 静态代码块--》非静态代码块--》类构造方法。
- 继承体系的所有静态成员初始化(先父类,后子类,静态代码块和静态变量的顺序依赖于在代码中的位置)
 - 父类初始化完成(普通成员的初始化-->构造函数的调用)
 - 子类初始化(普通成员-->构造函数)
 
Java中的变量分为:成员变量(随对象的创建和销毁而创建和销毁)、静态变量(随类的加载和卸载而创建和销毁)、局部变量(作用于在花括号内)。
private和protected不能修饰外部类只能修饰内部类。接口的访问控制符只能是public和默认。接口内可以申明变量但是只能被public和默认修饰符(在编译的时候会编译为public static final)。没有声明任何方法的接口被称为标示接口,用来表明实现它的类属于一个特定的类型。Java中的标识接口包括Cloneable和Serializable。
构造函数不能被继承,因此不能覆盖。子类可以通过super关键字来调用父类构造函数,当父类没有提供无参数的构造函数时,子类构造函数必须显示调用父类构造函数。如果父类构造函数提供了无参的构造函数,子类的构造函数就可以不显示的调用父类的构造函数。子类在实例化时会先执行父类的构造函数。普通方法可以和构造方法同名。构造方法伴随着new关键字一起使用,且不能被编写者调用只能有系统调用。
处于阻塞状态的线程的共同特点是:放弃CPU,暂停运行,只能等到导致阻塞的原因消除才能恢复运行;或者被其他线程中断,该线程退出阻塞状态,并抛出InterruptedException。
在JAVA中内存泄露主要有两种情况:1,在堆中申请的空间没有释放;二是对象已不再使用,但任然在内存中保留。在JAVA语言中引起内存泄露的原因主要包括:1.静态集合类。它们的生命周期和程序一致,那么容器中的对象在程序结束前不能释放。2.各种连接,例如数据库连接、网络连接。
JAVA基础知识面试题的更多相关文章
- Java 基础知识面试题(2020 最新版)
		
Java面试总结汇总,整理了包括Java基础知识,集合容器,并发编程,JVM,常用开源框架Spring,MyBatis,数据库,中间件等,包含了作为一个Java工程师在面试中需要用到或者可能用到的绝大 ...
 - Java基础知识面试题(最详细版)
		
刚刚经历过秋招,看了大量的面经,顺便将常见的Java常考知识点总结了一下,并根据被问到的频率大致做了一个标注.一颗星表示知识点需要了解,被问到的频率不高,面试时起码能说个差不多.两颗星表示被问到的频率 ...
 - java基础知识面试题(41-95)
		
41.日期和时间:- 如何取得年月日.小时分钟秒?- 如何取得从1970年1月1日0时0分0秒到现在的毫秒数?- 如何取得某月的最后一天?- 如何格式化日期?答:问题1:创建java.util.Cal ...
 - java基础知识面试题(1-40)
		
1.面向对象的特征有哪些方面?答:面向对象的特征主要有以下几个方面:- 抽象:抽象是将一类对象的共同特征总结出来构造类的过程,包括数据抽象和行为抽象两方面.抽象只关注对象有哪些属性和行为,并不关注这些 ...
 - Java基础知识面试题及答案-整理
		
1.String类可以被继承吗? 不能.String类在声明中使用final关键字修饰符.使用final关键字修饰的类无法被继承. Java语言的开发者为什么要将String类定义为final类呢? ...
 - Java基础知识面试题详解(2019年)
		
文章目录 1. 面向对象和面向过程的区别 2. Java 语言有哪些特点? 3. 关于 JVM JDK 和 JRE 最详细通俗的解答 JVM JDK 和 JRE 4. Oracle JDK 和 Ope ...
 - Java 基础知识面试题
		
equals与==有什么区别? (1)==是判断两个变量或实例是不是指向同一个内存空间 (2)equals是判断两个变量或实例所指向的内存空间的值是不是相同 Object有哪些公用方法? (1)equ ...
 - 经典的Java基础面试题集锦
		
经典的Java基础面试题集锦,欢迎收藏和分享. 问题:如果main方法被声明为private会怎样? 答案:能正常编译,但运行的时候会提示”main方法不是public的”. 问题:Java里的传引用 ...
 - 非常全面的java基础笔试题
		
下面是java基础笔试题,当时我去笔试,做了1个小时(80道选择题,后面的简答题就没时间做了),结果很吓人,太挫了,最后被面试官忽悠去培训去了,呵呵.我偷偷把面试题弄了下来,用来学习吧,也希望能对你们 ...
 
随机推荐
- 数据结构(三) 用java实现七种排序算法。
			
很多时候,听别人在讨论快速排序,选择排序,冒泡排序等,都觉得很牛逼,心想,卧槽,排序也分那么多种,就觉得别人很牛逼呀,其实不然,当我们自己去了解学习后发现,并没有想象中那么难,今天就一起总结一下各种排 ...
 - oracle删除字段中的空格、回车及指定字符
			
create or replace procedure PROC_test is --Description:删除字段中的指定字符(回车chr(13).换行chr(10)) --By LiChao - ...
 - JSTL 核心标签库 使用(转)
			
在JSP的开发中,迭代是经常要使用到的操作.例如,逐行的显示查询的结果等.在早期的JSP中,通常使用Scriptlets来实现Iterator或者Enumeration对象的迭代输出.现在,通过JST ...
 - 小练习,判断X的奇偶性
			
package lianxi1; public class text { public static void main(String[] args) { ; ==) { System.out.pri ...
 - 老李分享:大数据框架Hadoop和Spark的异同 1
			
老李分享:大数据框架Hadoop和Spark的异同 poptest是国内唯一一家培养测试开发工程师的培训机构,以学员能胜任自动化测试,性能测试,测试工具开发等工作为目标.如果对课程感兴趣,请大家咨 ...
 - 6.Redis常用命令:Set
			
在Redis中,我们可以将Set类型看作为没有排序的字符集合,和List类型一样,我们也可以在该类型的数据值上执行添加.删除或判断某一元素是否存在等操作.需要说明的是,这些操作的时间复杂度为O(1), ...
 - cassandra高级操作之JMX操作
			
需求场景 项目中有这么个需求:统计集群中各个节点的数据量存储大小,不是记录数. 一开始有点无头绪,后面查看cassandra官方文档看到Monitoring章节,里面说到:Cassandra中的指标使 ...
 - 手机交互应用服务(状态栏提示信息Notifications)
			
官方的一个简单的例子: NotificationCompat.Builder mBuilder = new NotificationCompat.Builder(this) .setSmallIcon ...
 - $_GET
			
POST GET ,是提交表单的两种方式,GET传值就用$_GET获取,POST提交表单就用$_POSTpost与get的区别是一个在地址栏显示参数,另一个不显示 如果地址是这样:http://zhi ...
 - Win7+CentOS双系统(二)
			
在之前的文章中我们实现了Win7+CentOS6.3双系统的安装和使用,不过比较不幸的是在CentOS6.4版本时其安装文件大小已经超过了FAT文件系统所能容纳的单个文件大小4G.我们使用FAT文件系 ...