随笔 - 1162
文章 - 0
评论 - 16
阅读 -
59万
随笔分类 - Java SE
Java 反射机制:(五)创建运行时类的对象
摘要:一、Class 可以做什么 1、有了 Class 对象,能做什么? 创建类的对象:调用 Class 对象的 newInstance() 方法 要求:(1)类必须有一个无参数的构造器; (2)类的构造器的访问权限需要足够; 执行 newInstance() 方法实际上是利用默认构造器(无参构造器)来创
阅读全文
Java 反射机制:(四)类的加载器 ClassLoader
摘要:一、类加载器 1、类加载器概述 在开发中会遇到 java.lang.ClassNotFoundException 和 java.lang.NoClassDefError,想要更好解决这类问题,或者在一些特殊的应用场景,比如需要支持类的动态加载或需要对编译后的字节码文件进行加密解密操作,那么需要你自定
阅读全文
Java 反射机制:(三)类的加载
摘要:一、类的加载过程 1、类加载三步曲 当程序主动使用某个类时,如果该类还未被加载到内存中,系统会通过加载、连接、初始化三个步骤来对该类进行初始化,如果没有意外,JVM 将会连续完成这三个步骤,所以有时也把这三个步骤统称为类加载。 2、类的加载 系统可能在第一次使用某个类时加载该类,但也可能采用预先加载
阅读全文
Java 反射机制:(二)Class类
摘要:一、Class 类 1、Class 类概述 在Object类中定义了以下的方法,此方法将被所有子类继承: public final Class getClass() 以上的方法返回值的类型是一个Class类,此类是Java反射的源头,实际上所谓反射从程序的运行结果来看也很好理解,即:可以通过对象反射
阅读全文
Java 反射机制:(一)反射机制
摘要:一、反射 Reflection(反射)是被视为动态语言的关键,反射机制允许程序在执行期借助于Reflection API取得任何类的内部信息,并能直接操作任意对象的内部属性及方法。 加载完类之后, 在堆内存的方法区中就产生了一个Class类型的对象( 一个类只有一个Class对象) , 这个对象就包
阅读全文
Java 网络编程:(十四)总结
摘要:一、总结 1、位于网络中的计算机具有唯一的IP地址,这样不同的主机可以互相区分。 2、客户端-服务器是一种最常见的网络应用程序模型。服务器是一个为其客户端提供某种特定服务的硬件或软件。客户机是一个用户应用程序,用于访问某台服务器提供的服务。 端口号是对一个服务的访问场所,它用于区分同一物理计算机上的
阅读全文
Java 网络编程:(十三)案例五:使用 MulticastSocket 实现多点广播
摘要:多点广播 Datagram只允许数据报发送给指定的目标地址,而MulticastSocket可以将数据报以广播方式发送到数量不等的多个客户端。 IP协议为多点广播提供了这批特殊的IP地址,这些IP地址的范围是224.0.0.0至239.255.255.255。 MulticastSocket 常用的
阅读全文
Java 网络编程:(十二)案例四:多个客户端群聊
摘要:需求:模拟聊天室群聊 客户端要先登录,登录成功之后才能发送和接收消息 分析: 服务器端,需要为每个客户端开启一个线程通信,这样才能实现多个客户端“同时”与服务器通信 客户端,需要把收消息功能与发消息功能分开两个线程,这样才能“同时收发”,即可以发消息,也可以接收其他客户端的聊天消息 服务器端要分别处
阅读全文
Java 网络编程:(十一)案例三:多台客户端上传文件
摘要:需求:每一个客户端启动后都可以给服务器上传一个文件,服务器接收到文件后保存到一个upload目录中。可以同时接收多个客户端的文件上传。 分析: (1)服务器端要“同时”处理多个客户端的请求,那么必须使用多线程,每一个客户端的通信需要单独的线程来处理。 (2)服务器保存上传文件的目录只有一个uploa
阅读全文
Java 网络编程:(十)案例二:多台客户端与服务器之间的多次通信
摘要:通常情况下,服务器不应该只接受一个客户端请求,而应该不断地接受来自客户端的所有请求,所以Java程序通常会通过循环,不断地调用ServerSocket的accept()方法。 如果服务器端要“同时”处理多个客户端的请求,因此服务器端需要为每一个客户端单独分配一个线程来处理,否则无法实现“同时”。 需
阅读全文
Java 网络编程:(九)案例一:一台客户端与服务器单次通信
摘要:需求:客户端连接服务器,连接成功后给服务发送“Hello,服务器!”,服务器收到消息后,给客户端返回“欢迎登录”。 服务器端程序示例代码: 1 import java.io.InputStream; 2 import java.io.OutputStream; 3 import java.net.S
阅读全文
Java 网络编程:(八)URL网络编程
摘要:一、URL 概述 1、URL(Uniform Resource Locator):统一资源定位符,它表示 Internet 上某一资源的地址。 2、它是一种具体的URI,即URL可以用来标识一个资源,而且还指明了如何 locate 这个资源。 3、通过 URL 我们可以访问 Internet 上的各
阅读全文
Java 网络编程:(七)UDP网络编程
摘要:一、UDP协议 UDP(User Datagram Protocol,用户数据报协议):是一个无连接的传输层协议、提供面向事务的简单不可靠的信息传送服务,类似于短信。 UDP协议是一种面向非连接的协议,面向非连接指的是在正式通信前不必与对方先建立连接,不管对方状态就直接发送,至于对方是否可以接收到这
阅读全文
Java 网络编程:(六)TCP网络编程
摘要:一、TCP协议概述 TCP(Transmission Control Protocol,传输控制协议)被称作一种端对端协议。是一种面向连接的、可靠的、基于字节流的传输层的通信协议,可以连续传输大量的数据。 这是因为它为当一台计算机需要与另一台远程计算机连接时,TCP协议会采用“三次握手”方式让它们建
阅读全文
Java 网络编程:(五)Socket
摘要:一、Socket 概述 利用套接字(Socket)开发网络应用程序早已被广泛的采用,以至于成为事实上的标准。 网络上具有唯一标识的IP地址和端口号组合在一起才能构成唯一能识别的标识符套接字。 通信的两端都要有 Socket,是两台机器间通信的端点。 网络通信其实就是 Socket 间的通信。 Soc
阅读全文
Java 网络编程:(四)通信要素2:网络协议
摘要:一、网络通信协议 1、网络通信协议 通信协议是对计算机网络通信必须遵守的规则,只有遵守这些规则,计算机之间才能进行通信。这些协议好比交通规则一样。 计算机网络中实现通信必须有一些约定,即通信协议, 对速率、传输代码、代码结构、传输控制步骤、出错控制等制定标准。 协议中对数据的传输格式、传输速率、传输
阅读全文
Java 网络编程:(三)通信要素1:IP和端口号
摘要:一、IP 1、IP 是什么? IP地址:指互联网协议地址(Internet Protocol Address ),俗称IP。 IP地址用来给一个网络中的计算机设置做唯一的编号,即唯一的表示 Internet 上的计算机(通信实体)。 2、IP地址分类 (1)分类方式一:IPV4 和 IPV6 IPV
阅读全文
Java 网络编程:(二)网络编程&网络通信
摘要:一、网络编程概述 1、网络编程 Java是 Internet 上的语言,它从语言级上提供了对网络应用程序的支持,程序员能够很容易开发常见的网络应用程序。 Java提供的网络类库,可以实现无痛的网络连接,联网的底层细节被隐藏在 Java 的本机安装系统里,由 JVM 进行控制。并且 Java 实现了一
阅读全文