
JAVA基础
JAVA基础知识
Susceptible0506
这个作者很懒,什么都没留下…
展开
-
面试常问题目
JAVA jre和jdk的区别 Java环境根据需求分为:开发环境和运行环境。开发环境需要安全JDK,运行环境需要安装JRE JDK(Java Development Kit)是Java开发工具集。包含了Java基础类库,Java运行环境(JRE)和Java开发工具,是做Java开发必须安装的。 JRE(Java Runtime Environment)指的是Java运行时环境。Java程序运行时必需要JRE的支持。如果系统中安装JRE的话,则意味着系统可以跑Java程序,但是不能进行Java开发。原创 2020-09-26 15:07:05 · 325 阅读 · 0 评论 -
GC垃圾回收机制
判定对象是否为垃圾的算法? 对象被判定为垃圾的标准:没有被其他对象引用 判定对象是否为垃圾的算法? 1.引用计数算法 该算法通过判断对象的引用数量来决定对象是否可以被回收。 堆中的每个对象实例都有一个引用计数器,当一个对象被创建时,若对象被分配给一个引用变量,则该对象的引用计数+1;当对象的某个引用变量超过了生命周期或者被设置成一个新值时,该对象的引用计数-1。 任何引用计数为0的对象实例可以被当作垃圾收集。 优点: 由于只需要过滤出引用计数为0的对象,将其内存回收即可,所以算法的执行.原创 2020-09-22 18:20:03 · 283 阅读 · 0 评论 -
JAVA注解
1 注解 注解提供一种为程序元素设置元数据的方法。 元数据是添加到程序元素如方法、字段、类和包上的额外信息 注解是一种分散式的元数据设置方式,XML是集中式的设置方式 注解不会直接干扰程序代码的运行 所有的注解类都是继承自java.lang.annotation.Annotation接口 注解的功能: 1.作为特定的标记,用于告诉编译器一些信息(@Override表示方法重写了父类的方法,编译器会去检查是否父类有对应的方法) 2.编译时动态处理,如动态生成代码(lombook工具中的@Dat原创 2020-07-18 10:59:59 · 196 阅读 · 0 评论 -
JAVA反射
1 反射简介 反射主要是指程序可以访问,检测和修改它本身状态或行为的一种能力,并能根据自身行为的状态和结果调整或修改应用所描述行为的状态和相关的语义。 核心:允许程序在运行时来进行自我检查并且对内部的成员进行操作 反射机制的作用: 在运行时判断任意一个对象所属的类 在运行时获取类的对象 在运行时访问java对象的属性,方法,构造方法等 反射类库(java.lang.reflect)主要的类: Field:表示类中的成员变量 Method:表示类中的方法 Constructor:表示类的构原创 2020-07-17 21:59:59 · 262 阅读 · 0 评论 -
JAVA泛型
1 简介 泛型:让数据类型变得参数化 定义泛型时,对应的数据类型是不确定的。泛型方法被调用时,会指定具体类型。 核心目标:解决容器类型在编译时安全检查的问题。 泛型分为三类:泛型类;泛型接口;泛型方法 2 泛型类 注意:泛型的参数不支持基本类型; 泛型相关的信息不会进入到运行时阶段(在编译的时候就会用具体的数据类型替换掉泛型定义) 定义泛型类: import lombok.Data; @Data public class GenericClassExample&...原创 2020-07-17 12:40:10 · 2602 阅读 · 1 评论 -
JAVA JDBC
如何通过JDBC访问数据库? 加载JDBC驱动器。将数据库的JDBC驱动加载到classpath中 加载JDBC驱动,并将其注册到DriverManager中。Class.forName(driverName) 建立数据库连接,取得Connection对象。DriverManager.getConnection(url,username,password) 建立Statement对象或者PreparedStatement对象 执行SQL语句。 访问结果集ResultSet对象。 关闭对象,释放原创 2020-06-05 21:05:37 · 193 阅读 · 0 评论 -
JAVA容器
Java Collections框架是什么? Java Collections框架中包含了大量集合接口以及这些接口的实现类和操作它们的算法。主要提供了List、Queue、Set、Stack、Map等数据结构。 List、Queue、Set、Stack都继承自Collection接口。 Set接口,该接口有两个实现类:HashSet和TreeSet(有序)。 List接口,该接口的实现类:...原创 2020-04-25 23:05:15 · 145 阅读 · 0 评论 -
JAVA平台和内存管理
为什么说JAVA是平台无关语言? JAVA程序被编译成字节码文件,不同的平台会安装不同的JAVA虚拟机,由JAVA虚拟机将字节码翻译成具体平台可执行的机器码。 JAVA程序运行从上到下的环境次序:JAVA程序、JRE/JVM、操作系统、硬件 JVM的组成和作用? 1.类加载器(ClassLoader):加载类文件到内存。Class loader只管加载,只要符合文件结构就加载,至于...原创 2020-04-23 17:56:41 · 171 阅读 · 0 评论 -
JAVA输入输出流
Java中有几种类型的流? 常见的流有两种,分别是字节流和字符流。 字节流继承于InputStream与OutputStream,以字节为单位(8bit) 字符流继承于Reader和Writer,以字符为单位(16bit)。 区别:字节流在处理输入输出时不会用到缓存,而字符流用到了缓存。 管理文件和目录的类 File 方法: File(String filename) 根据指定...原创 2020-04-20 23:38:00 · 168 阅读 · 0 评论 -
JAVA异常处理
Finally块中的代码什么时候被执行? 如果try中有return,finally中的代码在return之前执行。 当finally中有return语句,会覆盖try中的return语句。 对于基本类型的数据,在finally中改变return的值,对其没有影响,而对引用类型有影响。(先将return的返回值存储在指定的位置,执行finally,再return) Finally一定...原创 2020-04-19 22:20:45 · 166 阅读 · 0 评论 -
JAVA基本数据类型/字符串/数组
不可变类 当创建了这个类的实例后,就不允许修改它的值了,类似于常量 所有基本类型的包装类都是不可变类 String s=”hello”; s+=”world”; s指向的String对象改变了,现在存在两个String变量,一个是”hello”,”hello world” Math类中的round/ceil/floor方法 round:四舍五入 ceil:向上取整 ...原创 2020-04-19 22:20:14 · 426 阅读 · 0 评论 -
JAVA关键字
变量命名的规则 只能由字母、数字、_、$组成,第一个字符不能是数字 变量名是区分大小写的。 跳出多重循环 在循环体里使用带有标识的break语句 out:循环体{ break out;} finalize object的一个方法,在垃圾回收器执行时会调用被回收对象的finalize()方法 final 用于声明属性、方法和类,分别表示属性不可变、方法不可覆盖和类...原创 2020-04-19 19:36:47 · 136 阅读 · 0 评论 -
JAVA面向对象
面向对象的特征? 抽象 继承 封装 多态:不同类的对象对同一消息做出不同的响应 组合和继承的区别? 组合是has-a的关系;继承是is-a的关系 JAVA中能使用组合就尽量不要使用继承 多态的实现机制? 方法的重载(编译时多态):同一个类中有多个同名的方法,方法参数不同(返回值不同不行) 方法的覆盖(运行时多态):子类覆盖父类的方法 抽象类和接口? 抽象类:只...原创 2020-04-19 19:36:10 · 88 阅读 · 0 评论 -
JAVA基本概念
JAVA语言的优点? 纯面向对象的语言 平台无关 提供了各种内库,更重要的是提供了垃圾回收器 提供了对Web开发的支持 去除了C++语言中许多难以理解的特征 JAVA和C++的区别? JAVA是由C++语言改进并重新设计而来的。 JAVA是解释性语言,C++是编译性语言 JAVA支持跨平台执行,C++不能 JAVA是面向对象的语言,不能定义全局函数和全局变量;C++是面向过...原创 2020-04-19 19:35:17 · 352 阅读 · 0 评论