Java --- JSON、多线程、网络编程

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

 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.中文乱码问题解决

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值