浅析Java反射,多线程和网络技术

本文介绍了Java反射机制的三个核心特性及其实现方法,并详细解释了如何利用反射功能在运行时判断、调用对象的方法和属性。同时,文章还探讨了多线程的基本概念,包括线程的状态、调度方法、同步机制以及线程间的通信。

一. java 反射

1.反射三个特性:运行时生成对象,运行期间调用方法,运行时更改属性。

2.java在编译时并不确定是哪个类被加载了,而是在程序运行的时候才加载,探知和使用。

3.反射功能:在运行时判断,调用任一个对象,类的方法和属性,常用类【Class类,Field类,Method类,Constructor类】

4.反射获取类的信息:常用forName("类完整包名")Class cls = Class.forName("");

5.从Class对象获取信息:  包括构造方法(getDeclaredConstructor),方法(getMethods),属性(getField),注释(getAnnotation)

6.  创建对象:Class对象的newInstance()

7.访问属性要设置权限setAccessible(),访问类的方法invoke(Object obj)

二.多线程

1.继承Thread类和实现Runable方法创建线程

2.线程4种状态:新生状态,可运行状态,阻塞状态和死亡状态

3.线程调度方法

join():暂停当前线程,等调用该方法的线程结束在执行本线程。

sleep():线程由运行中状态进入不可运行时间睡眠时间过了会再进入可运行状态。

yield():暂停当前线程执行,允许其他线程执行,该线程仍处于可运行状态,不转为阻塞状态。选择优先级更高的线程若无该线程继续执行。

4.synchronized方法声明同步,同步代码块synchronized(syncObject){}

5.线程间通信:wait()会挂起当前线程,并释放共享资源的锁;notify():随机解除一个wait()方法阻塞的线程,要等到线程获得锁才真正执行。notifyAll()全部解除阻塞。

三.网络编程

1,网络分层模型

物理层(建立,维护和断开物理连接),数据链路层(建立逻辑连接,进行硬件地址寻址,差错校验),网络层(进行逻辑寻址,实现不同网络之间的路径选择),传输层(定义传输数据的协议端口,记忆流控和差错校验),会话层(建立,管理和终止会话),表示层(数据的表示,安全和压缩),应用层(网络服务和最终用户的接口)

2.基于Socket的编程

客户端:建立连接new Socket(ip,port),打开输入输出流getOutputStream()和getInputStream(),向输出流写入信息write(),向输入流读取响应信息,关闭流

服务端:建立连接,监听端口new ServerSocket(port),使用accept()等待客户端出发通信,打开输入输出流,向输出流写信息,从输入流读信息,关闭流




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值