Java
未读
面试──java基础题
本文深入探讨了Java编程语言的基础知识,涵盖了序列化和反序列化、Exception和Error的区别、Java的优势、多态特性、参数传递方式、多继承的限制、面向对象与面向过程编程的区别、方法重载与重写的差异、内部类、Java 8-21的新特性、String、StringBuilder和StringBuffer的区别、包装类型与基本类型的比较、抽象类与接口的区别、JDK与JRE的差异、hashcode和equals方法、SPI机制、泛型的作用与擦除、深拷贝与浅拷贝、Integer缓存池、类加载机制、双亲委派模型、new String("yupi")语句的对象创建情况以及线程的start()方法限制等多个方面。文章旨在帮助读者全面理解Java编程的核心概念和技术细节。
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的故事