javaSE
2020-02-19 15:48:47 0 举报
AI智能生成
javaSE梳理
作者其他创作
大纲/内容
mysql
关于数据库的命令
关于表的命令
创建表的
create table 表名( 字段名1 int(number) [auto_increment Primary Key], 字段名2 char(number) [Unique] , 字段名4 date not null, 字段名5 dateTime default 数值, 字段名3 varchar(number) constraint foreign key (字段名3) references 主键表(主键字段名), 字段名6 enum(''), 字段名7 double )
查询
48.select distinct 字段|* from 表 [where .....]
[[group by ...] [having ...]] [order by ....] limit start,length;
[[group by ...] [having ...]] [order by ....] limit start,length;
删除
delete from 表名 []where 条件]
修改
update 表名 set 字段=值 []where条件
约束
fk PK unique not null default
新增
insert into 表(字段1,字段n) values(值1,值n)
函数
集合
Collection
List
ArrayList
LinkedList
Vector
三者区别?
Set
HashSet
TreeSet
LinkedHashSet
区别?
List和Set的区别?
Map
HashMap
TreeMap
LinkedHashMap
ConcurrentHashMap
HashMap和HashTable区别/
HashMap和ConcurrentHashMap区别
Collections
sort shuffle binarySearch max min indexOfSubList reverse copy rotate swap
rotate(List list,int m)方法的使用(含义:集合中的元素向后移m个位置,在后面被遮盖的元素循环到前面来)。
swap(List list,int i,int j)方法的使用(含义:交换集合中指定元素索引的位置)。
swap(List list,int i,int j)方法的使用(含义:交换集合中指定元素索引的位置)。
泛型
不明确的类型默认为Object
类<> 方法<>
出现于1.5
异常Exception
分类
运行时异常:RunTimeException:可以处理可以不处理
编译器异常:Exception及其子类除开RunTimeException:必须处理
常见的五个运行时异常和常见五个编译器异常:
ArrayIndexOutOfBoundsException => 数组索引值超出边界异常
StringIndexOutOfBoundsException => 字符串索引值超出边界异常
IndexOutOfBoundsException => (集合)索引值超出边界异常
NullPointerException => 空指针异常
ClassCastException => 类型造型异常
NumberFormatException => 数字格式异常
StringIndexOutOfBoundsException => 字符串索引值超出边界异常
IndexOutOfBoundsException => (集合)索引值超出边界异常
NullPointerException => 空指针异常
ClassCastException => 类型造型异常
NumberFormatException => 数字格式异常
1.SQLException :提供有关数据库访问错误或其他错误的信息的异常。
( 比如SQL语句写错,访问的表不存在,连接数据库失败等等)
2.IOexception :表示发生了某种I / O异常的信号。此类是由失败或中断的I / O操作产生的一般异常类。
( 广泛的说,什么时候会有IOException ,比如你文件都不到的时候 ,你在做数据库操作的时候数据库底层出现问题 ,或者你系统IO出问题了 ,系统拿不到文件句柄 ,你说的读着读着突然被删了,你可以试试,书不定真可以 ,你可以看有多少IOExeption个子类,差不多就有多少种类型 )
3.FileNotFoundException :当试图打开指定路径名表示的文件失败时,抛出此异常。(IOexception的子类)
( 注意,这里的找不到是在你的编译结果文件夹里面找不到,而不是在你的工程里面找不到,很多同学说自己工程里面有这个文件,为什么还要报这个异常?这个时候,你最好跑到你的编译文件放的文件夹下面,比如tomcat的webapps文件夹下面,找找你的工程对应的文件夹,看看那个里面有没有你的文件)(百度知道)
4.ClassNotFoundException :找不到具有指定名称的类的定义。
( 属于编译时异常,是在classloader加载类的时候发现类不存在在类路径的时候报出的。)
5.EOFException :当输入过程中意外到达文件或流的末尾时,抛出此异常。(IOexception的子类)
( 比如SQL语句写错,访问的表不存在,连接数据库失败等等)
2.IOexception :表示发生了某种I / O异常的信号。此类是由失败或中断的I / O操作产生的一般异常类。
( 广泛的说,什么时候会有IOException ,比如你文件都不到的时候 ,你在做数据库操作的时候数据库底层出现问题 ,或者你系统IO出问题了 ,系统拿不到文件句柄 ,你说的读着读着突然被删了,你可以试试,书不定真可以 ,你可以看有多少IOExeption个子类,差不多就有多少种类型 )
3.FileNotFoundException :当试图打开指定路径名表示的文件失败时,抛出此异常。(IOexception的子类)
( 注意,这里的找不到是在你的编译结果文件夹里面找不到,而不是在你的工程里面找不到,很多同学说自己工程里面有这个文件,为什么还要报这个异常?这个时候,你最好跑到你的编译文件放的文件夹下面,比如tomcat的webapps文件夹下面,找找你的工程对应的文件夹,看看那个里面有没有你的文件)(百度知道)
4.ClassNotFoundException :找不到具有指定名称的类的定义。
( 属于编译时异常,是在classloader加载类的时候发现类不存在在类路径的时候报出的。)
5.EOFException :当输入过程中意外到达文件或流的末尾时,抛出此异常。(IOexception的子类)
处理方式
抛(throw)
捕获 try cache
最终执行 finally
声明异常(throws)
面向对象OOP
类对象
属性
基本数据类型:整型 0 char 空白字符 boolean false 浮点型 0.0 引用数据类型 null
局部变量和成员变量(属性)的区别?)
1.作用域 2.默认值 3.修饰符 4.定义
方法
参数和返回值
有:数据类型 无:void return [数值];
参数
实参:调用方法的时候传入的具体的数据 ,形参:在方法设定的时候的一个参数引用
重载overlord
方法名相同,参数不一致(类型,个数,顺序) ,与访问修饰符以及返回值无关
构造方法和普通方法的区别?
1.名字 2.返回值 3.作用 4.调用
类语法规则
[修饰符] class 类名{
[修饰符] 数据类型 变量名[=初始值];
[修饰符] 返回值 方法名([参数列表]){
// 具体的功能
}
[修饰符]构造器] 类名([参数列表]){
//初始化数据
}
}
[修饰符] 数据类型 变量名[=初始值];
[修饰符] 返回值 方法名([参数列表]){
// 具体的功能
}
[修饰符]构造器] 类名([参数列表]){
//初始化数据
}
}
值传递和引用传递的区别?
OO,OOA,OOD,OOP分别是什么意思?
https://blog.csdn.net/moxiaoya1314/article/details/51899048
修饰符
静态修饰符(static)
属性:所以对象共享属性,可以类名.调用,对象调用
方法:静态方法不能调用非静态的属性和方法,在接口中允许有静态常量方法,类调用和对象调用
最优先:静态代码,只执行一次
final修饰符:最终的
修饰变量:一旦被赋值不能被改变
修饰方法:不能被子类覆盖,是最终的方法,构造器不能用final 修饰
修饰类:不能被继承
访问修饰符
作用域 本类 本包 项目
public √ √ √
protected √ √
default √ √
private √
public √ √ √
protected √ √
default √ √
private √
封装
概念:将一个类使用和实现分开,提供可访问接口
属性封装:将属性私有化,提供访问的接口(提供getter setter方法)
对构造器的封装:把构造器私有化,提供一个公共静态的方法访问构造器--------单例模式
继承
概念:当前的类派生出新的类,新的类可以接受已有的类的数据,并且可以扩展新的数据
extends
子类的创建过程
先调用对应的父类构造器,在创建父类对象,然后在调用自己的构造器,最后将子类和父类关联起来
继承访问范围(访问修饰符有关)
访问范围 本包 不同包
public √ √
protected √ √
default √
private
public √ √
protected √ √
default √
private
覆盖(重写override)
为什么发生?
父类方法不满子类需求,对该方法进行重新定义,称为覆盖
条件?
1.访问修饰符的作用域不能低于父类 2.参数列表,方法名必须相同 3.返回值类型必须小于父类范围
静态 构造器 父类 属性 加载过程
静态<父类属性<父类构造器<子类属性<子类构造器
多态
概念
一种事物多种形态
多态分类
静态多态:方法的重载
动态多态方法的重写
向上转型:子类的对指向父类的引用 Super a=new Sub();
向下转型
子类对象由原来的父类类型,强制转换为自己原来的子类类型---Sub s= (Sub) a
抽象类 abstract
概念
该类中有不能明确的方法的实现的时候,该类就是抽象类
抽象方法的定义
当不知道一个方法具体实现,这个方法用abstract修饰,那该方法为抽象方法;抽象方法没有方法体
public abstract void method();
public abstract void method();
抽象类注意事项
1.抽象类不能直接实例化
2.抽象类可以包含抽象方法,也可以不包含,如果一个类中有抽象方法,那么这个类一定是抽象类
3.抽象类的子类必须实现抽象类所有抽象方法(子类不是一个抽象类)
4.抽象方法的修饰符必须子类可以被访问的
2.抽象类可以包含抽象方法,也可以不包含,如果一个类中有抽象方法,那么这个类一定是抽象类
3.抽象类的子类必须实现抽象类所有抽象方法(子类不是一个抽象类)
4.抽象方法的修饰符必须子类可以被访问的
作用
定义模板,规范子类的行为
接口interface
属性:静态常量
方法:公共的抽象方法
作用
定义模板,实现多继承
注意事项
1.接口与接口之间可以多继承
2.接口与类之间可以多实现implements
2.接口与类之间可以多实现implements
abstract class 和interface 的区别?
1.abstr class interface
2.属性的修饰符
3.方法不同
2.属性的修饰符
3.方法不同
- 4.不能直接实例化,然后必须由实现类实现
内部类
1.成员内部类
2.局部内部类
3.静态内部类
4.匿名内部类
2.局部内部类
3.静态内部类
4.匿名内部类
JDBC
连接步骤:1.加载驱动2.创建连接对象3.创建执行对象4.执行sql并获得结果集5.处理结果集6.释放资源
参数:diver:com.mysql.jdbc.Diver url:jdbc:mysql://ip(localhost,127.0.0.1):3306/数据库名 username password
反射
探索未知类
构造器
字段
方法
对象的创建方式
线程
线程的实现方式:常见的三种:
继承Thread,实现:Runnable或者Callable
线程的生命周期:1.实例化2.就绪3.运行4.阻塞5.死亡
并发:
阻塞: 1.join 2.sleep 3.yield 4.wait
启动线程是哪个方法?
callable和Runnable的区别?
同步(synchronized):同步方法,同步代码块
等待唤醒机制
sleep和wait的区别?
死锁:线程之间相互阻塞,都需要对方的资源.
常用类
Date
构造器
方法
Calendar
抽象类
方法
属性
数字Number
格式化类:1.SimpleDateFormat -y-M-d h:m:s E 2.DecimalFormat 0 # . , %
String
构造器:
方法:
StringBuffer
构造器:StringBuffer() StringBuffer(String str)
方法
append,insert,replace,substring,delete,setCharAt
StringBuilderr
String和StringBuffer以及StringBuilder区别?
String(String str)这里创建了几个对象?
包装类:基本数据类型对应的包装类:double Double int- char-
intValue() doubleValue()
拆箱装箱:基本数据类型和包装类之间的转换
java基础
数组
概念
一组相同数据类型的数据的集合
定义
三种方式
排序方式
选择排序,冒泡排序,快排
多维数组
数组的元素是数组类型,那么这个数组是一个多维数组
循环:[x][y]
循环
for
do while
while
do while 和while区别?
break 和continue的区别?
选择结构
if else
switch注意事项
1.在一定需求下加入break
2.default case 里面只与表达式不符,就执行default
3.case 的数值 只能是 byte,short,int,char 枚举 String
4.case 的数值不能重复
2.default case 里面只与表达式不符,就执行default
3.case 的数值 只能是 byte,short,int,char 枚举 String
4.case 的数值不能重复
运算符
算数运算符,关系运算符,逻辑运算符,赋值运算符,条件运算符,位运算符
阿斯克马值
97= 65 48
数据类型
基本数据类型
整型:字节型,短整型,整型,长整型
浮点型:单精度 双精度
字符型
布尔型
浮点型:单精度 双精度
字符型
布尔型
引用数据类型
类
数组
接口
数组
接口
变量定义
数据类型 变量名[=数值];
标识符
概念:java中所有可以骑的名字,例如:类名,文件名,变量名,方法名......
组成
字母+下划线+数字+$
规则
1.不能数字开头
2.不能是关键字
3.严格区分大小写
2.不能是关键字
3.严格区分大小写
类名规则,变量名,方法名......
关键字:
概念:在java中有特殊含义的单词,全小写
学了那些关键字了:
4+4+2+1+1+1+8+2+2+1+2+1+4+1+3 go const
命令行:
查看目录 dir+目录
去到具体位置 cd+目录
返回上一层 cd..
返回根目录 cd\
清屏 cls
查看之前的命令 上下箭头
以树行显示进程 tlist -t
退出 exit
创建目录 madir
去到具体位置 cd+目录
返回上一层 cd..
返回根目录 cd\
清屏 cls
查看之前的命令 上下箭头
以树行显示进程 tlist -t
退出 exit
创建目录 madir
0 条评论
下一页