IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> PHP知识库 -> JAVA基础知识点概况 -> 正文阅读

[PHP知识库]JAVA基础知识点概况

语法结构

1.类 2.属性 3.方法 4.静态代码块

构造器

构造函数,构造类的对象,默认隐式,创建对象,先执行父类构造函数,再执行子类构造函数

父类的super必须在第一行

代码块

优先级最高,只执行一次

普通属性不能在静态方法里不能用

普通方法既可以使用静态属性也可以使用普通属性,静态方法只能使用静态属性

运算符

1.算数运算符 2.逻辑运算符 3.关系运算符 4.位运算符 5.三目运算符 6.赋值运算符

7.访问运算符

包与包结构

package import

程序执行结构

  • 顺序

  • 分支(if-else , if-else if , switch-case)

  • 循环(for, while, do-while,iterator,for-each)注:循环最多嵌套3层

关键字

true和false是值,不是关键字

this,super, abstarct, interface ,implements,static…

static(不可修饰类),静态代码块 (最优先执行,且只执行一次)

final(终态)(可以修饰类,不能被子类继承,修饰的方法不能被覆写)

continue(结束当次循环,进行下次循环)

注释与注解

单行,多行,文档注释

面向对象

封装(私有化成员属性,具有公开的get,set方法)直接操作属性,保证安全性,保证真实性

继承(单继承,接口可以多继承)将共有的代码提取出来,可以复用,层次关系,先执行父类构造方法,再执行子类构造方法,子类可以有父类实例化

多态(同一种行为的不同体现)重载,覆盖重写实现,左父右子

抽象类与接口

抽象类(方法法体为空,不能用new进行实例化,没有构造方法,通过子类继承)只需声明方法,不需要实现

接口(适配不同的设备) 方法都是未实现的,都是用子类去实现,接口和实现类没有任何关联的,属性都是常量

数组

定义方法

int [] num[];
int nums[]={1,2,3,4,5,6};
int number[]=new int[]{Integer.MAX_VALUE};

集合框架

Collection

List(有序序列,可以重复,不可以自己实例化,子类可以代替父类出现)

ArrayList 添加(add) 全部清除(clear) 移除(remove(0))获取(get(0)) 修改()

包含(contains) 转换为数组(toArray)

LinkedList 队首,队尾添加(addFirst,addLast)

Set(不可以放重复的元素,无序的)

TreeSet(有序集合) 比较实现comparable

Map

HashMap<key,value> 添加(put) 清除(clear) 移除() 键可以为空

比较器

Comparator(compare)

Collections.sort(list,Comparator)

工具类

Math.PI.abs(绝对值).ceil(向上取整).round(四舍五入).floor(向下取整)

Random

Calendar

字符串

String不能被继承,String对象不可变,可以共享,常量

charAt:返回指定索引处的 char

concat:将指定字符串连接到此字符串的结尾

contains:当且仅当此字符串包含指定的 char 值序列时,返回 true

endWith: 测试此字符串是否以指定的后缀结束

StringBuffer(先出来)

不会产生新的对象,线程安全

StringBuilder

线程不安全,但是效率高

delete(左闭右开)

reverse:翻转

IO流

File代表磁盘文件的类

文件流

输入流(read):文件到程序,磁盘到内存

输出流(write):程序到文件内存到磁盘

img

数据源:数据流入的源头

数据宿:数据流出的目的地

这里写图片描述

字节输入流 :InputStream(抽象类)实现FileInputStream is.available(判断长度)

字节输出流:OutputStream(抽象类)实现FileOutputStream

字符输入流

字符输出流:ready()

流先开的后关 换行:newLine();

读取:readLine

System.in对应键盘和System.out对应显示器

对象序列化

对象序列化就是把对象写入到输出流(文本)中,用来存储或传输

ObjectOutputStream

反序列化就是从输入流中读取对象

ObjectInputStream

作用:便于读写对象

序列化步骤

  1. 将即将要序列化的类实现Serializable

  2. 创建序列化类(ObjectOutputStream)

  3. 创建一个序列化对象

  4. 调用序列化对象的writeObject(对象)

  5. 关闭流

反序列化

  1. 创建反序列化类(ObjectInputStream)
  2. 创建序列化对象去接受,反序列化readObject(对象)
  3. 关闭流

异常与调试

运行时异常:RuntimeException类及其子类异常

编译时异常:代码错误

img

error错误不可处理

Exception:是运行时的错误,它可以被捕捉并处理

异常捕获try…catch…finally try…finally try…catch

抛出异常:throw new Ecption();

自定义异常(继承)extends Excption

不定参数

泛型

例如:Teacher 泛型的上下界

Map

List

枚举

引用数据类型

常用结构:private static final

  • 私有化构造器 唯一实例
private Season(){
}
  • 定义属性

Java 枚举是一个特殊的类,一般表示一组常量,比如一年的 4 个季节,一个年的 12 个月份,一个星期的 7 天,方向有东南西北等。

Java 枚举类使用 enum 关键字来定义,各个常量使用逗号 , 来分割。

注:不能添加引号 定义属性只能在实例对象的下面 第一行必须是实例

多线程

进程:每一个程序,容器是操作系统

线程:容器是进程

维度多进程多线程优劣
数据共享、同步数据是分开的:共享复杂,需要用IPC;同步简单多线程共享进程数据:共享简单;同步复杂各有优势
内存、CPU占用内存多,切换复杂,CPU利用率低占用内存少,切换简单,CPU利用率高线程占优
创建销毁、切换创建销毁、切换复杂,速度慢创建销毁、切换简单,速度快线程占优
编程调试编程简单,调试简单编程复杂,调试复杂进程占优
可靠性进程间不会相互影响一个线程挂掉将导致整个进程挂掉进程占优
分布式适应于多核、多机分布 ;如果一台机器不够,扩展到多台机器比较简单适应于多核分布进程占优

线程实现方式

  • 继承Thread类
  • 实现Runnable接口
  • 实现Callable接口

线程的生命周期

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-J4Ac90u0-1632191929807)(C:\Users\chenchao\AppData\Roaming\Typora\typora-user-images\image-20210914091340965.png)]

继承Thread类

  1. 创建一个类,继承Thraed
  2. 重写run()方法
  3. 创建对应类的实例(并非是Thread的实例)
  4. 调用对应类实例的start()方法

实现Runnable接口

  1. 创建一个类实现Runnable接口
  2. 重写run()方法
  3. 创建Thread类对象,构造函数中放入对应类的实例
  4. 调用Thread类对象的strat()方法

实现Callable接口

  • 1、Callable规定的方法是call(),Runnable规定的方法是run().
  • 2、Callable的任务执行后可返回值,而Runnable的任务是不能返回值得
  • 3、call方法可以抛出异常,run方法不可以
  • 4、运行Callable任务可以拿到一个Future对象,表示异步计算的结果。它提供了检查计算是否完成的方法,以等待计算的完成,并检索计算的结果。通过Future对象可以了解任务执行情况,可取消任务的执行,还可获取执行结果。

Timer和TimerTask定时器

同步锁

关键字:synchronized 作用属性是变量和方法

Lock接口(轻量级)

Lock lock=new ReetrantLock()

volatile:锁 指令重排

死锁

产出死锁的原因:

  1. 循环等待
  2. 互斥
  3. 占有且申请
  4. 不可抢占

加锁

yield

setDaemon:守护线程(后台线程)

线程类型转换

新建状态----->就绪状态----->阻塞状态------>等待状态------>限时等待状态------>结束状态

notify():唤醒 Object(类)

断言

assert() 只能放逻辑变量 在VM中添加参数 -ea参数

JDBC


步骤

  1. 导入jar包

  2. 注册驱动(只执行一次)

    ClassforName("com.mysql.jdbc.Driver")
    
  3. 建立连接

    Connection c=DriverManager.getConnection("jdbc:mysql://localhost:3306/user?useSSL=false?username=root&password=root")
    
  4. 创建执行SQL的语句

    Statement st=c.createStatement();
    
  5. 执行语句

    查询用ResultSet去接收

    st.executeUpdate(sql)
    
    while(rs.next){
    
    }
    
  6. 处理执行结果

    预编译

  7. 释放资源

注:CRUD(read) 先开后关(ResultSet,Statement,Connection)

批处理

事务

特性:ACID

原子性:要么成功,要么失败

一致性:事务前后数据完整性保持一致

持久性:事务一旦提交,不可逆

隔离性:持久性是指一个事务一旦被提交,它对数据库中数据的改变就是永久性的,接下来即使数据库发生故障也不应该对其有任何影响

数据库连接池

ment();


4. 执行语句

查询用ResultSet去接收

st.executeUpdate(sql)


while(rs.next){

}


6. 处理执行结果

预编译

7. 释放资源

注:CRUD(read)       先开后关(ResultSet,Statement,Connection)

批处理

### 事务

特性:ACID

原子性:要么成功,要么失败

一致性:事务前后数据完整性保持一致

持久性:事务一旦提交,不可逆

隔离性:持久性是指一个事务一旦被提交,它对数据库中数据的改变就是永久性的,接下来即使数据库发生故障也不应该对其有任何影响



  PHP知识库 最新文章
Laravel 下实现 Google 2fa 验证
UUCTF WP
DASCTF10月 web
XAMPP任意命令执行提升权限漏洞(CVE-2020-
[GYCTF2020]Easyphp
iwebsec靶场 代码执行关卡通关笔记
多个线程同步执行,多个线程依次执行,多个
php 没事记录下常用方法 (TP5.1)
php之jwt
2021-09-18
上一篇文章      下一篇文章      查看所有文章
加:2021-09-22 14:26:09  更:2021-09-22 14:27:10 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/23 23:26:57-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码