java必备基础知识

1、java特点(五个以上):
简单的、面向对象的,分布式的,安全的,稳定的,与平台无关的、可解释的,多线的,动态的 语言。
2、java的版本分类,以及每种版本的应用方向:
JME:是面向内存有限的移动端,为消费性产品设计的;
JSE:是sun公司针对桌面开发和低端商务计算方案开发的版本,为笔记本电脑、pc机等设计的
JEE:是一种利用JAVA 2平台来简化企业解决方案的开发、部署和管理相关的复杂问题的体系结构。 为企业级的、服务器端的高端应用而设计的;
3、描述java技术的主要特性:
java虚拟机,垃圾回收,代码安全性
4、描述java虚拟机的功能:
a、通过ClassLoader寻找和装载class文件
b、解释字节码成为指令并执行,提供class文件运行环境
c、进行运行期间的垃圾回收
d、提供与硬件交互平台
5、简述java代码安全性
a、编译时的错误检验
b、类装载检查,把本机上的类和网络资源类相分离,在调用类的时候进行检查,因而可以限制任何“特洛伊木马”的应用
c、字节码校验
d、沙箱机制,限制访问权限
6、垃圾回收机制:
Java 编程语言解除了程序员释放内存的责任。它可提供一种系统级线程以跟踪每一次内存的分配情况。在 Java 虚拟机的空闲周期,垃圾收集线程检查并释放那些可被释放的内存。垃圾收集在 Java 技术程序的生命周期中自动进行,它解除了释放内存的要求,这样能够有效避免内存漏洞和内存泄露(内存泄露就是程序运行期间,所占用的内存一直往上涨, 很容易造成系统资源耗尽而降低性能或崩溃) 。
垃圾回收有以下特点:
a、垃圾回收是一个自动的系统行为,程序员不能控制垃圾回收的功能和行为。
b、有一些和垃圾回收相关的方法,比如:System.gc(),调用这些方法,仅仅是在通知垃圾回收程序,至于垃圾回收程序运不运行,什么时候运行,都是无法控制的。
c、程序员可以通过设置对象null,来标示某个对象不再被需要了,这只是表示这个对象可以被回收了,并不是马上就会被回收
7、简述java代码的运行过程:
a、编写代码
b、编译
c、类装载 通过类装载器装载Class文件
d、代码校验 由字节码校验
e、解释 由解释器将字节码转换成机器码
f、运行
8、简述classpath,path,Java_Home的意义和配置方法
path 操作系统运行环境的路径
classpath java运行应用程序是所需要的类包的路径
JAVA_HOME 供需要运行java的程序使用
9、一个完整的java文件的代码分几个部分,每个部分都起什么作用(大致写法)
package 当前类所在位置
import 当前类运行时所需要的包或类
public class 类名 {
属性定义;
方法定义;
构造方法定义;
public static void main(String args[])例外{ 程序入口
语句;
}
}
10、java的基本数据类型有几种?分别是?
short、long、int、float、double、char、boolean、byte
短整型、长整型、整型、浮点型(单)、浮点型(双)、字符型、布尔型、字节型
11、在基本类型中,如果不明确指定,整数型的默认是什么类型的,带小数点的是什么类型的?
整数型 默认为 int
带小数的默认为 double
boolean的默认值 false
12、如何定义float和Long型
float f = 1.2f
long l = 1.2L
13、什么是引用类型?
用户定义类型, 它可引用类和数组。除去基本数据类型的其他类型都是引用数据类型。
14、什么事按值传递?什么是按引用传递?
按值传递:就是将该值的副本传过去(基本数据类型+String类型的传递,就是按值传递)
引用传递:就是将值的内存地址传过去(除基本数据类型+String类型的传递,就是引用传递)
15、什么是实例变量?什么是局部变量?什么是类变量?什么是final变量?
实例变量:类中定义的变量,即类成员变量,如果没有初始化,会有默认值;
局部变量:在方法中定义的变量,必须初始化;
类变量:用static修饰的属性;
final变量:用final修饰的变量。
16、简述几种变量的定义规则和使用规则?
实例变量:不需要static关键字来声明,需要类的实例(对象)的调用;
类变量:用static修饰,可以用类名调用,也可以用类的实例调用;
局部变量:在方法内任意定义的变量即为局部变量;
final变量:一旦赋值,不可以再修改的变量;
final属性只允许赋值一次,且只能通过构造方法赋值,定义后也就是一个常量;
final修饰的变量,只允许赋值一次。
17、请描述instanceof、?:、&、&&各自的功能
instanceof:用来判断某个实例变量是否属于某种类的类型。
?::三目运算符 表达式1?表达式2:表达式3
&:位运算符 按位与
&&:逻辑运算符 逻辑与
18、请描述break和continue的功能和用法
break:终止(跳出)最近的循环
continue:跳出本次循环,执行下一次循环
19、什么是构造和析构方法?功能是?
构造方法:每个类至少有一个构造方法,类初始化时调用的方法
a、方法名和类名相同
b、无返回值类型
格式:访问权限 类名(参数列表){};
a、自己定义构造后,就没有默认的构造方法
b、无构造方法时,默认为空值的构造方法(无参数,方法体为空)
析构方法:finalize
类销毁时,自动调用方法
当对象在内存中被删除时,自动调用该方法
在此方法中可以写回收对象内部的动态空间的代码
20、简述Java的访问修饰符类型?分别有什么功能?
public 公开的,任何一个类都可以访问
protected 同包同类,只可被它的子类访问
default 只能被同一个包中类访问
private 私有的,只能在本类中被访问
21、写出5个以上的JDK中的包,以及他们的基本功能
java.awt : 包含构成抽象窗口工具集的多个类,用来构建和管理应用程序的图形用户界面
java.lang : 提供java编程语言的程序设计的基础类
java.io : 包含提供多种输出输入功能的类
java.net : 包含执行与网络有关的类,如URL,SCOKET等
java.applet : 包含java小应用程序的类
java.util : 包含一些实用性的类
22、什么是包装类?java中都有哪些包装类
在JDK中针对各种基本类型分别定义相应的引用类型 称为封装类
Boolean Btye Short Integer Long Float Double Character
23、oop语言的三大特征是
封装性,继承性,多态性
24、简述this和super的功能和用法
this:
1)能访问除构造方法以外所有的属性、方法,通过this. 来调用方法和属性
2)不可以再静态方法中使用,
3)在调用其它构造方法时,必须放在该构造方法的第一行,
4)在构造方法中使用this(参数列表),相当于调用本类的其它构造方法,它必须作为构造方法的第一句。
super:访问父类
1)super. 点取父类中被子类隐藏的方法和属性,
2)通过super(参数列表)来调用父类的属性和方法,在调用父类的构造方法时必须放在子类构造方法里的第一行。
25、什么是重载?
在一个类中出现方法名相同,但参数不同时,这种情况就是重载。(与返回类型无关)
26、final的基本规则
1)final修饰的类不能被继承
2)final修饰的成员变量值允许赋值一次,且只能通过构造方法里赋值。
3)final修饰的局部变量即为常量,只能赋值一次。
4)final修饰的方法不允许被子类覆盖。
27、什么是抽象方法,什么是抽象类?
用abstract修饰的方法,只有方法的声明,而没有方法的实现,就叫抽象方法。
用abstract修饰的类,就叫抽象方法。
28、抽象类的规则
1)抽象类内部可以没有抽象方法
2)必须用abstract修饰
3)不能够直接使用抽象类,必须通过子类继承并且实现
4)抽象方法不允许被private修饰
29、什么是异常,异常的分类?
程序中导致程序中断的一些情况叫做异常,一般程序员可以处理。
异常分为运行时异常和非运行时异常(一般异常)
运行时异常是指因设计或实现方式不当导致的问题。亦可以说,是程序员的原因导致的,本来可以避免发生的。例如:BufferOverflowException,classCastException,IndexOutOfBoundsException,ArithmeticException。出现这些异常的代码不需要try块包围。
非运行时异常是指除运行时异常以外所有的异常,出现这些异常的代码必须用try块包围。
30、简述throw和throws的功能和使用方法
throw指编程人员主动抛出一个异常
throw new NullPointerExeption();
throws指程序遇到异常情况自动的被动抛出一个异常
public void test() throws Exception{ }
31、什么是预定义异常
java程序中预先定义好的异常叫做预定义异常
32、什么叫保持,什么是可序列化?如何实现可序列化?
将一个对象存放在某种类型的永久存储器上(比如硬盘,光盘,软盘等),称之为保持。
标识一个类可以被持久化,叫序列化,也叫串行化或持久化。表示这个类中的数据可以按流式输出。
实现可序列化的方法:实现java.io.Serializable接口。
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值