对 Java 中的每个知识点简短的概括

1.JDk、JRE、JVM分别是什么?他们之间的关系是什么?


(1).Jdk是Java开发工具包。

(2).JRE是Java运行时的环境。

(3).JVM是Java运行时的虚拟机。

JDK是整个Java的核心,包括了Java运行环境JRE、Java工具和Java基础类库。JRE是运行JAVA程序所必须的环境的集合,包含JVM标准实现及Java核心类库。JVM是整个java实现跨平台的最核心的部分,能够运行以Java语言写的程序。

2.Java 的运行原理

Java源程序经过编译器编译后变成字节码,字节码由虚拟机解释执行,虚拟机将每一条要执行的字节码送给解释器,解释器将其翻译成特定机器上的机器码,然后在特定的机器上运行。



3.什么是面向对象编程?

在完成一件事情时,会将事情中的实体对象抽象出来,形成「类」的概念,事情的完成是通过类的对象之间发生关系去实现的。


4.Java支持的数据类型有哪些?

Java的数据类型包括基本数据类型和引用数据类型两大类。

基本数据类型包括整数类型、浮点类型和字符型。

整数型:byte、short、int、long。
浮点型:double、float。

字符型:char。

布尔型:boolean

引用数据类型包括类类型、接口和数组。

5.运算符


算术运算符  赋值运算符  比较运算符  逻辑运算符


6.流程控制

6.1顺序结构

程序是一个自上而下运行的过程。

6.2分支选择结构

Java 中的分支选择结构有 if 结构、switch 结构

6.3循环结构

循环语句可以在满足循环条件的情况下,反复执行某一段代码。

被重复执行的代码叫做循环体。

while循环 for循环  do-while循环

6.4控制循环结构

break:在循环体中,使用 break 关键字跳出整个循环

continue:在循环体中,使用 continue 跳出本次循环,循环还会继续执行。

7.

数组的要点

  • 存放的数据是相同的数据类型
  • 数组的长度在定义时就确定了大小,数组是不可变长度的,或者说叫定长
  • 数组中可以存放任意的数据类型(包含基本数据类型、引用数据类型、数组)

  • 数组本身是引用数据类型(在栈内存中会存储其在堆内存中的引用地址)

数组的初始化

  • 静态初始化:显式的指定每个数组元素的值,由系统来决定数组的大小;
  • 动态初始化:只需要指定数组的长度,通过程序动态的给每个元素赋值(即由系统为每个数组元素分配初始值)。

8.面向对象编程的基本特征

类的三大部件:成员变量、方法、构造器。

封装:隐藏方法的实现细节,让使用这只能通过预先定义的方法来访问数据,从而可以在方法中加入一些控制逻辑,限制对成员变量的不合理访问。

继承:继承是实现软件复用的重要手段,子类可以访问父类中的非private修饰的成员变量。

多态:Java引用类型变量有两种类型:一种是编译时的类型,一种是运行时的类型。如果运行时的类型和编译时的类型不一致就会出现所谓的多态。

9.

static 关键字

用于修饰成员变量和方法,用 static 修饰的成员变量后者方法是属于  的,而不属于该类的实例(对象)。通常把 static 修饰的成员变量称为「类变量、静态变量」,方法称为「类方法、静态方法」

this 关键字

Java 中使用 this 关键字,指向调用该方法的对象。根据 this 所在的位置,大致分为两种:

  • 出现在构造器中:引用该构造器正在初始化的对象;
  • 普通方法中:调用该方法的对象。

this 用于在类定义中,获取当前对象的属性,或者调用当前对象的方法。

10.包装类

自动装箱就是Java自动将原始类型值转换成对应的对象,比如将int的变量转换成Integer对象,这个过程叫做装箱,反之将Integer对象转换成int类型值,这个过程叫做拆箱。因为这里的装箱和拆箱是自动进行的非人为转换,所以就称作为自动装箱和拆箱.

在使用基本数据类型的时候,对于类的成员变量都会有默认值,但是这个默认值其实在很多的时候是有意义的,而不能随便的设置值。

如果使用包装类,则不会有初始化值,定义的为null。


11.

方法的重载和重写

方法签名:只包含了方法名和参数列表

重写:发生在父类和子类之间,方法签名必须是一样的

重载:发生在本类中,方法名一样,但是参数列表不一样,重载可以是构造器的重载,也可以是方法的重载。


12.

final 可以修饰在类、成员变量、方法

  • 如果修饰类:则该类不会被继承(一般在开发中很少使用);
  • 如果修饰成员变量:一旦给成员变量赋值后就不允许修改其值,一般用在对常量的定义中。

  • 如果修饰方法:该方法不能被重写

13.抽象类

抽象方法和抽象类都是使用 abstract 修饰的

  • 如果在一个类中定义了抽象方法,那么这个类就是抽象类;
  • 抽象类是无法实例化的,只能作为父类被继承使用;
  • 抽象类的构造器只能用于被实现的子类的构造器调用。

abstract 是不能修饰成员变量的;
如果方法定义为 static,就不能使用 abstract 修饰符;

如果方法定义为 private ,也不能使用 abstract 修饰符;

子类必须要实现抽象类的抽象方法

14.接口

如果在一个类中,一个实现的方法都没有,或者都是抽象方法,那么,这样的类,成为接口。

  • 接口中所有的成员在定义的时候访问控制修饰符只能是 public 或者是 default;
  • 接口的命名规范同类的命名规范;
  • 在接口中,成员变量必须是静态的常量,方法必须是抽象方法,所以可以省略相关的修饰符。

接口的继承和类的继承不一样,接口支撑多继承,使用 extends 关键字,之间用逗号隔开,继承的内容包含了,常量和方法

接口是抽象类一样,是不能被实例化的,但是接口可以用于声明引用类型的变量,当使用接口来声明变量时,该变量的运行时类型必须是该接口的实现类。

接口的作用:

  • 用于定义实现类的行为规范;
  • 定义变量
  • 定义一些常量
  • 被其他类实现

一个类是可以实现多个接口的,使用 implements 关键字,多个接口之间用逗号隔开。

接口是抽象类一样,是不能被实例化的,但是接口可以用于声明引用类型的变量,当使用接口来声明变量时,该变量的运行时类型必须是该接口的实现类。

15.集合框架

在集合框架中,主要分为 Collection 和 Map 两大接口。
在 Collection 中又分为 List (有序集合) 和 Set (无序集合)。List 和 Set 都是接口。
Map 存储的 Key-Value 结构。

list 通过迭代器 Iterator  遍历元素

遍历 Map 结构

获取 Map 的 Key 集合,通过遍历 Key 集合,获取 Value 值。

  1. 获取 key 集合:map.keySet();
  2. 遍历 Key 集合:iterator;
  3. 获取 Value 值:get(key);


16.单例模式

所谓的单例模式,就是类只有一个对象,外部要使用该类的对象,通过调用一个类方法实现。

/**
 * 饱汉式单例模式
 * @author lzq31
 *
 */
public class Service2 {
	
	private static Service2 service = new Service2();
	
	private Service2() {
		
	}
	
	public static Service2 getInstance() {
		return service;
	}
}
}
/**
 * 饿汉式单例模式
 * @author lzq31
 *
 */
public class Service {
	
	private static Service service;
	
	private Service() {
		
	}
	
	public static Service getInstance() {
		if (null == service) {
			service = new Service();
		}
		return service;
	}
}

17.异常处理

如果不处理异常,一旦在出现异常的地方,程序就会被「异常指令流」直接终止,不再往下运行。

使用 try catch判断一个对象是否为空,使用 null != str

在 try catch 结构中,catch 是可以省略的,也可以多异常的捕获,但是出现多异常的时候,父类异常只能出现在最下面。

在实际的开发中,一般最简单的方式就是使用一个 Exception 直接处理。

使用 finally

无论是否出现异常都会被执行,特别要注意的是,如果没有写 catch ,那么 finally 是会被执行的,但是中断后的语句是不会被执行的。

throws

方法定义的后面显式的声明方法是有异常的,调用该方法的程序是要显式的处理异常

throw

自定义的创建一个异常对象。在一般的异常发生时候,虚拟机会动态的创建一个「系统异常」抛出,和自定义使用 throw 抛出是一个概念。

18.JDBC

  1. 选择数据库:加载数据库驱动
  2. 连接数据库
  3. 创建数据库查询
  4. 获取查询结果
  5. 关闭查询和连接

在使用 JDBC 的时候,需要关注的几个问题

  • 查询分为操作类(增加、删除、修改)和查询类。
  • 要避免重复的创建连接,增加数据库的连接数。
  • 注意异常的处理逻辑,保证没有未关闭的无效连接存在。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值