Java重要知识
未读
Reactive-Stream知识
Reactive Streams 规范旨在解决传统数据处理模式中存在的“消费者压垮”问题。通过引入背压机制,该规范允许消费者控制生产者的速度,从而确保系统在高负载下的稳定性和可靠性。它定义了一套通用接口,使不同库能够互操作。Java 9 的 Flow 类实现了该规范,提供了核心接口的实现,包括 Publisher、Subscriber、Subscription 和 Processor,使得构建高性能、可扩展的异步应用更加简单和安全。
Java文件与IO
未读
Java NIO 比传统 IO 强在哪里?
本文深入探讨了Java NIO与传统IO的差异,主要论点包括:NIO通过非阻塞I/O和多路复用,提高了网络传输的性能和可伸缩性;在文件操作方面,NIO的通道和缓冲区机制相比传统IO的字节流或字符流并没有显著优势;零拷贝技术进一步提升了NIO的性能。文章通过实际测试验证了NIO在处理大量并发连接时比传统IO更高效,特别是在网络传输场景中。
Java集合框架
未读
Java函数式编程
本文探讨了Java函数式编程,重点介绍了函数对象、闭包、柯里化、高阶函数等概念。文章首先阐述了合格函数的定义,并通过实例说明了函数与方法的区别。接着,介绍了函数对象的表现形式,包括lambda表达式和方法引用,并详细讲解了其语法和用法。随后,文章深入探讨了闭包和柯里化的概念,并展示了其在实际应用中的优势。此外,文章还介绍了高阶函数的概念,并通过实例展示了其如何简化代码并提高可读性。最后,文章对Stream流API进行了详细讲解,包括其基本操作、合并与截取、生成流、查找与判断、去重和排序、化简、收集、基本流和特性等内容,并展示了如何使用并行流来提高程序性能。
Java重要知识
未读
Java网络编程的基础:计算机网络
Java文件与IO
未读
Java 转换流:Java 字节流和字符流的桥梁
本文介绍了Java中的转换流,即InputStreamReader和OutputStreamWriter,它们是字节流和字符流之间的桥梁,用于处理文本数据。文章首先阐述了编码和解码的概念,并举例说明了ASCII、Unicode、Base64等编码方式。接着,详细介绍了常见的字符集,如ASCII、Unicode和GBK,以及它们的编码方式。然后,通过实例说明了乱码问题的产生及解决方法。最后,重点讲解了InputStreamReader和OutputStreamWriter的构造方法和常用方法,并强调了在转换流中使用正确的字符集编码方式的重要性。
Java文件与IO
未读
Java 序列流:Java 对象的序列化和反序列化
本文介绍了Java对象的序列化和反序列化机制,重点阐述了ObjectOutputStream和ObjectInputStream的使用方法。文章指出,Java对象的序列化需要实现Serializable接口,并通过ObjectOutputStream将对象序列化到文件或网络流中,而ObjectInputStream则用于反序列化字节流为对象。此外,文章还介绍了Kryo库,它提供了一种高性能的序列化解决方案,以克服JDK序列化机制的局限性。
Java文件与IO
未读
Java 字符流:Reader和Writer的故事
Java文件与IO
未读
Java 缓冲流:Java IO 的读写效率有了质的飞升
本文探讨了Java缓冲流对IO读写效率的提升。通过在内存中创建缓冲区,Java的BufferedInputStream和BufferedOutputStream实现了字节流的缓冲,而BufferedReader和BufferedWriter实现了字符流的缓冲。缓冲流减少了系统调用次数,降低了磁盘读写次数,提高了数据传输效率。实验表明,使用缓冲流进行大文件复制比普通流快得多。此外,还详细解释了字节缓冲流的工作原理,包括缓冲区的填充、数据的读取和写入,以及字符缓冲流的特有方法如readLine和newLine。
Java文件与IO
未读
Java 字节流:Java IO 的基石
本文探讨了Java字节流,作为Java IO的基石,介绍了OutputStream和InputStream的共性方法,并详细阐述了FileOutputStream类的构造方法、写入字节数据、追加数据和换行等操作。同时,还介绍了FileInputStream类的构造方法和读取字节数据的方式,并举例说明了如何使用FileInputStream复制图片。最后,总结了InputStream和OutputStream在字节流中的重要作用。