• 欢迎访问天天编码网站,Java技术、技术书单、开发工具,欢迎加入天天编码
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏天天编码吧
  • 我们的淘宝店铺已经开张了哦,传送门:https://shop145764801.taobao.com/

Java基础,包括基础语法、标准类库、面向对象和读写文件。

Java 序列化的高级认识

将 Java 对象序列化为二进制文件的 Java 序列化技术是 Java 系列技术中一个较为重要的技术点,在大部分情况下,开发人员只需要了解被序列化的类需要实现 Serializable 接口,使用 ObjectInputStream 和 ObjectOutputStream 进行对象的读写。然而在有些情况下,光知道这些还远远不够,文章列举了笔者遇到的一些真……继续阅读 »

1009浏览 0评论 3个赞

Java 的 NIO 入门

正如您所看到的, NIO 库有大量的特性。在一些新特性(例如文件锁定和字符集)提供新功能的同时,许多特性在优化方面也非常优秀。不过 NIO 最强大的长度之一在于,它提供了一种在 Java 语言中执行进行输入/输出的新的(也是迫切需要的)结构化方式。随诸如缓冲区、通道和异步 I/O 这些概念性(且可实现的)实体而来的,是我们重新思考 Java 程序中的 I/O……继续阅读 »

999浏览 0评论 3个赞

深入分析Java的静态类型检查

在各色各样的编程语言中,总共存在着两个类型检查机制:静态类型检查和动态类型检查。静态类型检查是指通过对应用程序的源码进行分析,在编译期间就保证程序的类型安全。动态类型检查是在程序的运行过程中,验证程序的类型安全。在Java中,编译期间使用静态类型检查机制分析Java源代码,可以提前发现Java中类型缺少的错误。 ……继续阅读 »

2884浏览 1评论 15个赞

深入分析Java的序列化(Serialization)

在Java中,使用一个字节序列来表示一个对象就成为对象的序列化。这个字节序列会包含该对象的数据和元信息。一个序列化后的对象,可以被写入到文件或者数据库中,持久地存储起来。同时,文件或者数据库中的序列化对象也可以被读取出来,并反系列化为一个对象,这些代表对象和其数据的字节,可以在内存中被用来重新创建出该对象。 ……继续阅读 »

1990浏览 1评论 5个赞

Java中如何正确地关闭文件

我们知道,无论是在操作系统底层,还是对于JVM而言,文件都是一种非常昂贵的资源,如果不能正确地关闭,严重时,可能导致应用的崩溃。在仔细观察和分析各种Java的开源库之后,发现,Java程序员具有三种常见的关闭文件的方式。第一种是把 close() 方法放在了 try 语句块中,第二个方式把 close() 方法放在了 finally 语句块中,第三种使用了J……继续阅读 »

1122浏览 0评论 1个赞

Java中逐行写文件的几种方法

Java应用经常有逐行读取文本文件的需求,很多时候,Java应用也需要逐行地写文本文件。对于逐行读取文本文件的问题,我们是通过三种构建 BufferedReader 的方式来实现,最终利用其 readLine() 方法。那么对于Java应用中的逐行写出文件,在JDK的输入输出(I/O)包中,又提供了哪些方法呢?哪一种是最好的方法呢?本文将以代码示例的形式,提……继续阅读 »

1925浏览 0评论 0个赞

Java中逐行读取文件的多种方式

对于应用中常见的输入输出(I/O)场景,Java提供了一个数量庞大,种类繁多的类层次系统。对于初学者来说,很容易被各式各样的输入输出(I/O)所迷惑,不知道如何进行选择。Java应用中,与各种文件交互的场景非常多,而且,Java应用经常需要逐行读取文件。对于逐行读取文件,本文将试图遍寻所有的可能方式,并对它们进行比较。 ……继续阅读 »

1939浏览 0评论 2个赞

深入分析Java的异常处理(Exception Handle)机制

越来越多的编程语言开始在语言特性方面添加处理项目中错误的机制,在Java语言中,是通过引入一个称为 异常(Exception) 的概念来对应应用程序中的各种错误情况。本文将通过两个示例代码的形式,深入分析Jav中异常处理机制的秘密。其中的一个示例表明:对于可能抛出异常的方法,所有调用者都必须出异常进行处理;另一个示例表明:可以使用父类型去捕获或处理子类型的异……继续阅读 »

1644浏览 1评论 1个赞

Java中数组(Array)转ArrayList的最高效方法

在Java中,数组和ArrayList是用于存储元素列表的最常见的两种数据结构。而且,经常需要在它们之间进行转换。面对这样高频的一个转换需求,我们有必要寻找到一种高效的方法。那么什么样的转换方式才是最高效的呢?本文将带领大家一步一步推导出最后的答案。首先,我们把这个场景实例化为一个具体问题:如何把如下所示的 数组 转换成 ArrayList ? ……继续阅读 »

2945浏览 1评论 3个赞

深入分析java.util.ConcurrentModificationException

如果读者有着实际的Java项目编程经验,那么很可能遭遇过 java.util.ConcurrentModificationException 这个报错信息。如果读者足够细心的话,可能可以发现该错误信息的发生,经常是在使用 for循环 遍历集合的过程中。本文将带着读者来分析和解决这个常见的错误。 ……继续阅读 »

1610浏览 0评论 2个赞

Java的两种最常见排序方式

排序是任何编程语言和应用的常见需求,所以,学习数据结构和排序算法是学习任何一门编程语言的前提。但是,本文将不会讨论各种排序算法的细节,我们要研究的是:在实际的项目工程中,Java程序员最喜欢使用的两个排序方法。对大量的开源Java项目的源码进行分析之后,发现Java程序员最常使用的排序方式有两种。一个是直接使用 Collections 或 Arrays 的 ……继续阅读 »

1798浏览 0评论 0个赞

Java中最高效的统计方式

在实际的编程项目中,经常需要一个计数器来统计某些事情(单词)的出现频率。比如,一个文本文件或者一张数据库的表中特定的单词出现了多少此?在Java中,如何实现一个这样的计数器呢?最简单的方式可能是利用JDK中的HashMap集合。当然了,实现计数器的方式有很多种,那么哪一种才是最高效的呢?本文将介绍和分析各种实现计数器的方式,并选取出最高效的那种。 ……继续阅读 »

1538浏览 5评论 6个赞