JavaSE
2024-01-10 21:35:26 4 举报
AI智能生成
JavaSE(Java Standard Edition)是Java编程语言的一个版本,它是Java平台的核心,提供了开发桌面应用程序和简洁的Web应用程序所需的工具和库。JavaSE包含了Java的核心类库,如集合、泛型、线程、IO、网络等,以及Java虚拟机(JVM),它可以在不同操作系统上运行。JavaSE是Java平台的基础,其他版本如JavaEE(Java Enterprise Edition)和JavaME(Java Micro Edition)都是在JavaSE的基础上构建的。
作者其他创作
大纲/内容
我们遇到问题 分析问题 解决问题 我们要一步一步的实现一行一行调用 很麻烦 效率不高\t强调步骤
有参无返
无参有返
无参无返
有参有参
形参
任意类型
提前结束方法
或者返回数据
返回值
类型+形参类型
方法签名
方法名相同\t形参的 类型 顺序 个数 不同
方法重载
定义在类中 其它方法外
方法调方法
递归
拥有独有的能力 完成特定的功能
方法
字节型\tbyte\t1字节\t-128——127
短整型\tshort \t2字节\t-32368——32367
整数\tint\t4字节\t21亿
长整型\tlong\t8字节
单精度\tfloat\t4字节\t小数点7位
双精度\tdouble\t8字节\t小数点15位
字符型\tchar\t2字节
布尔型\tboolean\t\ttrue/false
数据类型
++ -- ?: && || ……
运算符
while
for
do-while
增强for循环
循环语句
if-else
break\t防止穿透
默认的
default\t
选择
case
判断值 可以放自动转为int类型 字符串 枚举
switch
条件语句
流程控制语句
自动
强转
类型转换
单行注释
多行注释
文本注释
描述数据的
注释
固定的 不可更改的
不能被继承
修饰类
必须赋值
修饰属性
只能重载 不能重写 如果父类的修饰符是私有的 子类可以定义同名的方法(但不是重写)
修饰方法
常量\tfinal
性能好 成本低
优点
不易维护、不易复用、不易扩展
缺点
面向过程
是一种编程思想,是基于面向过程存在的。通过对象的方式,将现实中的事物映射到计算机模型的一种编程方法\t\t强调对象
私有的\tprivate
受保护\tprotected
默认的\tdefault
公共的\tpublic
将属性私有话\t提高代码的安全性
可以用来初始化对象的属性
构造器
对象共用一份
用类可以直接调
可以修饰全局变量
static
封装
父类没有无参构造时 子类必须重新写他的有参构造
实例化子类时 一定会调用父类的构造器
只能单继承 和 多层继承
可以实现多个接口\timplements
子类可以重写父类的方法
判断一个对象 是不是一个类的实列\tinstanceof
子类继承父类 拥有父类的所有内容 还可以追加独有的属性和方法\textends
表示父类
Super
表示当前对象
this
继承
父类对象引用子类
重写父类的方法
有继承关系
多态是一种现象\t
多态
三大特性
跟在方法 或者 控制语句后面的
普通代码块
随着类的加载 而加载\t只会执行一次
静态代码块
自动加载到构造器里边
创建一次对象 就会加载一次
构造代码块
代码块
抽象类不能被实列化
继承抽象类 必须重写他的抽象方法
抽象类有普通方法 但是有抽象方法的必须是抽象类
abstract
抽象类
方法头必须一致
不同类中
重写
比抽象还抽象的类
只能有抽象方法
interface
接口
易维护、易复用、易扩展,也就是面向过程的缺点
成本较高 性能差
面向对象
打印信息
toString
实现接口 Cloneable
克隆
clone
比较
equals
Hash值
Hashcode
所有类的最终类
Object
绝对路径
当前项目
相对路径
文件类
File
sort\t排序
数组类
Arrays
.getByte\t转为字节
spilt
replace\t替换
substring 截取
trim 去掉两边空格
length\t长度
字符串类
StringBuffter
StringBuilder
可变的
不可变的
常量池
String
解释时间
format
解析字符串
parse
SimpleDateFormat
获取秒数
System.currentTimeMillis
时间类
Date
LocalDate
将基本类型包装成一个类
基本类型和字符串相互转换
自带缓存
自动拆装箱
包装类
数学类
Math
特殊的类
enum定义
定义几个静态变量 每一个变量都是这个类的实列
枚举
常用类
扩容数组
增加
移动数据
改 删
插入排序
选择排序
冒泡排序
排序
二维数组
存储同一类型长度固定的数据
数组
ArrayList\t底层数组
LenkdList\t底层双向链表
有序的 可重复的
list
哈希表
HashSet
无序的 不可重复的
set
迭代器接口
Iterator
Collection
HaspMap\t数组链表红黑树
以键值对存储数据 不可以重复的
Map
存储不同类型长度可变的数据
指定写入同意类型的数据
通配符\t<?>
上限\t下限
泛型
集合
读取键 返回值
一种特殊的集合
Properties
可以排序的集合
比较器
compartor接口
可比较的
重写他的 comparto方法
comparable接口
fill\t重写
binarySearch\t二分查找
shuffle\t乱序
reverse\t逆序
集合工具的一些方法
collections
集合的四个工具类
字符输入输出流
字节输入输出流
节点流
中间有个缓存点
缓存流
序列化
ObjectInputStream
反序列化
ObjectOutputStream
加一个属性地址防止序列化和反序列化同步
serialVersionUid
要自定义类实现一个接口
对象流
输入字节转字符
InputStreamRead
输出字节转字符
OutputStreamWriter
转换流
将数组存入内存中
将内存存入数组中
数组流
处理流\t对节点流增强效率 只对字节流
占三个字节
UTF-8
占两个字节
GBK
编码格式
以程序为标准,传给程序的就是输入流,程序传给其它程序输出流
IO流
newInstance()
创建对象
Constructor
描述构造器
Field
描述属性
method
描述方法
Array.newInstance
描述数组
声明所有 Declared
描述数据的元数据
对象.getClass
类.Class
ClassForName
创建Class类
类型一致 确定不了个数的时候
必须在所有参数最后面
可变参数
加载->验证->准备->初始化->卸载
类的生命周期
用来加载 Java 类到 Java 虚拟机中
Bootstrap ClassLoader 此加载器采用c++编写,开发中很少见
Extension ClassLoader 进行扩展类的加载,对应的是jre\\lib\\ext目录中的类
AppClassLoader 加载classpath指定的类,是最常用的加载器,默认的加载器
有三种类加载器
类的加载器
反射
根据内部类的匿名内部类简化的\t
accetp方法
有参无返回
Consumer 消费型
apply方法
有参有返回
Fuction\t函数型
test方法
有参反布尔
predicate 断定型
get方法
无参有返回
supplier 供给型
四大内置接口
类::实列方法
对象::实列方法
类::静态方法
借别人的方法
方法引用
类名::new
构造器的引用
只有且只有一个抽象方法
函数型接口
Lambda表达式
可以访问外部类的所有成员变量和方法
成员内部类
某个类以及它的实例只是用一次
没有名字的类
匿名内部类
访问仅限于方法内或者该作用域内
定义在一个方法或者一个作用域里面的类
局部内部类
内部类就只能访问外部类的静态成员变量
把一个类隐藏在另外一个类的内部
静态内部类
内部类
扩展标记性语言
传输数据的
拥有互联网最高级别通行证的数据携带者
dtd
Schrma
两个约束
解析不被忽略\tPCTADA
解析被忽略\tCTADA
解析器
解析多次
Dom
功能强大\t开放源代码
Dom4J
使用具体类\t不使用接口
JDom
扫描器 解析一次
SAX
xml解析
查找信息
Xpath
xml
不用管他
错误异常\tError
try{}catch{}finlly{}
捕获
throws....
抛出
避免不了 可以处理
编译期异常\tCheckedException
处理不了 可以避免
运行时异常\trunTimeException
异常
InetAddress
电脑的唯一标识\tIP
Socket
软件的唯一表示\t端口
连接服务端\tSocket
客户端
暴露接口\tServerSocket
等待连接\taccept
服务端
面向连接\t效率不高\t
TCP
非面向连接\t数据丢失\t效率高
UDP
两个协议
网络的绝对路径
URL
底层\t物理层
顶层\t应用层
网络分层
语义 语法 时序组成
协议
资源共享
网络编程
描述注解的元注解
Target\t作用于位置
ElementType\t取值
Rentention\t保留时段
描述程序\t给计算机看的
注解
资源分配的单位
睡眠\tsleep
插入\tjoin
返回就绪状态\tyield
同步\tsynchronized
等待\twait
唤醒等待\tnotify
开启线程\tstart
执行和调度的单位
继承Thread
实现\tRunnable接口
实现\tCallable接口
创建线程方法
线程
进程
进程可以并发多个线程,每条线程执行不同的任务
多线程
任意数字
\\d
除数字之外
\\D
任意数字和字符
\\w
非数字和字符
\\W
非.之外
.
找点
\\.
空格 制表符
\\s
非空格 制表符
\\S
描述字符串的特殊字符串
懒惰模式\t?
独占模式\t+
可回溯模式
贪婪模式
开始\t^
结束\t$
单词边界\t\\b
边界
反向引用
?=xxx\t以什么结尾
?<=xxx\t以什么开头
?!xxx\t不是以什么结尾
?<\t不是以什么结尾
断言
正则
以一种声明的方法处理数据
fifter
过滤
求和 求乘积 求最值
归约
forEach
遍历
max最大数 | min最小数 | count合计
聚合
map一个元素 | flatMap每一个字符
映射
collect(collectors.toList)\t
归集
partitioningBy | groupingBy
分组
sorted(Comparator com):
平均值\taveragingDouble
collectors
统计
集合.Stream
数组.Steam
iterate.limit
gnerte.limit
Stream.of
静态创建
创建方式
对集合功能的增强
Stream流
JavaSE
0 条评论
回复 删除
下一页