Java-网络编程和反射

1.网络编程

1.1网络编程的基本概念

1)含义及场景

在网络通信协议下,不同计算机上运行的程序,进行的数据传输。

应用场景:即时通信、网络对战、金融证券、国际贸易、邮件......

Java中可以使用java.net包下的技术轻松开发出常见的网络应用程序

2)常见的软件架构

1>C/S:(Client/Server 客户端/服务器端)在用户本地需要下载并安装客户端的程序,在远处有一个服务器端程序

优缺点:1)画面精美,用户体验好 2)需要开发客户端和服务端 3)用户下载和更新麻烦

2>B/S:(Browser/Server 浏览器/服务器)只需要一个浏览器,用户通过不同的网址,访问到不同的服务器

优缺点:1)不需要开发客户端,只需要页面+服务器端 2)用户不需要下载,打开浏览器就能使用 3)如果引用过大,用户体验受到影响

1.2网络编程的三要素

1)IP:设备在网络中的地址,是唯一的标识

全称:Internet Protocol,是互联网协议地址,也称IP地址,是分配给上网设备的数字标签

1>IPv4:互联网通信协议第四版,采用32位地址长度,分成4组,采用点分十进制表示法。

32bit(4个字节)->11000000 10101000 00000001 01000010 = 192.168.1.66

公网地址(万维网使用)和私有地址(局域网使用)。192.168开头的就是私有地址。

127.0.0.1,也可以是localhost: 是回送地址,也称本机IP,永远只会寻找当前所在本机。

常用CMD命令:ipconfig:查看本机IP地址,ping:检查网络是否连通

2>IPv6:采用128位地址长度,分成8组,采用冒分十六进制表示法。128bit(8个字节)

2)端口号:应用程序在设备中唯一的标识

端口号是由两个字节表示的整数,取值范围0~65535.其中0-1023之间的端口用于一些知名的网络服务或应用。一个端口只能被一个应用程序使用。

3)协议:数据在网络中传输的规则,常见的协议有UDP、TCP、http、https、ftp

UDP协议(用户数据报协议):UDP是面向无连接,速度快,有大小限制,一次最多发送64K,数据不安全,易丢失数据。不管是否连接成功都进行发送。

TCP协议(传输控制协议TCP):TCP是面向连接的通信协议,速度慢,没有大小限制,数据安全。确保连接成功发送。

1.3UDP通信程序

发送数据:1>创建发送端DatagramSocket对象 2>数据打包(DatagramPacket)3>发送数据 4>释放资源

接收数据:1>创建接收端的DatagramSocket对象 2>接收打包好的数据 3>解析数据包 4>释放资源

UDP通信的三种方式:

1)单播:一对一,只对一台电脑发送数据。

2)组播:对一组电脑发送数据。

组播地址:224.0.0.0~239.255.255.255,其中224.0.0.0~224.0.0.255为预留的组播地址。

3)广播:可以给局域网中所有电脑发送数据。

广播地址:255.255.255.255

1.4TCP通信程序

TCP通信时一种可靠的网络协议,它在通信的两端各建立一个Soket对象。通信之前要保证连接已经建立,通过Socket产生IO流来进行通信。

1)TCP的三次握手:确保连接的建立

2)TCP的四次挥手:确保连接断开,且数据处理完毕

2.反射

反射允许对成员变量,成员方法和构造方法的信息进行编程访问。也就是说可以获取类里面的所有信息。

1)获取

1>获取class对象的三种方式

Class.forName("全类名")----源代码阶段:编写Java文件,将Java文件编译成class文件,本阶段未把代码加载进内存,只在硬盘中进行了操作。【全类名=包名+类名】【最常用】

类名.class---加载阶段:字节码文件加载到内存中。【一般作为参数进行传递】

对象.getClass();---运行阶段:将对象加载到内存中。【当已经有对象才能使用】

2>获取构造方法的对象--Constructor

3>获取字段(成员变量)的对象--Field

4>获取成员方法的对象--Method

2)作用

获取一个类里面的所有的信息,获取到了之后,再执行其他业务逻辑

结合配置文件,动态的创建对象并调用方法

3.动态代理

特点:无侵入式的给代码增加额外的功能

代理里面就是对象要被代理的方法。

Java通过接口保证,后面的对象和代理需要实现同一个接口。接口中就是被代理的所有方法。

怎么为Java对象创建一个代理对象?

相关推荐
网络研究院16 天前
2026年网络安全
网络·安全·法律·法规·趋势·发展
酣大智16 天前
ARP代理--工作原理
运维·网络·arp·arp代理
treesforest16 天前
AI安全系统如何识别异常访问?IP风险识别正在成为关键能力
网络·人工智能·tcp/ip·安全·web安全
shushangyun_16 天前
2026年快消品B2B系统推荐:支持终端门店订货、促销政策自动化的工具?
java·运维·网络·数据库·人工智能·spring·自动化
2601_9618451516 天前
粉笔行测题库|系统班|刷题
网络·百度·微信·微信公众平台·facebook·新浪微博
程序猿阿伟16 天前
《Chrome离线扩展安装的底层逻辑与场景落地指南》
服务器·网络·chrome
InHand云飞小白16 天前
无人值守站点网络困境?工业级路由器IR315破解连接难题
网络·物联网·4g·工业路由器·4g路由器·iiot·蜂窝路由器
森G16 天前
75、服务器源码解析---------云视频服务项目
linux·服务器·网络·c++·qt
江华森16 天前
TCP/IP 协议栈实战 — 7 个实验详解
网络·tcp/ip·智能路由器
酉鬼女又兒16 天前
零基础入门计算机网络运输层:端到端通信核心作用、端口号分类规则、复用分用工作机制及UDP与TCP协议全方位对比详解
网络·网络协议·tcp/ip·计算机网络·考研·udp·php