JavaSE复习笔记

配置阶段

java.exe 执行工具

javac.exe 编译工具(编译为class)

JDK JVM JRE

  • JVM + 核心类库 = JRE
  • JRE + 开发工具Java Javac = JDK
  • class字节码文件进入JVM
    image

编写代码

  • 文件名首字母大写
  • 文件名必须与代码的类名一致

Java跨平台

  • 一次编译处处可用
  • 只需开发一次就可以在任何安装了JVM的系统里运行
    image

基础语法

注释

image

字面量

image
\n换行 \t一个tab

变量

double money = 6.0
  • 声明后不允许存储其他类型
  • 变量不能在一个范围内({})定义同名变量
  • 定义时可以没有初始值,但是使用必须有

二进制(0B/0b开头)

int i1 = 0B01100001;
(sout): 97

八进制(0开头)

int i2 = 0141;
(sout): 97

十六进制(0x开头)

int i3 = 0x61;
(sout): 97

image

数据类型

image

整数

image

浮点型

image

字符和布尔

image

引用数据类型

String name = "西门吹雪";

关键字

public class byte short int long double 等

不能作为类名和变量名

标识符

给类、方法、变量等起名字的规矩
image
image

进阶语法

类型转换

自动类型转换

自动类型转换:范围小的变量直接赋值给范围大的变量,也就是在前面补0
image

image
image
!!!!切记上面,因为JVM的加法是int类型的

强转

都可以转,但是超范围会溢出
浮点型强转成整形,丢掉小数部分,直接保留整数部分

运算符

image
注意除法
image

加号连接

自增自减

image

赋值运算符

image
注意:扩展的赋值运算符隐含了强制类型转换

关系运算符

image

逻辑运算符

image
image
短路逻辑运算符性能更好

三元运算符

image

运算符优先级

image

流程控制语句

分支结构

if else
switch case default
image
switch不用一个一个判断,直接定位所以性能更好
image

循环结构

for while
知道循环几次用for
不知道用while

do while
image
image

数组

定义

image
image
image

动态初始化

image

image

遍历

for

方法

定义

参数传递

重载

方法名称相同,形参不同

面向对象

注意:一个Java文件可以定义多个class类,但只能有一个类是public,而且public的类必须是代码文件名

构造器

image

this关键字

可以用于指定访问当前对象的成员变量、成员方法
image

封装(面向对象三大特征之一)

image

JavaBean

也就是实体类

image

String & ArrayList

String

image

image

创建字符串对象

image

image

image

String常见面试题

  • 内存机制
  • 编译优化机制

常用API

equlas
image

ArrayList集合

ArrayList list = new ArrayList();

泛型

ArrayList<String> list = new ArrayList();

常用api

image

遍历

从后面遍历

面向对象进阶内容

static

image
静态成员变量属于类,加载一次,可以被共享访问,用类名访问

访问注意事项

image

工具类

代码块

image

单例模式

饿汉单例

image

懒汉单例

image

继承

image
单继承,但是可以多层继承,所有类都是Object的子类

继承后成员的访问:就近原则(先子类)

重写

image
image
image

构造器特点

image
image

this和super

image
image

面向对象语法

packet

权限修饰符

image

final

修饰类,类不能被继承
修饰方法,方法不能被重写
修饰变量,变量有且仅能被赋值一次
image

常量

image

枚举

image

抽象类

抽象类

image
image

抽象方法

image

模板方法模式

接口

image

image

多态

image
image
多态侧重行为

优势

解耦合
拓展性与便利性

问题

不能使用子类独有功能

类型转换

image
image

instanceof

image

内部类

image

静态内部类

image
image

成员内部类

image
image

局部内部类

image

匿名内部类

image
image

API

Object

toString

image
所以要重写,返回我们需要的内容信息

equals

默认比较地址是否相同(和=一样)
image

Objects(>=JDK1.7)

image

更安全,更准确

StringBuilder

image
image
image

Math(工具类,全静态)

image

System

image

BigDecimal

public static BigDecimal valueOf(double val);
image

Date类

image

SimpleDateFormat

image

Calendar

image

JDK8新增日期API

image

包装类

image
image

正则表达式

image

Arrays

image

Lambda表达式

image
image

image
image

image
排序的化简写法
image

image

集合

image

Collection

image
image
image

迭代器

image

增强for循环

image

lambda表达式

image

List

image

image

ArrayList

image

LinkedList

image
push = addFirst
pop = removeFirst
offerLast = addLast

注意事项

image
image

Set

image

HashSet 底层原理/哈希表

image
image

LinkedHashSet

image

TreeSet

image
image
image

image
image
简化
image
image

总结

image

Map

image
image
image
image
image
image
image
image
image
image

泛型

image
image

泛型类

image
image

泛型方法

image

泛型接口

image
image

通配符

image
image

可变参数

image

image

Collections集合工具类

image
image

Stream

image

Stream流的获取

image

常用API

image
image

Stream流的收集

image

异常

image

运行时异常

image

编译时异常

image

异常的默认处理流程

image

处理异常

image
image

建议的异常处理

image
image

自定义异常

image

日志技术

规范

Commons Logging
Simple Logging Facade for Java(SLF4J)

常见框架

Log4J
Logback

File

image

image

image

IO

image
image
image
image
image
image
image
image
image
image
image
image
image

缓冲流

image
image

多线程

创建一

image
image
image

创建二

image
image
image

创建三

image

创建四

image
image
image
image

常用API

image
image
image
image
image
image
image

线程安全

同步代码块

image
image

同步方法

image
image
image
image

Lock锁

image

线程通信

image
image

线程池

image
image
image
image

线程池处理Runnable

image
image

线程池处理Callable

image

Executors工具类实现线程池

image
image
image
image

定时器

image
image
image

并发与并行

image
image
image

线程

image
image
image
image

网络编程

InetAddress

image

UDP

image

DatagramPacket数据包对象

image
image
image
image

TCP

image

线程池

单元测试

image
image
image

反射

image
image
image
image
image
image
image
image
image
image
image
image

注解

image
image
image

动态代理

XML

image
image
image
image
image
image

设计模式

工厂模式

image

装饰模式

内存

方法区
栈内存
堆内存

数组

方法

String

static

继承

StringBuilder

集合

posted @ 2023-04-04 10:10  P1nk64  阅读(26)  评论(0)    收藏  举报