Java全栈学习路线
2021-11-01 19:57:06 29 举报
AI智能生成
水流不争先,争得是滔滔不绝
作者其他创作
大纲/内容
第二阶段:前端基础
32——HTML-5基础
表单标签(form)
input(标签)
输入框——text&password
type="text"
name="userName"
value="UserName"
maxlength="5"
size="20"
单选框——radio
type="radio"
name="sex"
checked 默认选择(属性)
value = "boy"
多选框 ——checkbox
type="checkbox"
name="hobby"
value="sleep">
checked 默认选择(属性)
按钮——button
普通按钮——button
图片按钮——image
交互
文件上传——file
邮箱验证——email
URL验证——url
数字框与滑块
数字框——number
滑块——range
搜索框——search
下拉框(标签)——select
选项——option
文本域(标签)——Textarea
name="textArea"
id=""
cols="30"
rows="20"
表单应用(属性)
隐藏——hidden
只读——readonly
禁用——disabled
增强鼠标可用性——Label (标签)
for(去哪里)
占位符——placeholder
表单验证
required——非空判断
pattern——正则表达式
内嵌框架(iframe)
源文件——src
名字——name
框架边界(边框是否显示)——frameBorder
宽——width
高——height
媒体标签
video
源文件——src
播放控件——controls
打开网页自动播放——autoplay
默认静音——muted
频高——width
频宽——height
audio
源文件——src
播放控件——controls
打开网页自动播放——autoplay
默认静音——muted
tableLabel(表格标签)
Table标签
ListLabel
ol(有序列表)
ul(无序列表)
dl(自定义列表)
hrefLabel
a(页面间链接)
链接路径
目标窗口
锚链接
定义一个锚
点击跳转到锚
功能性链接(没用上知道有这个东西即可)
pictureLabel
img( 自闭和标签)
源文件
替代文本
悬停
图宽
图高
inetBaseLabel
标题标签
段落标签
换行标签 (自闭合标签)
分割线标签(自闭合标签)
粗体斜体标签
转义字符
空格—— ;
大小俞
> ——>
< ——<
版权所有——©;
多了去了 想要百度自己去!!!!!!!!!!!!!!!
HTML baseStructure
DOCTYPE ( html)
html (lang)
head
meta
charset
keywords
description
title
body
33——CSS
CSS 三种导入样式
内部样式
外部样式
链接式
导入式
行内样式
选择器(十分重要)
基本选择器
标签选择器
id选择器
类选择器
层次选择器
后代选择器——ul li
子选择器——body>p
相邻选择器——.active + p
通用选择器——.active~p
结构伪类选择器
定位第一个元素——ul li: first-child
定位最后一个元素——ul li: last-child
绝对排序定位第一个元素 p:nth-child(1)
相对排序在类型中定位第某个元素 p:nth-of-type(4)
属性选择器
a[id]
a[id=first]
a[class=links]
a[href^=http]
a[href$=doc]
属性选择器
标签+属性
属性 有值
标签+【正则表达式的属性】
= 精确匹配
*= 包含匹配
^= 以开头
$= 以结尾
属性 无值
美化网页元素
字体样式
字体样式——font-family
字体大小——font-size
字体粗细——font-weight
字体颜色——font-color
一体化——font: oblique bold 20px/16px "楷体";
文本样式
文本左右居中——text-align: center;
文本缩进——text-indent: 1em;
行高——line-height: 300px;
文本线
下划线——text-decoration: underline;
上划线——text-decoration: overline;
删除线——text-decoration: line-through;
去除线——text-decoration: none;
图文居中——vertical-align: middle;
文本阴影——text-shadow: #2bff0d 3px 0px 3px;
透明度——color: rgba(0,255,0,0.1);
伪类
鼠标悬浮a:hover
激活状态——a:active
列表美化
列表样式
list-style: none; 去除列表装饰
list-style: circle; 空心圆 装饰
list-style: decimal; 数字 装饰
list-style: square; 正方形 装饰
背景以及渐变
背景
背景导入——background: red url("../images/1.png") 255px 3px no-repeat;
平铺方式
X向平铺——background-repeat: repeat-x;
Y向平铺——background-repeat: repeat-y;
独张——background-repeat: no-repeat;
渐变
不透明度——opacity: 0.5;
盒子模型(auto)
外边距
边框
内边距
圆角模型和盒子阴影
border-radius
盒子阴影
box-shadow
dispaly
display: block
display-inline
display: inline-block
none
浮动以及边框塌陷的解决
浮动
float:left;
float:right;
clear
clear: right;
clear: left;
clear: both;
clear: none;
边框塌陷四大方案
增加父级框高度
底部添加空div
设置overflow(溢出)
overflow: auto
overflow: hidden;
overflow:scroll;
设置伪类选择器 ——#father:after{} (重点)
定位
相对定位——position: relative;
top: 20px;
left: 20px;
bottom: -10px
right: -20px
绝对定位——position;absolute
同上
固定定位——position: fixed;
同上
z-index(设置层次)
z-index: 999;
第一阶段:JavaSE
JAVA基础
基础篇
第一讲——工具-Markdown的语法
六大标题
字体(颜色背景....)
引用
分割线
插入图片
超链接
列表
表格
代码块
代码折叠
文本折叠
代码折叠
Mermaid
饼图—pie
流程图—graph
鼠标悬浮引用
第二讲——DOS常用命令
常用命令
第三讲——JDK的配置
系统变量
环境变量
检验
第四讲——输出HelloWorld
创建Hello.txt
编辑代码
修改后缀名
编译
运行输出
第五讲——IDER的下载与安装
第六讲——IDER & Helloworld
第七讲——IDER-注释
单行注释
多行注释
文档注释
第八讲——标识符与关键字
关键字
50个关键字
标识符
类名class
变量名temp
方法名
修饰符
private
default
protect
public
第九讲——数据类型
数据类型
基本类型
整数型
byte
short
int
long
浮点型
Float
double
字符型
char
Boolean布尔型
true
false
引用类型
拓展
进制
0b 二进制
十进制
0 八进制
0x 十六进制
浮点数特性
字符
字符串
第十讲——类型转换
低——>高
自动转换
高——>低
强制转换
第十一讲——变量、常量、作用域
变量
作用域
局部变量
实例变量
类变量
常量
Final
第十二讲——基本运算符
算术运算符
常用算术运算符
+、-、*、/、%(求模、取余)++(自增),--(自减)
扩展赋值运算符;+=、-=、*=、/=
关系运算符
>、<、>=, <=, ==、!=
幂运算
Math.pow(底数,指数)
逻辑运算符
&&、||、!(与或非)
位运算
位运算符;&(与)、|(或)、~(非&取反)、^(异或)、>>(右移位)、<<(左移位)、
三元运算符
?:
第十三讲——包机制
import
第十四讲——JavaDoc
流程控制篇
第十五讲——Users交互Scanner
hasNext
scanner.haNext()
scanner.next()
hasNextLine
scanner.hasNextLine()
scanner.nextLine()
使用scanner判定类型
scanner.hasNextInt()
scanner.hasNextDouble()
scanner.close();
第十六讲——IF的选择结构
单选这结构
双选择结构
多选择结构
连接符
第十七讲——Switch选择结构+查看源码
Switch
查看class文件
第十八讲——While详解
while
do while
for
第十九讲——增强For循环
数组.for
fori
第二十讲—— Break 与continue
break : 强制退出
continue : 回到开头
第二十一讲——Java方法
创建方法
无返回值 : void
有返回值 : 写返回类型类型
方法重载
方法名相同
参数列表不同
递归
第二十二讲——JAVA数组
数组的声明创建和赋值
声明
创建
赋值
两种初始化数组方式
静态初始化
动态初始化
数组边界
数组使用
数组使用
普通for循环打印
查找最大值
计算所有合
数组进阶使用
增强型for循环
建立方法打印
reverse
二维数组
int[][] array = {{1,2},{2,3},{4,5}}
printArray
增强型for循环printArray
Arrays类
Arrays.toString()
Arrays.sort()
Arrays.fill()
冒泡排序
稀疏数组
二维数组 —> 稀疏数组
获取有效值
创建稀疏数组
打印头文件
传递数据
打印稀疏数组
稀疏数组 —> 二维数组
创建二维数组
传递数据
打印二维数组
第二十三讲——面向对象
方法调用
同一个package下
static方法
添加static
非static方法
new
不同package
import package
同上
类与对象的创建
类
type
Method
对象
new对象 会进行初始化
int | 0
Steing | null
调用构造器
构造器
特点
与类名相同 首字大写
没有返回类型 也没有void
作用
为new 提供调用
初始化值
ALT+insert
选择多个
select None
Cancel
封装
private
get | set
set规范
extends
普通extends
拓展修饰符
public
protected
default | 默认的
private get set
三大重点
Object
所有类都继承Object
super
调用父类属性
super.name
调用父类方法
super.say()
特性
只存在父子类中
重写
重写是指方法的重写与属性无关
只有非静态才有重写!!!
子类重写了父类的方法,执行子类的方法
方法名必须相同
参数列表必须相同
多态
存在条件
有继承关系
子类重写父类方法
父类引用指向子类对象
注意
父类引用指向子类 不能使用子类独有方法
final和private不能做重写 更没有多态
属性没有多态性
instanceof
格式
类型转换
子 —>父
static
new Test01().go();
代码块
匿名代码块
static代码块
abstract
注意
抽象类中可以没有抽象方法,到那时有抽象方法中类一定要声明为抽象类
抽象类,不能使用new关键字来创建对象,它是用来子类继承的
抽象方法,只有方法的声明没有方法的实现,它是用来让子类实现的
子类继承抽象类那么就必须要实现抽象类没有实现的抽象方法(即重写),否则该子类也要声明为抽象类
接口
功能对比
implements
implement要重写接口interface方法并实现
内部类
成员内部类
可以通外部类实例内部类
在内部类可以get set外部类
局部内部类
匿名内部类
new Test01().go();
不用将实例保存到变量中
测试类
只有一个public class类 但是可以有多个class类
第二十三讲——异常
五大关键字
try | 监控区域
catch | 出现异常执行
finally | 都会走
thow | 主动抛出
throws | 方法中主动抛出
Throwable
ERROE
Exception
ArrayIndexOutOfBoundsException(数组下标越界)
ArithmeticException(算术异常)
....
处理机制
捕获异常
筛选异常
System.exit(886);
程序退出
e.printStackTrace();
打印错误的栈信息
抛出异常
主动抛出
如果在方法中不能解决可以向外抛出异常 到外面解决 也可以在方法内解决
快捷键
CTRL+ALT+T
自定义异常
略.......
第二十五讲——常用类
内部类
成员内部类
特点
在类的内部定义,与实例变量、实例方法同级别的类
外部类的一个实例部分,创建内部类对象时,必须依赖外部类对象
在调用内部类时,最好导入内部类
当成员内外部类属性相同时优先访问成员内部类( Outer.this.属性 )
调用内部类三大方法
一步到位
一 一 创建
匿名内部类
静态内部类
特点
调用方法
静态成员
直接通过类名访问 inner.print();
为了使代码更加直观 建议 | Outer.inner.print();
非静态成员
可以直接实例化静态内部类 来调用非静态成员
为了使代码更加直观 建议 | Outer.Inner inner = new Outer.Head();
匿名内部类
调用内部类三大方法
内部类方法是非静态
一步到位
Body.Head head = new Body.Head();
匿名访问
new Body.Head();
静态
Head.getAge();
局部内部类
匿名内部类
Object
getClass()
hashCode()
toString()
默认返回 hashCode() 的字符串表达式
重写方法 可以打印信息
equals()
默认方法 比较两个对象地址是否相同
重写方法 比较同一个类中的对象内容是否相同
gc()
垃圾回收器 不常用
包装类
包装类
八大基本类型对应八大包装类 Integer—Character 除外其他都是一样
类型转换
装箱
基本类型—>引用类型
拆箱
引用类型—>基本类型
基本类型和字符串互相转换
Integer.toString()
Integer.parse()
为什么不能用Integer.valueOf(String str) 因为valueof 返回的是对象 他是自动拆箱后才转换的类型
Integer的缓冲区 -127--+128
String类
中文
length
charAt
contains
toCharArray
indexOf
lastIndexOf
startsWith
endsWith
replace
split
subString
字母
toUpperCase
toLowerCase
equals
compareTo
可变字符串
StringBuffer
append
insert
delete
reverse
StringBuilder
BigDecimal类
时间类
集合框架详解
集合概念
Collection 体系
Collection 关于基本类型 的使用
add
remove——clear
遍历 增强for iterator
contains
size
isEmpty
Collection关于对象的 使用
add
remove——clear
遍历 增强for iterator
contains
size
isEmpty
List(序列) 接口
List(序列) 接口的使用(1) object
添加
遍历 ListIterator(前<->后) iterator for 增强for
判断是否为null
判定是否包含
显示长度
可以用下标删除与清除
获取对象下标
List(序列) 接口的使用(2) type
添加
显示长度
删除 三种删除方法 1.下标删除 2.new删除 3.输入对象删除
截取子列表
List进阶用法(3)
通过重写 equals 用 new 对象 来删除 列表的成员
Vector 与 LinkedList 的使用
Vector 的使用( type)
添加
遍历 iterator 增强for
判断是否为null
判定是否包含
显示长度
删除与清除
第一个元素 最后一个元素 返回该下标的元素
LinkedList 的使用(Object)
添加
遍历 ListIterator(前<->后) iterator for 增强for
判断是否为null
判定是否包含
显示长度
删除
获取对象下标
重写 equals 用 new 对象来去除列表的成员
泛型类 泛型类的常用形式
泛型类
泛型类
启动类
泛型接口
创建 泛型接口
创建 实现类 1
创建 实现类 2
泛型方法
public <T>void service(T t)
public <T>T service(T t)
Set
Set 的使用 Set<String> set = new HashSet<>();
添加
删除
遍历 增强for Iterator
判定是否包含 是否为null
显示长度
获取对象下标
HashSet 的使用
HashSet 的使用(1)[type]
HashSet<String> hashSet = new HashSet();
添加
删除
遍历 增强for Iterator
判定是否包含 是否为null
显示长度
获取对象下标
HashSet 的使用(2)[Object]
HashSet<Person> hashSet = new HashSet();
添加
删除
遍历 增强for Iterator
判定是否包含 是否为null
显示长度
获取对象下标
利用重写 equals 来避免 new 出来的对象 的重复输入
TreeSet
TreeSet 的使用(1) [type]
TreeSet<String> treeSet = new TreeSet();
添加
删除
遍历 增强for Iterator
判定是否包含 是否为null
显示长度
获取对象下标
利用重写 equals 来避免 new 出来的对象 的重复输入
TreeSet 的使用(2) [Object]
TreeSet<Person> treeSet = new TreeSet();
添加
删除
遍历 增强for Iterator
判定是否包含 是否为null
显示长度
获取对象下标
利用实现 comparable 类重写其中的 comparTo 来避免 不同对象名,而相同值 的重复输入 其实这个重写并不是为了 避免重复输入 而是不重写的话 会tm 报错!
用来储存对象的话 需要设定储存的方法 即必须实现其中的接口才能储存
comparable (interface)
compareTo 重写方法
comparetor(interface)
compare 重写方法
comparator 匿名接口的使用
使用 comparator 接口 运行 集合 (Object)
TreeSet 设置比较规则案例 (type)
子主题
IO
什么是流
流的概念
内存与储存设备之间传输数据的通道
流的分类
按方向分
输入流
输出流
按单位分
字节流
字符流
按功能分
节点流
过滤流
字节流
FileInputStream
FileOutputStream
字节流复制文件
BufferedInputStream
BufferedOutputStream
对象流
ObjectOutputStream
ObjectInputStream
字符流
子主题
第二十八讲——GUI编程
Frame
实现一个窗口
Frame
setVisible()
setBounds()
setBackground()
setResizable()
setSize()
setLocation()
实现多个窗口
Panel
setLayout()
frame.add(panel)
Layout
流式布局——FlowLayout
frame . setLayout(nw FlowLayout())——默认居中对齐
frame . setLayout(new FlowLayout(FlowLayout . LEFT)) ——左对齐
frame . setLayout(new FlowLayout( FlowLayout . RIGHT))
东西南北中布局——BorderLayout
EAST——东
WEST——西
SOUTH——南
NORTH——北
CENTER——中
frame . add( button , BorderLayout . EAST)
表格布局——GridLayout
frame . setLayout( new GridLayout(2 , 2) )
事件监听
ActionListener
ActionEvent
getSource
ActionPerfomed
ActionCommand
getActionCommand()
setActionCommand ()
WindowsListener
closingListener
TextField
getText()
setText()
setEchoChar()
Paint
setColor()
drawOval()
fillOval()
drawRect()
窗口监听事件
Closing
closed
Opened
Activated
Deactivated
键盘监听事件
pressed (按压事件)
e . keyCode()
KeyEvent . getKeyText ( keyCode k )
Swing
JFrame
extends Frame 实现窗口参数一致
Frame
setVisible()
setBounds()
setBackground()
container
setResizable()
setSize()
setLocation()
add(Label label)
jlabel.setHorizontalAlignment(SwingConstants.CENTER);
jf.setDefaultCloseOperation ( WindowConstants.EXIT_ON_CLOSE );
JDialog
设置弹窗只能弹出一个
JLabel
Icon
宽—width
高—height
ImageIcon
URL url = Class.class.getResource () ;
ImageIcon imageIcon = new ImageIcon ( url ) ;
jLabel . setIcon ( imageIcon ) ;
JPanel
JPanel
JScrollPanel
JButton
JButton—普通图片按钮
JRadioButton
CheckBox
JComboBox—JList
JComboBox
JList
关于 Text
TextField
passworkField
TextArea
第二十九讲——网络编程
获取ip 地址
inetAddress
inetSocketAddress
doc命令
查看(or指定)当前所有端口
查看 ( or指定) 所有任务列表
TCP
tcp 单方发送 单方接收
tcp 发送文件
UDP
多线程实现对话,发送bey则断开流
URL
获取参数
协议
主机ip
端口
全路径
文件
查找参数
下载网易云的一首歌
第三十讲——多线程
什么是程序,进程,线程?(理论)
Thread(三种实现)
extends Thread
implements Runnable
implements Callable
Static Proxy (静态代理模式)
Lambda(表达式)
线程基本方法
标志位停止线程
线程休眠
线程礼让
线程插队
线程状态
线程优先级
守护线程
线程同步
不安全买票
不安全银行
不安全集合
死锁
生产者与消费者问题
管程法
信号灯法
第三十一讲——注解与反射
注解
内置注解
@override
@Deprecated
@Suppresswarnings
元注解
@target
@Retention
@Document
@Inherited
自定义注解
default
反射
获取class类
TYPE.class()
obj.getClass
Class.forName()
获取class 的完整结构(即全部参数)
获取class对象
获取class对象属性
获取class对象方法
获取class对象构造器
获取class对象参数
、、、
通过反射动态创建对象,并执行方法
通过反射改变属性(可以是private)
通过反射调用方法 (可以是private)
反射操作注解
通过反射获取注解对象
通过反射获取注解值
获取指定注解的值
JVM入门
多线程进阶之JUC并发编程
子主题
0 条评论
下一页