随笔分类 -  java学习

每日笔记
摘要:TCP通信程序 概述: TCP通信能实现两台计算机之间的数据交互,通信的两端,要严格区分为客户端(Client)与服务端(Server)。 两端通信时步骤: 服务端程序,需要事先启动,等待客户端的连接。 客户端主动连接服务器端,连接成功才能通信。服务端不可以主动连接客户端。 在JAVA中,提供了两个 阅读全文
posted @ 2020-11-18 23:32 小明-o3rr0r 阅读(211) 评论(0) 推荐(0)
摘要:软件结构 C/S结构:全称为Client/Server结构,是指客户端和服务器结构。常见程序有qq,迅雷等软件。 B/S结构:全称为Browser/Server结构,是指浏览器和服务器结构。常见浏览器有谷歌、火狐。 网络通信协议 网络通信协议:通过计算机网络可以使多态计算机视线连接,位于同一个网络中 阅读全文
posted @ 2020-11-17 22:33 小明-o3rr0r 阅读(90) 评论(0) 推荐(0)
摘要:打印流 java.io.PrintStream:打印流 PrintStream:为其他输出流添加了功能,使他们能够方便地打印各种数据值表示形式。 PrintStream特点: 只负责数据的输出,不负责数据的读取。 与其他输出流不同,PrintStream永远不会抛出IOException。 有特有的 阅读全文
posted @ 2020-11-17 21:59 小明-o3rr0r 阅读(83) 评论(0) 推荐(0)
摘要:对象序列化和反序列化的概述 把对象以流的方式,写入到文件中保存,叫写对象,也叫对象的序列化。 ObjectOutputStream:对象的序列化流 把文件中保存的对象,以流的方式读取出来,叫读对象,也叫对象的反序列化。 ObjectInputStream:对象的反序列化流。 对象的序列化流 java 阅读全文
posted @ 2020-11-15 19:17 小明-o3rr0r 阅读(93) 评论(0) 推荐(0)
摘要:字符编码 计算机中存储的信息都是用二进制数表示的,而我们在屏幕上看到的数字、英文、标点符号,汉字等字符是二进制数转换之后的结果,按照某种规则,将字符存储到计算机中,称为编码,反之,将存储在计算机中的二进制数按照某种规则解析显示出来,称为解码。比如说,按照A规则存储,同样按照A规则解析,那么就能显示正 阅读全文
posted @ 2020-11-14 21:22 小明-o3rr0r 阅读(81) 评论(0) 推荐(0)
摘要:使用缓冲流复制文件 步骤: 创建字节缓冲输入流对象,构造方法中传递字节输入流 创建字节缓冲输出流对象,构造方法中传递字节输出流 使用字节缓冲输入流对象中的方法read,读取文件 使用字节缓冲输出流的方法write,把读取的数据写入到内部缓冲区中 释放资源(会先把缓冲区中的数据,刷新到文件中) 代码演 阅读全文
posted @ 2020-11-10 21:50 小明-o3rr0r 阅读(121) 评论(0) 推荐(0)
摘要:缓冲流原理 缓冲流,也叫高效流,是4个基本的FileXxx流的曾倩,所以也是四个流,按照数据类型分类: 字节缓冲流:BufferedInputStream,BufferedOutStream 字符缓冲流:BufferedReader,BufferedWriter 缓冲流的基本原理,是在创建流对象时, 阅读全文
posted @ 2020-11-09 21:35 小明-o3rr0r 阅读(84) 评论(0) 推荐(0)
摘要:使用Properties集合存储数据,遍历取出Properties集合中的数据 java.util.Properties集合 extends Hashtable<k,v> implements Map<K,v> Properties类表示了一个持久的属性集,Properties可保存在流中,或从流中 阅读全文
posted @ 2020-11-09 01:36 小明-o3rr0r 阅读(80) 评论(0) 推荐(0)
摘要:字符流 使用字节流读取中文文件 1个中文: GBK:占用两个字节 UTF-8:占用3个字节。 当使用字节流读取文本文件时可能会有一些小问题,就是遇到中文字符时,可能不会显示完整的字符,那是因为一个中文字符可能占用多个字节存储,所以java提供了一些字符流,以字符为单位读写数据,专门用于处理文本文件。 阅读全文
posted @ 2020-11-07 23:40 小明-o3rr0r 阅读(106) 评论(0) 推荐(0)
摘要:读取字节数据 读取数据的原理(硬盘-->内存) java程序-->JVM-->OS-->OS读取数据的方法-->读取文件。 字节输入流的使用步骤(重点) 创建FileInputStream对象,构造方法中绑定要读取的数据源。 使用FileInputStream对象中的方法read,读取文件。 释放资 阅读全文
posted @ 2020-11-07 02:05 小明-o3rr0r 阅读(83) 评论(0) 推荐(0)
摘要:一切皆为字节 一切文件数据(文本、图片、视频等)在存储时,都是以二进制数字的形式保存,都一个一个的字节,那么传输时一样如此。所以,字节流可以传输任意文件数据。在操作流的时候,我们要时刻明确,无论使用什么样的流对象,底层传输的始终为二进制数据。 字节输出流【OutputStream】 java.io. 阅读全文
posted @ 2020-11-04 23:36 小明-o3rr0r 阅读(106) 评论(0) 推荐(0)
摘要:FileFilter过滤器的原理 在file类中有两个和listFiles重载的方法,方法的参数传递的就是过滤器。 File[] listFiles(FileFilter filter) java.io.FileFilter接口:用于抽象路径名(File对象)的过滤器。 作用:用来过滤文件(File 阅读全文
posted @ 2020-11-02 23:14 小明-o3rr0r 阅读(83) 评论(0) 推荐(0)
摘要:递归概念 指在当前方法内调用自己的这种现象。 递归的分类: 递归分为两种,直接递归和间接递归。 直接递归称为方法自身调用自己。 简介递归可以用A方法调用B方法,B方法调用C方法,C方法调用A方法。 注意事项: 递归一定要有条件限定,保证递归能够停止下来,否则会发生栈内存溢出。 在递归中虽然有限定条件 阅读全文
posted @ 2020-11-02 23:13 小明-o3rr0r 阅读(76) 评论(0) 推荐(0)
摘要:File类概述 java.io.File类是文件和目录路径名的抽象表示,主要用于文件和目录的创建、查找和删除等操作。 java把电脑中的文件和文件夹(目录)封装为了一个File类,我们可以使用File类对文件和文件夹进行操作。 我们可以使用File类的方法: 创建一个文件/文件夹 删除文件/文件夹 阅读全文
posted @ 2020-11-01 23:18 小明-o3rr0r 阅读(83) 评论(0) 推荐(0)
摘要:函数式编程思想概述 在数学中,函数就是有输入量、输入量的一套计算方案,也就是“拿什么东西做什么事情”,相对而言,面向对象过分强调“必须通过对象的形式来做事情”,而函数式思想则尽量忽略面向对象的复杂语法--强调做什么,而不是以什么形式做。 面向对象的思想: ​ 做一件事,找一个能解决这个事情的对象,调 阅读全文
posted @ 2020-10-31 22:44 小明-o3rr0r 阅读(82) 评论(0) 推荐(0)
摘要:线程池的概念和原理 线程池:其实就是一个容纳多个线程的容器,其中的线程可以反复使用,省去了频繁创建线程对象的操作,无须反复穿古剑线程而消耗过多资源。 简单来说,线程池就是在程序第一次启动的时候,就创建多个线程,保存到一个集合汇总,当我们想要使用线程的时候,就可以从集合中取出来线程使用。 当我们使用完 阅读全文
posted @ 2020-10-30 23:20 小明-o3rr0r 阅读(94) 评论(0) 推荐(0)
摘要:等待唤醒机制的代码实现。 注意: 包子铺线程和包子线程关系-->通信(互斥) 必须同时使用同步技术保证两个线程只能有一个在执行。 锁对象必须保证唯一,可以使用包子对象作为锁对象。 包子铺和吃货的类就需要把包子对象作为参数传递进来。 1. 需要在成员位置创建一个包子变量。 2. 使用带参数构造方法,为 阅读全文
posted @ 2020-10-30 23:18 小明-o3rr0r 阅读(108) 评论(0) 推荐(0)
摘要:线程间通信 概念 多个线程在处理同一个资源,但是处理的动作(线程的任务)却不相同。 比如:线程a用来生成包子,线程B用来吃包子,包子可以理解为同一资源,线程a和线程b处理的动作,一个是生产,一个是消费,那么线程a和线程b之间就存在线程通信问题。 为什么要处理线程间通信 多个线程并发执行时,在默认情况 阅读全文
posted @ 2020-10-29 21:59 小明-o3rr0r 阅读(73) 评论(0) 推荐(0)
摘要:线程安全问题 单线程程序是不会出现线程安全问题的,例如:一个电影院售票处卖编号1-100的门票,不会有问题。 多线程程序,没有访问共享数据,也不会产生线程安全问题,例如:三个电影售票处卖标号1-100的门票,但门票编号不同,也不会出现问题。 多线程程序访问了共享的数据,就会产生线程安全问题,例如:三 阅读全文
posted @ 2020-10-29 21:57 小明-o3rr0r 阅读(77) 评论(0) 推荐(0)
摘要:多线程运行原理 简单来说,多线程就是在程序执行的时候,再创建一个新的线程类,主程序执行的时候,是开辟了一条通往cpu的路径,而在主程序里面,有调用线程类的代码,也就是在执行的过程中,又开辟了一条新的通往cpu的路线。这也就是说,cpu在执行的时候就有了选择的余地,可以执行主线程,也可以执行线程类的内 阅读全文
posted @ 2020-10-28 23:42 小明-o3rr0r 阅读(73) 评论(0) 推荐(0)