
从一到二再练 Java
文章平均质量分 83
个人回顾 Java 相关内容的笔记与思考。
张志帅
这个作者很懒,什么都没留下…
展开
-
ArrayList 与 LinkedList 区别
介绍了 ArrayList 源码解析和 LinkedList 源码解析后,再来对它们进行下对比学习,欢迎阅读斧正。原创 2021-03-14 01:59:55 · 304 阅读 · 0 评论 -
Java 枚举使用
在本文中,我们将会了解到什么是 Java 枚举,在 switch 中的使用、使用枚举实现设计模式、实现高效的集合、使用 Java 8 新特性优化枚举类等内容。原创 2020-05-14 10:08:27 · 604 阅读 · 1 评论 -
Java 异常处理机制
在 Java 异常简述 这篇文章中,我们简单了解了异常的分类以及常见的几种异常,这篇博客将对 Java 中对异常的处理机制做一个介绍。原创 2020-05-12 15:59:44 · 304 阅读 · 0 评论 -
Java 属性赋值顺序
TL;DR默认初始化;显示初始化/代码块中赋值构造器中初始化对象.属性或对象.方法代码Grandfather 类:package com.mindartisan.priority;public class Grandfather { static { System.out.println("爷爷的静态代码块"); } { System.out.println("爷爷的普通代码块"); } public Grandf原创 2020-05-11 20:44:59 · 323 阅读 · 0 评论 -
一文让你学会使用 Java 动态代理
此篇博客中说到的动态代理为通过 JDK 实现的动态代理。在上篇 Java 静态代理 中我们说到了静态代理的缺点之一是「代理类需在程序编译前创建,不能在程序运行时动态创建被代理类的代理类」,此篇博客中我们仍将以「ZhangDeShuai 追求 YangHaoKan」为例介绍 Java 动态代理。背景上篇 Java 静态代理 中,如果 YangHaoKanMa 不在,ZhangDeShuai 就不能通过 YangHaoKanMa 追求 YangHaoKan 了。能屈能伸的 ZhangDeShuai.原创 2020-05-11 15:12:05 · 541 阅读 · 2 评论 -
最通俗易懂的 Java 静态代理讲解
代理模式(Proxy):为其他对象提供一种代理以控制对这个对象的访问。我们以追姑娘为例子,广大男性朋友们在追求女孩时会遭到她家长的一些「协助」,比如在下述例子中:提供了 YangHaoKanFamily 用来控制 ZhangDeShuai 对 YangHaoKan 的追求。总结下代理模式的优点:1. 可以隐藏被代理类的实现;2. 可以实现客户与被代理类的解耦,可以通过修改代理类的代码得到一些对代理类的处理(对我们的业务进行增强)。再分析下缺点:1. 一个代理类只能代理一个被代理类;2. 代理原创 2020-05-10 19:48:46 · 398 阅读 · 0 评论 -
关于 Java 反射,你该了解这些
反射在 Java 中的实现、方法,以及一些扩展,欢迎阅读斧正。原创 2020-05-04 21:38:41 · 500 阅读 · 2 评论 -
Java Iterator 详解
Iterator 是 java.utils 包下定义的迭代器接口。在开发中,我们用它来遍历集合,从而实现访问相应数据以及删除相应数据的目的。常用方法boolean hasNext():当迭代器对象中有剩余元素可以访问时,返回 true;bject next():当 hasNext() 方法返回 true 时,它返回集合中的下一个元素。当没有下一个元素时,此方法会抛出 NoSuchElem...原创 2020-04-28 23:54:52 · 1649 阅读 · 0 评论 -
Java Collection 接口简述
Collection 接口是常用 List、Set、以及 Queue 接口的父接口,该接口中定义的方法既可以用于操作 Set 集合,又可用于操作 List 集合以及 Queue 集合。原创 2020-04-28 21:21:34 · 257 阅读 · 0 评论 -
Java 访问修饰符
Java 中提供了 3 个访问控制符:private、protected、public,分别代表了 3 个不同的访问控制级别。另外还有一个不加任何 关键字 的访问控制级别,共 4 种访问控制级别。Java 访问修饰符 public、protected、 (缺省)、 private置于 类的成员 定义前,用来限定对象对该类成员的访问权限。private: 当前类访问权限,若某个类中的成员(...原创 2020-04-24 15:44:51 · 313 阅读 · 0 评论 -
final 关键字
final 关键字可以用在不同的情况下。可以在声明类、变量以及方法时使用。修饰类被 final 修饰的类不可以被继承,可以提高安全性。例:String、System、StringBuffer。修饰方法被 final 修饰的方法不能被子类重写。例:Object 类中的 getClass()。修饰变量被 final 修饰的变量(成员变量和局部变量)称为常量,名称大写,只能被赋值一次。...原创 2020-04-24 17:26:58 · 189 阅读 · 0 评论 -
Java 异常简述
定义在《Java 编程思想》中说道,异常情形(exceptional condition)是指阻止当前方法或作用域继续执行的问题。换句通俗的话说既:程序执行中发生的不正常的情况称为异常。分类按结构Error:是程序无法处理的错误,表示运行应用程序中较严重问题。大多数错误与代码编写者执行的操作无关,而是 Java 运行时系统的内部错误和资源耗尽错误。如 StackOverflowError ...原创 2020-04-20 14:31:26 · 417 阅读 · 2 评论 -
abstract 关键字
在 Java 中,abstract 用来修饰类以及方法。原创 2020-04-18 17:14:21 · 584 阅读 · 0 评论 -
Java 接口
定义接口(interface)是 抽象方法 和常量值 定义的集合。下面会说到原因。特点用 interface 定义;成员变量都默认由 public、static、final 修饰(所以说是「组成元素之一是 常量值 」);所有方法都默认是由 public、abstract 修饰的(所以说是「组成元素之一是 抽象方法 」);接口中没有构造器(毕竟构造器是用来实例化一个对象的);可...原创 2020-04-16 21:49:38 · 260 阅读 · 0 评论 -
static 关键字详解
static 方法就是没有 this 的方法。在 static 方法内部不能调用非静态方法,反过来是可以的。而且可以在没有创建任何对象的前提下,仅仅通过类本身来调用 static 方法。这实际上正是 static 方法的主要用途。——《Java编程思想》原创 2020-04-15 13:58:05 · 551 阅读 · 0 评论 -
== 和 equals() 的区别
==== 符号使用时,需要保证符号左右的变量类型一致(均为基本数据类型变量或引用数据类型变量)== 是一个运算符;比较 基本数据类型变量 时,比较两个变量保存的 数据是否相等(无需在意类型是否相同,但是 boolean 类型除外);比较 引用数据类型变量 时,比较的是两个对象的 地址值是否相同,也就是两个引用是否指向同一个对象实体。equals()equals() 是一个方法...原创 2020-04-14 09:50:51 · 204 阅读 · 0 评论 -
Java 标识符
定义在编程语言中,标识符用来标识目的。在 Java 中,一个标识符可以是类名称、方法名称、变量名称或者标签。不严谨地说:凡是开发人员自己命名的名称都可以算是标识符。合法规则由 26 个英文字母的大小写,0-9,_ 或 $ 构成;数字不可以做开头;不可以使用关键字或保留字,但可以包含;区分大小写,但是没有长度要求,建议在 4-15 之间;不可以使用空格。命名规范本着 见名知意 ...原创 2020-04-06 08:46:16 · 391 阅读 · 0 评论 -
Java 关键字
定义关键字或保留字在编程语言中是被用于一些内部过程或者表示一些预先定的动作。因此,不允许将这些单词用作变量名或对象,否则会导致编译时错误。关键字关键字名称作用abstract抽象类或方法assert用来查找内部程序错误boolean布尔类型,一个只能表示 True 与 False 的数据类型break跳出一个 switch 或循环byte...原创 2020-04-01 17:34:05 · 242 阅读 · 0 评论