Java
文章平均质量分 97
__Hiro__
这个作者很懒,什么都没留下…
展开
-
Java IO 操作基础1---普通文件的相关操作
Java 中 IO 操作是 Java 的一个重要组成部分,这里总结一下 Java 中的 IO 的基础操作。首先, Java 中的 File 类是 IO 操作的基础,因为所有文件或者文件夹对象都可以用 File 对象来具体化表示,并且通过 File 类提供的方法来对其进行相关操作,扫一眼 File 类的常用 API 吧:String getName() 获取该File对象指向的文件对象的名称(这里原创 2017-06-25 23:48:15 · 640 阅读 · 2 评论 -
Java 集合框架(5)---- Map 相关类解析(中)
前言在上上篇文章中我们一起看了一下原创 2018-08-20 23:55:04 · 733 阅读 · 0 评论 -
详解 Java 内部类
前言内部类在 Java 里面算是非常常见的一个功能了,在日常开发中我们肯定多多少少都用过,这里总结一下关于 Java 中内部类的相关知识点和一些使用内部类时需要注意的点。 从种类上说,内部类可以分为四类:普通内部类、静态内部类、匿名内部类、局部内部类。我们来一个个看:普通内部类这个是最常见的内部类之一了,其定义也很简单,在一个类里面作为类的一个字段直接定义就可以了,例:pub...原创 2018-09-04 00:17:56 · 66646 阅读 · 51 评论 -
详解 Java 中的四种引用
前言在 Java 中,引用随处可见,我们通过类似 Object obj = new Object(); 的代码就可以创建一个引用,而我们直接通过这个代码段创建的引用被称为强引用(StrongReference),这种引用的特点是其指向的对象无论如何都不会被 JVM 的垃圾回收器(Garbage Collector)回收(即使是面临着发生 OutOfMemoryError 异常的风险)。但是可能...原创 2018-10-13 23:00:36 · 11487 阅读 · 0 评论 -
Java 集合框架(6)---- Map 相关类解析(下)
本文标题大纲:文章目录前言LinkedHashMap操作元素遍历元素缓存控制WeakHashMapHashtableIdentityHashMap前言在上上篇文章中,我们看了一下 Java 集合框架中一些 Map 接口下的具体类,主要是对 HashMap 和 TreeMap 实现原理和相关元素操作流程的源码解析。接下来这篇文章中我们继续来解析 Java 集合框架中 Map 接口下的另一些具体...原创 2018-11-18 22:17:38 · 713 阅读 · 0 评论 -
Java 集合框架(7)---- Set 相关类解析
本文标题大纲:文章目录前言HashSetTreeSetNavigableSetLinkedHashSet前言在上篇文章中,我们将剩下的常见的 Map 接口下的相关具体类做了一个解析,还有一些相关的类将会在下一篇文章中做一个总结,这篇我们来看看 Set 接口的相关类。老规矩,还是继续看一下 Set 接口下继承关系图:和 List、Map 接口很类似:Set 接口提供了两个子类和接口 Abs...原创 2018-11-25 17:17:51 · 623 阅读 · 0 评论 -
Java 集合框架(8)---- 总结
文章目录前言集合类别线性集合类ArrayListLinkedList 、Queue、DequeVectorStack映射集合类HashMapTreeMapLinkedHashMapWeakHashMapHashtableIdentifyHashMap一般集合类HashSetTreeSetLinkedHashSet线程安全分类非线程安全的集合类:线程安全的集合类前言在之前的文章中我们介绍了一下 ...原创 2019-01-01 20:30:29 · 954 阅读 · 3 评论 -
Java 类机制(1)---- 初识 Class
文章目录前言初探 ClassClass 与反射ConstructorMethodFieldClassModifiers前言不知不觉 2018 已经结束了,而 2019 年的 1 月份也已经过半了,先给各位小伙伴送一句迟到的祝福:祝大家新年快乐。回想起我刚刚接触 Java 的时候,对它的反射机制很是好奇,因为通过它可以访问一些类中的非 public 的属性和方法,当时觉得这真是一个非常厉害的黑...原创 2019-01-30 18:07:36 · 980 阅读 · 0 评论 -
Java 类机制(2)---- 类加载过程
前言大家好,在该专栏的上一篇文章中我们介绍了一下关于 Java 中类的相关知识点。那么这篇文章我们来看一下一个 Java 类是怎么被虚拟机加载并使用的,本文内容参考了《深入理解Java机》一书。试想一下,如果没有 Eclipse,IDEA 等 Java 编程工具,我们在编写好一个 Java 类源文件(.java)后如何将其编译成一个 .class 文件呢?没错,通过 javac 命令,实际上也...原创 2019-05-31 23:59:44 · 704 阅读 · 0 评论 -
Java 类机制(3)---- 类文件结构
文章目录前言解析 .class 文件magicminor_versionmajor_versionconstant_poolaccess_flagthis_classsuper_classinterfaces_countinterfacesfields_countfiledsmethods_countmethodsattributes_countattributes再论类加载前言 在上一篇...原创 2019-06-30 23:04:04 · 863 阅读 · 0 评论 -
Java 集合框架(4)---- Map 相关类解析(上)
前言原创 2018-08-05 14:15:16 · 453 阅读 · 0 评论 -
Java Object 类方法解析
前言原创 2018-08-11 00:22:31 · 2021 阅读 · 2 评论 -
Java IO 操作基础2---操作 ZIP 压缩文件
上一篇 Java 类别的文章中介绍了一下 Java 中普通文件的相关操作,包括:文件读取和写入、文件复制、文件移动等操作。这一篇来看一下 Java API 对 ZIP 压缩格式的文件的相关操作。一、 压缩文件/文件夹先从压缩文件开始吧,先来看一下一个普通的压缩文件的内容:这是一个简单的 ZIP 格式的压缩文件,打开之后可以看到里面有很多项,包括文件夹和文件,我们在压缩这些文件时往往会先将要压缩的文件原创 2017-12-05 00:37:21 · 742 阅读 · 0 评论 -
Java 多线程(1)---- 初识线程
前言多线程想必大家都不会陌生。因为在日常使用和开发中,多线程的使用实在是太常见了。我们都知道,发明多线程的目的是为了更好的利用计算机的 CPU 资源。比如在一个进程中如果只有一个线程(也叫主线程),那么如果当这个线程因为某种原因阻塞(等待用户输入数据等情况)的时候,那么相对应的这个进程也让出了 CPU 资源并暂停执行了。试想一下,如果我们在一个进程中添加多个线程,那么当这个进程中某个线程阻塞的...原创 2018-03-09 15:53:20 · 1286 阅读 · 4 评论 -
Java 多线程(3)---- 线程的同步(上)
前言我们在前面两篇文章中分别看了一下 Java 线程的一些概念、用法和对于线程控制(开始、暂停、停止)等,并对其中的一些易错点进行了总结,如果你是对这些概念还是还不是太熟悉,建议先看一下前面的文章:Java 多线程(1)— 初识线程 和 Java 多线程(2) — 线程的控制。这篇文章我们来继续讨论 Java 多线程 — 线程的同步。Java 内存模型在开始介绍线程同步之前,我们必...原创 2018-03-17 17:29:58 · 1194 阅读 · 16 评论 -
Java 多线程(2)---- 线程的控制
前言在上一篇文章中我们简单的认识了一下线程。包括线程的优先级、如何创建一个线程(通过继承 Thread 类或者通过新建 Runnable 对象并作为参数传入 Thread 的构造方法中)、线程的声明周期状态(新建状态、运行状态(就绪状态、正在运行状态)、等待状态、阻塞状态、结束状态),最后我们看了一下守护线程的概念和其特点。如果你对线程的一些概念还不熟悉,建议先从第一篇文章看起:Java 多线...原创 2018-03-12 16:07:56 · 1099 阅读 · 0 评论 -
Java 多线程(4)---- 线程的同步(中)
前言在前一篇文章: Java 多线程(3)— 线程的同步(上) 中,我们看了一下 Java 中的内存模型、Java 中的代码对应的字节码(包括如何生成 Java 代码的字节码和某些字节码的含义)并且分析了 Java 代码的原子性的问题。最后我们看了一下一些常见的多线程并发导致的问题。这篇文章我们主要来看一下如何运用 Java 相关 API 来实现线程的同步,即解决我们在上篇中留下的问题。在...原创 2018-03-23 17:46:08 · 812 阅读 · 17 评论 -
Java 多线程(5)---- 线程的同步(下)
前言在前一篇文章Java 多线程(4)—线程的同步(中) 我们看了一下如何使用 ReentrantLock 类和 synchronized 关键字来控制在多个线程并发执行的同步,并通过他们解决了我们之前留下的关于线程通过带来的一些问题。这篇是线程同步文章的最后一篇,我们来一下一些新的知识点:volatile 关键字首先我们来看一下 Java 中另一个和多线程有关的关键字: vola...原创 2018-04-21 23:22:31 · 746 阅读 · 2 评论 -
Java 多线程(7)----线程池(下)
前言在上篇文章:Java 多线程—线程池(上) 中我们看了一下 Java 中的阻塞队列,我们知道阻塞队列是一种可以对线程进行阻塞控制的队列,并且在前面我们也使用了阻塞队列来实现 生产者-消费者模型 。有了阻塞队列的基础之后,我们来正式看一下 Java 中的线程池。首先来看一下线程池的作用:Java 已经给我们提供了多线程机制,那么线程池是为了解决什么问题呢? 我们设想一下:假设现在我们打...原创 2018-05-09 04:00:44 · 764 阅读 · 0 评论 -
Java 多线程(6)----线程池(上)
前言在前面的系列文章中,我们介绍了一下 Java 中多线程的一些主要的知识点和多线程并发程序的设计和处理思想。包括线程的介绍、生命周期、线程的运行控制。之后介绍了如何确保 Java 多线程并发程序的正确性,即通过锁(ReentrantLock 、synchronized )的思想来实现多线程执行顺序的控制等。如果你对这些还不熟悉,建议看一下前面的文章。接下来我们来看一下 Java 多线程中另一...原创 2018-05-03 22:33:32 · 878 阅读 · 0 评论 -
Java 多线程(8)---- 线程组和 ThreadLocal
前言在前面的系列文章中,我们从多方面讲了一下 Java 中的线程,第一篇文章中,我们讲了线程的创建(继承 Thread 类或者新建 Thread 并且传入 Runnable 对象参数)、线程的几种状态(就绪台、阻塞态、等待态、运行态、结束态)和线程的几种状态之间的转换条件...原创 2018-05-17 23:45:47 · 1073 阅读 · 0 评论 -
Java 集合框架 (1)---- 概述
前言一转眼就到 6 月了,还有一个月左右这学期就结束了,想着这学期结束就得去找实习了。。。时间过的好快,突然想起《许多年以后》中的一句歌词:时间过的好快不会再重来。大学生活就剩最后一年了,之后就得变成上班族了,还是要好好珍惜和利用剩余的大学时光。集合框架概述好了,还是不感慨人生了,步入正题,本篇文章是 Java 集合框架的第一篇,从这篇开始,我们将一起来学习一下关于 Java 中集...原创 2018-06-07 14:00:51 · 3519 阅读 · 1 评论 -
Java 集合框架(2)---- List 相关类解析(上)
前言在上篇文章中我们从大体上看了一下 Java 中的集合框架,包括原创 2018-06-21 17:32:14 · 735 阅读 · 0 评论 -
Java 集合框架(3)---- List 相关类解析(下)
前言在上篇文章中,我们主要看了 AbstractCollection 抽象类 List 接口下的 AbstractList 抽象类,介绍了他们实现了 Collection 中一些抽象方法。在这篇文章中,我们来看一下 List 接口下的一些具体类,也就是我们平常经常使用的一些类: ArrayList这个类算的上是我们平常开发中最常用的类之一了。翻译过来意思是 数组列表 ,不过比起这个名...原创 2018-06-26 20:30:02 · 809 阅读 · 0 评论