JAVA API
文章平均质量分 79
青木编码
技术,经验分享,在平台跟大家相互学习,共同进步
展开
-
09-集合(续)
Collections是集合的工具类,里面定义了很多静态方法用于操作集合.可以对List集合进行自然排序(从小到大)排序自定义类型元素实际开发中,我们并不会让我们自己定义的类(如果该类作为集合元素使用)去实现Comparable接口,因为这对我们的程序有侵入性.侵入性:当我们调用某个API功能时,其要求我们为其修改其他额外的代码,这个现象就是侵入性.侵入性越强的API越不利于程序的后期可维护性.应当尽量避免.最终没有侵入性的写法排序字符串java中提供的类,如:String,包装类都实现了Co原创 2022-06-01 22:11:23 · 56 阅读 · 0 评论 -
08-集合(续) 泛型 增强for循环
集合提供了如取并集,删交集,判断包含子集等操作集合的遍历Collection提供了统一的遍历集合方式:迭代器模式Iterator iterator()该方法会获取一个用于遍历当前集合元素的迭代器.迭代器接口,定义了迭代器遍历集合的相关操作.不同的集合都实现了一个用于遍历自身元素的迭代器实现类,我们无需记住它们的名字,用多态的角度把他们看做为Iterator即可.迭代器遍历集合遵循的步骤为:问,取,删.其中删除元素不是必要操作迭代器遍历过程中不得通过集合的方法增删元素增强型for循环JDK5之后原创 2022-06-01 22:10:24 · 113 阅读 · 0 评论 -
07-聊天室(续) 集合框架
在服务端通过Socket获取输出流,客户端获取输入流,实现服务端将消息发送给客户端.这里让服务端直接将客户端发送过来的消息再回复给客户端来进行测试.服务端代码:客户端代码:服务端转发消息给所有客户端当一个客户端发送一个消息后,服务端收到后如何转发给所有客户端.问题:例如红色的线程一收到客户端消息后如何获取到橙色的线程二中的输出流?得不到就无法将消息转发给橙色的客户端(进一步延伸就是无法转发给所有其他客户端)解决:内部类可以访问外部类的成员,因此在Server类上定义一个数组allOut可以被所有内部类原创 2022-06-01 12:44:22 · 74 阅读 · 0 评论 -
06-多线程进阶 synchronized 锁
流程图[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-CEn2g5Yz-1654005335265)(image-20210430152730779.png)]服务端代码改造:线程API获取线程相关信息的方法线程优先级线程start后会纳入到线程调度器中统一管理,线程只能被动的被分配时间片并发运行,而无法主动索取时间片.线程调度器尽可能均匀的将时间片分配给每个线程.线程有10个优先级,使用整数1-10表示sleep阻塞线程提供了一个静态方法:线程APIsle原创 2022-05-31 21:57:01 · 104 阅读 · 0 评论 -
05-java网络编程 多线程
Socket(套接字)封装了TCP协议的通讯细节,是的我们使用它可以与服务端建立网络链接,并通过 它获取两个流(一个输入一个输出),然后使用这两个流的读写操作完成与服务端的数据交互ServerSocket运行在服务端,作用有两个:1:向系统申请服务端口,客户端的Socket就是通过这个端口与服务端建立连接的。2:监听服务端口,一旦一个客户端通过该端口建立连接则会自动创建一个Socket,并通过该Socket与客户端进行数据交互。客户端与服务端完成第一次通讯(发送一行字符串)Socket提供了两个重要的原创 2022-05-31 21:55:10 · 294 阅读 · 0 评论 -
04 IO流总结 异常处理机制
是一个高级的字符流,特点是块读文本数据,并且可以按行读取字符串。IO总结[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-jLyHCn3r-1654005117489)(IO.png)]异常处理机制中的finallyfinally块定义在异常处理机制中的最后一块。它可以直接跟在try之后,或者最后一个catch之后。finally可以保证只要程序执行到了try语句块中,无论try语句块中的代码是否出现异常,最终finally都必定执行。finally通常用来做释放资源原创 2022-05-31 21:53:48 · 145 阅读 · 0 评论 -
03 IO 流
通过缓冲流写出的数据会被临时存入缓冲流内部的字节数组,直到数组存满数据才会真实写出一次对象流java.io.ObjectOutputStream和ObjectInputSteam对象流是一对高级流,在流连接中的作用是进行对象的序列化与反序列化。对象序列化:将一个java对象按照其结构转换为一组字节的过程对象反序列化:将一组字节还原为java对象(前提是这组字节是一个对象序列化得到的字节)[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-6HtUpxgk-16540050309原创 2022-05-31 21:51:45 · 47 阅读 · 0 评论 -
02 IO流
day02JAVA IOjava io可以让我们用标准的读写操作来完成对不同设备的读写数据工作.java将IO按照方向划分为输入与输出,参照点是我们写的程序.输入:用来读取数据的,是从外界到程序的方向,用于获取数据.输出:用来写出数据的,是从程序到外界的方向,用于发送数据.java将IO比喻为"流",即:stream. 就像生活中的"电流",“水流"一样,它是以同一个方向顺序移动的过程.只不过这里流动的是字节(2进制数据).所以在IO中有输入流和输出流之分,我们理解他们是连接原创 2022-05-31 21:50:14 · 64 阅读 · 0 评论 -
01File类
day01File类File类的每一个实例可以表示硬盘(文件系统)中的一个文件或目录(实际上表示的是一个抽象路径)使用File可以做到:1:访问其表示的文件或目录的属性信息,例如:名字,大小,修改时间等等2:创建和删除文件或目录3:访问一个目录中的子项但是File不能访问文件数据.public class FileDemo { public static void main(String[] args) { //使用File访问当前项目目录下的demo.txt文件原创 2022-05-29 18:38:38 · 123 阅读 · 0 评论