-
Java九大基本特点?
(1)简单:Java的风格类似C++,因而对C++程序员而言非常简单容易掌握Java编程技术,Java摒弃了C++中容易引发错误的地方,如指针和内存管理。
(2)面向对象:任何事物在Java中都是对象,因此重点集中在应用程序中的数据操作方法。
(3)分布式:Java应用程序可通过一个特定的URL来打开并访问对象,就像访问本地文件系统那样简单。
(4)健壮性:Java采取了一个安全指针模型,能减小重写内存和数据崩溃的可能型
(5)体系结构中立:Java程序被编译成一种与体系结构无关的字节代码,只要安装了Java运行时系统就可以在任意处理器上运行。
(6)解释执行:编译器javac将处理“.java”源文件生成类文件,类文件可通过名称为java的加载实用程序解释执行,将java字节码转换为机器可执行代码。
(7)高性能:Java通过JIT编译器首先将字节码编译成固有代码,将结果缓存下来,然后在需要时调用它们。
(8)多线程:Java语言内置支持多线程的功能,Java类库提供了Thread类。
(9)动态:Java自身的设计使它适合于一个不断发展的环境。在java类库中可以自由地加入新的方法和实例变量而不会影响用户程序的执行。 -
Java的核心机制?
(1)java虚拟机:
概念:在一台计算机上由软件或硬件模拟的计算机。
作用:读取并处理经编译过的并且与平台无关的class文件。
(2)java垃圾回收机制:
概念:是一种回收无用内存
作用:跟踪储存空间的分配情况,检查并释放那些可被释放的储存空间。
(3)java代码检测:
概念:java执行代码的时候,由jvm对运行的代码进行安全性检测。
作用:当进行一些不合理操作的时候,jvm会发出警告。 -
进程与线程的区别?
-
如何让Java虚拟机回收无用的内存?例如:String str = null,Java虚拟机再那些情况下会进行回收?
-
标识符要注意什么?
-
数据类型分为几种?
-
进制问题?转换方法,计算方法?
-
转义字符中的回车和换行怎么表示?
-
char和String的区别(有3个方面)?
-
数组的3种初始化方式?
-
数组动态初始化和静态初始化的区别?
-
如何获取数组的长度?获取数组的长度和获取字符串的长度的区别?
-
String类的常用方法有哪些?
-
运算符的分类?
-
Java三元运算符的用法?
-
instance的用法?判断一个对象是不是一个类实例(instanceof)?(Instanced的用法:判断是不是一个类)
-
break与continue的区别?
-
switch的表达式必须为那些类型?
-
重载Overload与重写Override的区别?
(1)重载(Overload):重载方法的参数列表必须不同,重载方法的返回值类型可以相同也可以不同。
(2)重写(Override):重写方法是根据父类中继承的方法进行改造,重写方法必须和被重写方法的名字相同、参数列表相同、返回值类型相同。重写方法不能使用比被重写方法更严格的访问权限。
-
package包与import的用法?
-
public类与非public类的区别?
-
Java支持多继承吗?为什么?
-
修饰权限?
-
super的用法?
-
static修饰变量和修饰类有什么区别?(static:static修饰的变量和方法属于类)
-
final修饰符的作用?
表示该类不能被继承
-
抽象类概念?
-
为什么final修饰抽象类?
-
接口?
-
接口和抽象类的区别?
接口是一种特殊的抽象类,接口是从抽象类中演化来的,接口中只包含常量和方法的定义,而没有具体实现。
-
常用的数据结构有哪些(集合元素)?
-
数据结构的使用方式(掌握设置值和获取值)?
-
Set类的字类HashSet的使用?
-
List
-
List与Set的区别?
-
ArrayList和linkedList的区别?
-
interface接口?
-
Map接口?
-
HashMap?
-
Hashtable与HashMap的区别?
-
ArrayList和向量(vector)的区别?
-
权限访问修饰符:public、protected、default(不写,默认没有任何修饰符)、private
Java有四种访问权限,其中三种有访问权限修饰符,分别为private,public和protected,还有一种不带任何修饰符:
私有权限(private)
private可以修饰成员变量,构造方法,方法,不能修饰类(此处指外部类,不考虑内部类)。被private修饰的成员,只能在定义它们的类中使用,在其他类中不能调用。
默认权限(default)
成员变量,构造方法,方法都能够使用默认权限,即无需写任何关键字。默认权限即同包权限,同包权限只能由本类中以及同包的类中访问。
受保护权限(protected)
protected可以修饰成员变量,构造方法,方法成员,不能修饰类(此处指外部类,不考虑内部类)。被protected修饰的成员,能在定义它们的类中,同包的类中被调用。如果有不同包的类想调用它们,那么这个类必须是定义它们的类的子类。
公共权限(public)
public可以修饰类,成员变量,构造方法,方法。被public修饰的成员,可以在任何一个类中被调用,不管同包或不同包,是权限最大的一个修饰符1.并不是每个修饰符都可以修饰类(指外部类),只有public和default可以。
2.所有修饰符都可以修饰成员变量,方法,构造方法
3. 如果什么都不写, 则修饰权限符为 default
4.为了代码安全起见,修饰符不要使用权限更大的,只要适用即可。 -
java内部类分为: 成员内部类、静态嵌套类、方法内部类、匿名内部类 。java内部类_百度百科 (baidu.com)
-
Error与Exception有什么区别?
Error:指的是JVM系统内部错误和资源耗尽等严重情况
Exception:指因编程错误或偶然的外在因素导致的一般性情况。
-
谈谈final,finally,finalize()的区别?
(1)final:最终,不可变,用于变量,类,方法等,代表不可修改,如果是final类, 则不能有子类。
(2)Finally:try-catch用的,里面的代码一定会被执行。
(3)Finalize:垃圾回收时执行该方法。 -
多线程有几种实现方法,都是什么?同步有几种实现方法,都是什么?
实现Runnable和继承Thread,同步的实现方面有两种,分别是synchronized,wait与notify
-
写一个满足Singleton模式的类出来?(饱汉、饿汉)
-
常见的算法题:二分法查找、快速排序、冒泡排序、水仙花问题(可以刷力扣)
-
异常的分类
-
常用的Exception有哪些?
-
抛出异常和捕获异常
-
java程序分两大类:Java Application和Java Applet小程序
(1)Java Application:以main()方法作为程序入口,由Java解释器加载执行。
(2)Java Applet小程序:没有main()方法作为程序入口,由浏览器或appletiewer加载执行。
注意:Applet的主要方法:
一、 int():在Applet创建时被虚拟机自动调用;
二、start():在int()被调用后接着调用start()方法;每次Applet被激活时,都会调用start();
三、stop():调用的时间和start()相反,每次Applet由活动状态变为不活动状态时,都会自动调用stop();
四、destroy():Applet销毁时由虚拟机自动调用,用来完成所有占有资源的释放。
两者的区别:执行方式不同;Application是在main()中运行,而Applet是在浏览器运行,必须创建一个HTML文件,通过编写HTML代码告诉浏览器载入何种Applet及如何运行。 -
java语法基础:
标识符规则:必须以字母、下划线“_”、或美元符“$”开头;
注释的三种方式:
(1)单行注释 : 以“//”开始,以换行结束;
(2)多行注释 : 以“/”开始,以“/”结束;
(3)文档注释 : 以“/**”开始,以“/”结束;
注释:注释中的每一行都必须以“”开始。使用javadoc工具从源代码和文档注释中将信息取出,然后转换为HTML文件。
关键字:
注意:所有关键字都是小写,goto和const从未使用但是也是关键字。
关键字分九大类:
(1);
运算符:
1、“&”:与运算符用符号“&”表示,其使用规律如下:
两个操作数中位都为1,结果才为1,否则结果为0,
标题:必须理解的JAVA基础问题?
作者:JayGao
地址:https://www.jaygao.top/articles/2022/12/27/1672135591275.html
版权:版权JayGao所有,如需转载,请注明出处
捐赠: