自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(20)
  • 收藏
  • 关注

原创 了解动态代理

代理就是被代理者没有能力或者不愿意去完成某件事情,需要找个人代替自己去完成这件事,动态代理就是用来对业务功能(方法)进行代理的。1.定义一个UserService表示用户业务接口,规定必须完成用户登录,用户删除,用户查询功能。1.非常灵活,支持任意接口类型的实现类对象做代理,也可以直接俄为借口本身做代理。模拟某企业用户管理业务,需包含用户登录,用户删除,用户查询功能,并要统计每个功能的耗时。2.创建一个实现类的对象,该对象为业务对象,紧接着为业务对象做一个代理对象。2.可以为被代理对象的所有方法做代理。..

2022-07-24 23:13:23 107 1

原创 了解一下反射

1.反射的第一步是什么?获取Class类对象,如此才可以解析类的全部成分。2.获取Class类的对象的三种方式①Classc1=Class.forName("全类名");②Classc2=类名.class;③Classc3=对象.getClass();泛型只是编译时约束程序员,其真实类型都是ArrayList。还有一种方法反射为何可以给约定了泛型的集合存入其他类型的元素?①编译成Class文件进入运行阶段的时候,泛型会自动擦除。httpshttps。......

2022-07-23 21:27:45 215

原创 Junit单元测试框架

①Junit是使用Java语言实现的单元测试框架,它是开源的,Java开发者都应当学习并使用JUnit编写单元测试。②此外,几乎所有的IDE工具都集成了Junit,这样我们就可以直接在IDE中编写并运行Junit测试,Junit目前最新版本是5。...

2022-07-22 11:05:03 299

原创 TCP通信-即时通信-模拟BS系统

即时通信、模拟BS系统、线程

2022-07-21 17:54:52 245

原创 TCP协议

TCP通信、客户端发送消息、客户端接收消息、多发多收、同时接收多个客户端消息、使用线程池优化

2022-07-21 16:25:05 181

原创 UDP通信

UDP通信,广播,组播,DatagramSocket,MulticastSocket

2022-07-20 20:50:24 2984

原创 网络通信三要素

网络通信三要素,IP地址、端口、协议、TCP\UDP

2022-07-20 19:51:07 288

原创 定时器 (Timer、ScheduleExecutorService)

定时器 ,Timer定时器 ,ScheduleExecutorService

2022-07-19 22:13:34 244

原创 关于线程池

线程池概述 ,线程池处理Runnable任务 ,线程池处理Callable任务,Executors工具类实现线程池。

2022-07-19 20:44:56 63

原创 线程安全 - >线程同步

假设小明的进程先执行,先小明进程判断余额是否足够,后小红进程判断余额是否足够,余额足够,先小明进程在账户中吐出10w元,更新余额,然后小红进程在账户中吐出10w元,更新余额,最后小明取钱后剩余0.0元,小红取钱后剩余-10w元。为了更清晰的表达如何加锁和释放锁,JDK5以后提供了一个新的锁对象Lock,更加灵活、方便。原理每次只能一个线程进入,执行完毕以后自动解锁,其他线程才可以进来执行。①同步方法其实底层也是有隐式锁对象的,只是锁的范围是整个方法代码。同步代码块锁的范围更小,同步方法锁的范围更大。....

2022-07-18 23:15:46 130

原创 Thread的常用方法

当有很多线程在执行的时候我就需要使用Thread的常用方法getName()、setName()、currentThread()等。1.此方法是Thread类的静态方法,可以直接使用Thread类调用。2.这个方法是在哪个线程执行中调用的,就会得到哪个线程对象。......

2022-07-18 11:02:58 355

原创 关于多线程

多线程、继承Thread、实现Runnable接口、利用Callable FutureTask接口、Java线程的6种线程状态。

2022-07-17 21:58:49 151

原创 Properties

2.属性文件后缀是.properties结尾的文件,里面的内容都是key=value,后续做系统配置信息的。1.Properties代表的是一个属性文件,可以把自己对象中的键值对信息存入到一个属性文件中去。其实就是一个Map集合,但是我们一般不会当集合使用,因为HashMap更好用。......

2022-07-17 11:11:17 470

原创 打印流PrintStream,PrintWriter

PrintStream、PrintWriter、输出语句的重定向PrintStream ps = new PrintStream("文件地址"); System.setOut(ps);

2022-07-17 11:00:21 1856

原创 对象序列化和对象反序列化

作用以内存为基准,把存储到磁盘文件中去的对象数据恢复成内存中的对象,称为对象反序列化。作用以内存为基准,把内存中的对象存储到磁盘文件中去,成为对象序列化。使用到的流是对象字节输出流ObjectOutputStream。1.对象要序列化,必须实现Serializable序列化接口。把磁盘中的对象数据恢复到内存的Java对象中。对象必须实现序列化接口。三.序列化对象的要求是怎么样的?一对象反序列化的含义是什么?二对象反序列化用到了哪个流?一对象序列化的含义是什么?二对象序列化用到了哪个流?......

2022-07-16 16:54:23 234

原创 字符输出转换流

字符输出转换流(OutputStreamWriter),可以把字节输出流按照指定的编码转换成字符输出流。2.可以指定编码把字节输出流转换成字符输出流,从而可以指定写出去的字符编码。字符输出转换流OutputStreamWriter的作用。......

2022-07-16 15:49:18 637

原创 字符输入转换流

可以把指定编码原始字节流转换成字符流,如此字符流中的字符不乱吗。如果代码编码和文件编码不一致时,使用字符流直接读取会出现乱码。字符输入转换流(InputStreamReader)字符输入转换流InputStreamReader作用?可以把原始的字节流按照指定编码转换成字符输入流。1.可以解决字符流读取不同编码乱码的问题。所以需要使用字符输入转换流。......

2022-07-16 15:40:30 90

原创 字符缓冲流

也可写成BufferedWriterbw=newBufferedWriter(newFileWriter("src/out10.txt"));也可写成BufferedReaderbr=newBufferedReader(newFileReader("src/data9.txt"));作用提高字符输入流读取数据的性能,除此之外多了按照行读取数据的功能。作用提高字符输出流写取数据的性能,除此之外多了换行操作。1.字符缓冲流为什么提高了操作数据的性能?2.字符缓冲流的功能如何使用?......

2022-07-16 10:27:25 146

原创 字节缓冲流的性能分析

建议使用字节缓冲输入流、字节缓冲输出流,结合字节数组的方式,目前来看是性能最优的组合。这个方法较慢,可以将转移数据的桶加到到1024*8来加快传输速度。4.使用高级的缓冲字节流按照一个一个字节数组的形式复制文件。分别使用低级字节流和高级字节缓冲流拷贝大视频,记录耗时。2.使用低级的字节流按照一个一个字节数组的形式复制文件。3.使用高级的缓冲字节流按照一个一个字节的形式复制文件。1.使用低级的字节流按照一个一个字节的形式复制文件。这个方法也较慢,因为是一个字节一个字节传输。这个方法很快,推荐使用这种方法。..

2022-07-15 17:09:30 257

原创 字节缓冲流的使用

字节缓冲输出流BufferedOutputStream,提高字节输出流读取数据的性能。字节缓冲输入流BufferedInputStream,提高字节输入流读取数据的性能。2.字节缓冲输出流自带了8KB缓冲池,数据就直接写入到缓冲池中去,写数据性能提高了。1.字节缓冲输入流自带了8KB缓冲池,以后我们直接从缓冲池读取数据,所以性能较好。2.作用缓冲流自带缓冲区、可以提高原始字节流、字符流读写数据的速度。答缓冲流自带缓冲区,可以提高原始字节流、字符流、读写数据性能。1.缓冲流也称为高效流、或者高级流。.....

2022-07-15 09:30:07 687

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除