目录
1.JSON
2.多线程
3.网络编程
1.JSON
(1)定义:
1.轻量级的文本数据交换格式
2.具有自我描述性【看到某个JSON数据就能知道它的特点】
3.比XML传输速度快【跨平台】
(2)语法规则:
1.语法:
2.构成要素:1.对象{} 2.数组[ ] 3.属性名:属性值 4逗号(多个数据之间由逗号分隔)
3.属性值类型种类:字符串、数字、布尔值、null、数组、对象
(3)实战
步骤1:JSON解析框架fastjson-1.2.47.jar 【使用maven的pom依赖管理】
步骤2:创建maven工程,并创建标准目录
步骤3:实现java对象转化成json字符串
步骤4:创建java对象
步骤3.2引入fastjson依赖
步骤3.3测试类转化
Java对象转JSON字符串
JSON字符串转JAVA对象
2.多线程
(1)进程和线程
定义:
进程:应用程序的执行实例 【一个应用对应一个进程】
线程:CPU调度和分派的基本单位,进程中执行运算的最小单位
(2)创建线程的种类
1.继承java.lang.Thread类
2.实现java.lang.Runnable接口
(3)继承java.lang.Thread类
1.定义Demo01类继承Thread类
2.重写run()方法,编写线程执行体
3.创建线程对象,调用start()方法启动线程
(4) 继承java.lang.Thread类 多线程
核心要点:多个线程之间存在交替执行,不是真正的并行
(5) 实现Runnable接口创建单线程
(6) 实现Runnable接口创建多线程
(7)线程的状态
1.正常状态下的流程:创建状态—>就绪状态—>运行状态—>死亡状态
2.异常状态下的流程:创建状态—>就绪状态—>运行状态—>阻塞状态à就绪状态—>运行状态—>死亡状态
(8)线程优先级
1.线程优先级1~10表示,1最低,默认优先级为5
2.优先级高的线程获得CPU资源的概率较大
(9)线程休眠
核心要点:sleep()方法可以使线程阻塞【休眠】
(10) 同步代码块
核心要点:在非集群状态下,使用synchronized可以保证线程的安全;在集群状态下synchronized会失效
3.网络编程
(1)网络概述
1.多台相互连接的计算机
2.资源共享
3.交换数据
(2)网络类型分类
(3) 网络体系结构
(4) 网络通信协议概述
核心要点:在网络中,多台计算机如果希望进行通信/数据传递,必须遵循某种规约,如果不遵循,则无法进行资源恭喜或是数据的传递。
(5)网络通信协议种类
UDP 特点:无连接,数据不可靠/不安全
TCP 特点:面向连接,数据稳定/安全
(6)Socket简介
(1)Socket:套接字【通信链路的节点/端点】
(2)提供给应用程序的接口
(7)Socket路径
java.net包路径
(8)网络编程三要素
(1)IP地址:设备在网络中的唯一标识
(2)端口号:应用程序在设备中的唯一标识
(3)协议:信息在网络传递的过程中必须遵循的规约,例如UDP,TCP协议
(9)基于UDP协议的Socket编程-发送数据
(10) 基于UDP协议的Socket编程-接收数据
(11) 基于TCP协议的Socket编程-发送数据
(12)基于TCP协议的Socket编程-接收数据
(13) 解决中文乱码