0目录
1.JSON 2.多线程 3.网络编程 |
1.JSON
1.1 JSON(JavaScript Object Notation)简介: 定义:(1)轻量级的文本数据交换格式 (2)具有自我描述性(看到某个JSON数据就能知道它的特点) (3)比XML传输速度快(跨平台) |
1.2 JSON语法规则: (1)两种数据结构:对象和数组 {"name":"jason", "age":20, "skills":["Java","Hadoop","Python"] } 构成要素:大括号内为对象,中括号内为数组,属性名:属性值 (2)对象中的数据由名称/值对构成 值的类型可为字符串、数字、布尔值、null、数组、对象,多个数据之间由逗号分隔 |
1.3 JSON实战: 步骤1:JSON解析框架fastjson-1.2.47.jar(使用maven的pom依赖管理) 步骤2:创建maven工程,并创建标准目录 步骤3:实现java对象转换为JSON字符串 步骤3.1:创建java对象
步骤3.2:pom引入fastjson的依赖
步骤3.3:测试类转换
步骤3.4:改造Stutent类,加入集合,在Test类中给数组添加数据,再调用Arrays中的asList()方法将数组转换成集合
步骤4:实现JSON字符串转换为java对象
|
2.多线程
2.1 进程和线程定义: 进程:应用程序的执行实例(一个应用至少对应一个进程) 线程:CPU调度和分派的基本单位,进程中执行运算的最小单位 |
2.2 创建线程的常用种类: (1)继承java.lang.Thread类:定义一个类继承Thread类-->重写run方法-->创建对象,调用start()方法启动线程 单线程:
多线程:多个线程交替执行,不是真正的并行 (2)实现java.lang.Runnable接口: 单线程: 1定义类继承Thread类 2重写run()方法,编写线程执行体 3创建线程对象,调用start()方法启动线程
多线程:实现Runnable接口创建多线程 |
2.3 线程的状态: (1)正常情况下流程:创建状态-->就绪状态-->运行状态-->死亡状态 (2)异常情况下流程:创建状态-->就绪状态-->运行状态-->阻塞状态-->就绪状态 -->运行状态-->死亡状态 |
2.4 线程优先级: 线程优先级由1~10表示,1最低,默认优先级为5 优先级高的线程获得CPU资源的概率较大 |
2.5 线程休眠:sleep()方法可以使线程阻塞(休眠) |
2.6 多线程实战-网络购票 |
2.7 多线程实战-同步代码块:非集群状态下,使用synchorized可以保持线程的安全,集群状态下会失效 |
3.网络编程
3.1 网络概述: 网络是指将地理位置不同的具有独立功能的多台计算机及其外部设备,通过通信线路连接起来,在网络操作系统,网络管理软件及网络通信协议的管理和协调下,实现资源共享和信息传递的计算机系统。 (1)多台相互连接的计算机(2)资源共享(3)交换数据 |
3.2 网络类型分类
|
3.3 网络体系结构
|
3.4 网络通信协议概述: 核心要点:在网络中不同的计算机之间进行通信而建立的规则、标准或约定的集合 |
3.5 网络通信协议种类: (1)TCP协议(Transmission Control Protocol 传输控制协议):面向连接的、可靠的、基于字节流的传输通信协议 (2)UDP协议(User Datagram Protocol 用户数据报协议):无连接的协议,不安全。在传输数据之前,客户端和服务器并不建立和维护连接 |
3.6 Socket简介 (1)通信链路的端点就被称为“套接字” (2)Socket是提供给应用程序的接口 |
3.7 Socket路径 java.net包路径下 |
3.8 网络编程三要素 (1) IP地址:设备在网络中的地址,是唯一的标识 (2) 端口号:应用程序在网络设备中的唯一的标识 (3) 协议:数据信息在网络中传递必须遵循的规则,例如UDP,TCP等等 |
3.9 基于UDP协议的Socket编程 (1)发送数据
(2)接收数据 |
3.10 基于TCP协议的Socket编程: (1)发送数据
(2)接收数据
(3)解决传输内容中文乱码 |