Java核心基础加强系列-NIO初探

对于这部分内容其实我一直都是抗拒的,因为觉得非常难,但是没办法,对于我们开发者来说,不学习NIO是不可能的。就暂且非常粗浅地写下这篇文章。后面随着自己能力的提高,再去学习其更加核心的知识点和应用吧。 前言 Java NIO,Java New IO,也被称为Non-blocking IO,即非阻塞IO,是从Java 1.4开始引入的新的IO API,用以取代标准Java IO和网络API,当然,N

继续阅读 »

Java核心基础加强系列-序列化和反序列化

序列化和反序列化的概念 所谓序列化,即将一个Java对象的状态序列化成一串二进制流,从Java层面来说,即序列化成一个字节数组byte[]。 反序列化,即将字节数组重新还原成Java对象。 那么到底为什么要这么做呢? 我们知道在Java程序运行时,Java中的对象是保存在堆内存中的,他们的生命周期随着jvm的关闭而结束,但是往往我们有一些需求,在jvm停止时,需要将对象的状态信息保存下来,在程序

继续阅读 »

Java核心基础加强系列-java异常体系

相信大家在编程时都遇到过异常,出现异常是我们不想看到的,不过正是因为其会影响程序的正常运行,所以我们应当理解Java的异常体系,并知道怎样去优雅地处理异常,本文将聚焦这些内容。 Java的异常体系 先来展示一张大图: 想必Java程序员对这张图都非常熟悉,这张图展示了Java异常体系的继承关系。 Throwable类是整个Java异常体系的顶级父类,其有两个子类:Error和Exception

继续阅读 »

Java核心基础加强系列-内部类

2019是个学习之年,之前列出了一些需要加强的Java核心基础点,详情可参考文章 致敬2019 ,本篇文章是Java核心基础加强系列的第一篇文章。 内部类的定义 顾名思义,所谓内部类,是定义在一个类里面的类。 class OutterClass{ private String outterName; class InnerClass{ private String innerN

继续阅读 »

Java核心基础加强系列-反射

反射概述 JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法和属性;这种动态获取的信息以及动态调用对象的方法的功能称为java语言的反射机制。 这是每本Java书都会写的一段介绍,那么到底什么是反射,我们可以这样理解,针对Java程序中的每个类,都会存在这样一个名为Class的对象,该对象保存着类中所有的信息,包括属性,

继续阅读 »

重复造轮子系列之BeanUtils.copyProperties()的实现

前言 相信大家在开发中一定都用过Spring框架提供的一个小工具类:BeanUtils,特别是其中的copyProperties()方法,它可以将一个对象中的属性复制到另一个对象中,不过复制的前提是两个对象中的属性的名称和类型要一样,在开发中大量使用了这个工具类,所以想着探究一下实现原理,要是你说你没用过,那我也不知道说啥,不管别人信不信,反正我是不信。 反射 可能你会说,Java里边有一套很厉

继续阅读 »