- 博客(35)
- 收藏
- 关注
原创 动态代理
代理里面就是对象要被代理的方法。对象有什么方法想被代理,代理就一定要有对应的方法。参数2:指定接口,这些接口用于指定生成的代理长什么样,也就是有哪些方法。如果对象嫌身上干的事情太多的话,可以通过代理来转移部分职责。参数1:用于指定用哪个类加载器,去加载生成的代理类。保证,后面的对象和代理需要实现同一个接口。参数3:用来指定生成的代理对象要干什么事情。特点:无侵入式的给代码增加额外的功能。4、Java通过什么来保证代理的样子?参数三:调用方法时,传递的实参。接口中就是被代理的所有方法。参数二:要运行的方法。
2024-10-16 11:56:45
260
原创 反射的学习
适用于源代码阶段:比如:A.java文件编译成A.class文件,没有把代码加载到内存中,只是在硬盘中进行操作。方式2:类名.class 此方式一般是当做参数进行传递,如synchronized方法中的锁对象。创建这个类的对象,通过对象获取class字节码文件对象。通过Constructor类,该类用来描述构造方法,该类对象就表示构造方法的对象。作用1:获取一个类里面所有的信息,获取到了之后,再执行其他的业务逻辑。想要运行某个类中的方法,直接更改配置文件中的类名和方法名就行了。
2024-10-13 20:48:12
459
原创 网络编程学习
CS架构建立在局域网上,处理面向在相同区域的比较固定的用户群,满足对安全要求高的需求,交互性强,但信息流单一。BS架构建立在广域网上,处理面向分散的地域的不同的用户群,交互能力有限,但可处理如B-B、B-C、B-G等信息,并具有流向的变化。TCP通信协议是一种可靠的网络协议,它在通信的两端各建立一个Socket对象,通信之前要确保连接已经建立,通过Socket产生的IO流来进行网络通信。(Browser/Server)浏览器/服务器:只需要一个浏览器,用户通过不同的网址,访问不同的服务器。
2024-10-13 12:18:58
1012
原创 多线程&JUC的学习
假如“飞机”线程先抢到了CPU的使用权,执行yield方法,出让了CPU的使用权,但是新一轮循环开始时,“飞机”和“坦克”两个线程会重新抢夺CPU的使用权,所以“飞机”线程可能会再次抢到CPU的使用权。提交任务时,池子会创建新的线程对象,任务执行完毕,线程归还池子,下次再提交任务时,不需要创建新的线程,直接复用已有的线程即可。跟电脑的CPU有关系,4核8线程,4核可以同时干四件事情,因特尔的超线程技术,可以把原本的4个虚拟成8个,最大并行数是8。扩展性强,实现该接口的同时,还可以继承其他的类。
2024-10-11 20:38:52
1863
原创 IO相关的常用工具包
API文档: https://apidoc.gitee.com/dromara/hutool/3、右键点击jar包,选择Add as Library--->点击OK。Commons-io是apache开源基金组织提供的一组有关IO操作的开源工具包。中文使用文档: https://hutool.cn/docs/#/Hutool官网: https://hutool.cn/2、将jar包复制粘贴到lib文件夹。1、在项目中创建一个文件夹:lib。作用:提高IO流的开发效率。
2024-10-07 11:11:35
604
原创 解压缩流和压缩流
ZipInputStream解压缩流解压本质:把每一个ZipEntry按照层级拷贝到本地另一个文件夹中。ZipEntry表示压缩包里的每一个文件。/** 解压缩流 */public class ZipStreamDemo1 { public static void main(String[] args) throws IOException { //1.创建一个File表示要解压的压缩包 File src = new File("D:\\aa
2024-10-06 20:37:32
430
原创 字节打印流和字符打印流
有两种PrintStream字节打印流PrintWriter字符打印流打印流,只能特有的写出方法,可以实现例如:打印:97 文件中:97打印:true 文件中:true特有的写出方法,可以实现打印一次数据 = 写出 + 换行 + 刷新。
2024-10-06 18:20:44
779
原创 序列化流和反序列化流
Serializable接口里面是没有抽象方法,是标记型接口,一旦实现了这个接口,那么就表示当前的Javabean类可以被序列化。public Object readObject()把序列化到本地文件中的对象,读取到程序中来。3、序列化对象后,修改了Javabean类,再次反序列化,会不会有问题?2、序列化流写到文件中的数据是不能修改的,一旦修改就无法再次读回来了。异常,因为文件中的版本号,跟Javabean中的版本号不匹配。可以把序列化到本地文件中的对象,读取到程序中来。方法2:idea设置以下选项。
2024-10-05 15:47:50
764
原创 转换流基本用法
转换流属于字符流,用于包装基本流。是字符流和字节流之间的桥梁。作用1:指定字符集读写。(JDK11版本之后淘汰了,了解就行)OutputStreamWriter转换输出流。InputStreamReader转换输入流。作用2:字节流想要使用字符流中的方法。
2024-10-05 13:08:45
350
原创 字符缓冲流
public BufferedWriter ( Writer r )把基本流变成高级流。public void newLine() 跨平台的换行 方法底层会判断是什么操作系统。public BufferedReader( Reader r )把基本流变成高级流。() 读取一行数据,如果没有数据可读了,返回null。遇到回车换行结束读取。原理:底层自带了长度为8192字符(16KB)的缓冲区提高性能。
2024-10-05 10:37:57
370
原创 字节缓冲流
缓冲流本身不能直接读取数据,也不能把数据直接写出到文件中。在创建对象的时候,缓冲流需要关联基本流,真正读取数据写出数据的还是基本流,缓冲流只是提高了效率。原理:底层自带了长度为8192(8KB)的缓冲区提高性能。对基本流进行封装,加上缓冲区变成缓冲流,提高读写的效率。利用字节缓冲流拷贝文件 (一次操作一个字节)利用字节缓冲流拷贝文件(一次操作一个字节数组)底层代码有,会自动关闭基本流。把基本流包装成高级流,提高了读取数据的性能。把基本流包装成高级流,提高了写出数据的性能。
2024-10-04 20:20:29
594
原创 字节流和字符流练习
为了保证文件的安全性,就需要对原始文件进行加密存储,再使用的时候再对其进行解密处理。对原始文件中的每一个字节数据进行更改,然后将更改以后的数据存储到新的文件中。字符流:读取纯文本文件中的数据 往纯文本文件中写出数据。读取加密之后的文件,按照加密的规则反向操作,变成原始文件。拷贝一个文件夹,考虑子文件夹。字节流:拷贝任意类型的文件。
2024-10-04 19:26:49
288
原创 IO流学习--字符流
public FileWriter(File file, boolean append) 创建字符输出流关联本地文件,续写。public FileWriter(String pathname, boolean append) 创建字符输出流关联本地文件,续写。缓冲区中没有数据:就从文件中获取数据,装到缓冲区中,每次尽可能装满缓冲区,如果缓冲区中也没有数据了,返回-1。文件与内存的那个通道还在。细节:如果write方法的参数是整数,但是实际上写到本地文件中的是整数在字符集上的对应的字符。
2024-10-04 09:27:24
1216
原创 IO流学习--字节流
output:写出数据,将程序保存到本地文件中。程序--->文件input:读取数据,本地文件加载到程序中。文件--->程序IO流中是以程序为参照物在读写,是程序在读取文件中的数据,是程序在往文件中写出数据,或者说是内存也是可以的,因为程序运行在内存中的。
2024-10-02 21:28:13
795
原创 File练习
2、定义一个方法找某一个文件夹中,是否有以avi结尾的电影。3、找到电脑中所有以avi结尾的电影。(需要考虑子文件夹)5、统计一个文件夹中每种文件的个数并打印。1、在当前模块下的aaa文件夹中创建一个a.txt文件。5、统计一个文件夹的总大小。4、删除一个多级文件夹。
2024-10-02 16:35:02
191
原创 File学习
public File[] listFiles(FilenameFilter filter) 利用文件名过滤器获取当前该路径下所有内容。public File(File parent, String child) 根据父路径对应文件对象和子路径名字符串创建文件对象。public File[] listFiles(FileFilter filter) 利用文件名过滤器获取当前该路径下所有内容。(重点掌握此方法)public File[] listFiles() 获取当前该路径下所有内容。
2024-09-29 12:49:00
821
原创 异常的学习
编译阶段不会出现异常提醒,运行时出现的异常,一般是由于参数传递错误带来的问题,如:数组索引越界异常。会执行try中所有代码,不会执行catch里面的代码,只有出现异常才执行catch里的所有。把异常的名称,异常的原因及异常出现的位置等信息输出在了控制台。写多个catch与之对应,如果要捕获多个异常,这些异常如果存在父子关系的话,那么。不会执行,直接跳转到对应的catch当中,执行catch里面的语句体。throws:写在方法定义处,表示声明一个异常,告诉调用者使用本方法可能会有哪些异常。
2024-09-27 19:41:14
1093
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅