
JSON
1.JSON定义:
(1)轻量级的文本数据交换格式
(2)具有自我描述性【看到某个JSON数据就能知道它的特点】
(3)比XML传输速度快【跨平台】
2.JSON语法规则:
(1)语法:

(2)构成要素:
1.对象{ } 2.数组[ ] 3.属性名:属性值 4.逗号(多个数据之间由逗号分隔)
(3)属性值类型种类:字符串(常用)、数字、布尔值、null、数组、对象
3.JSON实战
步骤1:JSON解析框架fastjson-1.2.47.jar【使用maven的pom依赖管理】
下载地址:http://central.maven.org/maven2/com/alibaba/fastjson/1.2.47/fastjson-1.2.47.jar
步骤2:创建maven工程,并创建标准目录
步骤3:实现Java对象换成JSOM字符串
(1)创建Java对象

(2)pom引入Fastjson的依赖


(3)测试类转换


拓展:定义集合属性


(4)实现JSON字符串转成对象

实战:




多线程
1. 进程和线程的定义
进程:应用程序的执行实例【一个应用至少对应一个进程】
线程:CPU调用和分派基本单元,进程当中执行的最小单位
2.创建线程的种类
继承java.lang.Thread类
实现java.lang.Runnable接口
3.继承java.lang.Thread类 --- 单线程
步骤1:定义MyThread类继承Thread类
步骤2:重写run()方法,编写线程执行体
步骤3:创建线程对象,调用start()方法启动线程

继承java.lang.Thread类 --- 多线程
核心要点:多个线程之间存在交替执行,不是真正的并行(并发)

4.实现Runnable接口创建 --- 单线程
步骤1:定义MyRunnable类实现Runnable接口
步骤2:实现run()方法,编写线程执行体
步骤3:创建线程对象,调用start()方法启动线程

实现Runnable接口创建 --- 多线程

5.线程的状态
(1)正常情况下流程:创建状态 ---> 就绪状态 ---> 运行状态 ---> 死亡状态
(2)异常情况下流程:创建状态 ---> 就绪状态 ---> 运行状态 ---> 阻塞(休眠)状态 --->
就绪状态 ---> 运行状态 ---> 死亡状态
6.线程优先级
线程优先级由1~10表示,1最低,默认优先级为5
优先级高的线程获得CPU资源的概率较大

7.线程休眠
核心要点:sleep()可以使线程阻塞【休眠】(以毫秒为单位)

8.多线程实战 --- 网络购票


问题:

发现的问题
不是从第1张票开始
存在多人抢到一张票的情况
有些票号没有被抢到
同步代码块:
核心要点:在非集群状态下,使用synchronized可以保持线程的安全,如果是集群状态下,synchronized会失效


网络编程
1.网络概述
(1)多台相互连接的计算机
(2)资源共享
(3)交换数据
2.网络类型分类

3.网络体系结构

4.网络通信协议概述
核心要点:在网络中,多台计算机如果希望进行通信/数据传递,必须遵循某种规约,如果不遵循,则无法进行资源共享或是数据的传递
5.网络通信协议种类
UDP特点:无连接,数据不可靠/不安全
TCP 特点:面向连接,数据稳定/安全
6.Socket简介
(1)Socket:套接字【通信链路的节点/端点】
(2)Socket:提供给应用程序的接口
7.Socket路径
java.net包路径
8.Java网络编程三要素
(1)IP地址:设备在网络中的唯一标识
(2)端口号:应用程序在设备中的唯一标识
(3)协议:信息在网络传递的过程中必须遵循的规约,例如UDP,TCP协议
9.基于UDP协议的Socket编程 --- 发送数据

10.基于UDP协议的Socket编程 --- 接收数据


11.基于TCP协议的Socket编程 --- 发送数据

12.基于TCP协议的Socket编程 --- 接收数据


13.中文乱码问题解决


文章介绍了JSON作为轻量级的数据交换格式,包括其定义、语法规则和使用Fastjson进行Java对象与JSON字符串转换的实战步骤。接着,文章深入探讨了Java中的线程概念,包括创建线程的两种方式、线程状态和优先级。最后,讲解了网络编程的基础知识,如网络协议(UDP和TCP)、Socket编程以及解决中文乱码问题的方法。
1353

被折叠的 条评论
为什么被折叠?



