随笔分类 -  从零开始Java学习日记

java-java
摘要:一、虚拟头节点的选取 一般来说,如果对链表进行的操作有可能改变head节点,比如删除head或者移动head,可以对边界条件进行判空。但这种情况的一般做法是:我们创建一个虚拟头节点,无论head如何变化,虚拟头节点是始终存在的。 虚拟头节点的运用十分广泛,我们来看一看具体的运用。 19. 删除链表的 阅读全文
posted @ 2020-09-05 23:51 天乔巴夏丶 阅读(262) 评论(0) 推荐(0) 编辑
摘要:本文摘自:《JavaGuide》 redis简介 redis数据库,与传统数据库不同,redis的数据存储在内存中,读写速度非常快。 redis可以应用的方向:缓存,分布式锁,事务,持久化,LUA脚本,LRU驱动事件,多种集群方案。 为什么要用redis 高性能: 假设数据存储在数据库中,从中读取其 阅读全文
posted @ 2020-09-04 22:46 天乔巴夏丶 阅读(176) 评论(0) 推荐(0) 编辑
摘要:[toc] 一、前言 本篇博客是对 JDK1.5的新特性枚举 的一波小小的总结,主要是昨天在看一部分面试题的时候,遇到了枚举类型的题目,发现自己有许多细节还需要加强,做起来都模棱两可,是时候总结一波了。 二、源自一道面试题 不多bb,直接开门见山,我遇到这样一道也许很简单的题目: 问打印的结果是啥? 阅读全文
posted @ 2020-02-22 20:44 天乔巴夏丶 阅读(992) 评论(1) 推荐(5) 编辑
摘要:[toc] Class Object is the root of the class hierarchy. Object类是所有类的顶级父类,任何一个对象(除了基本类型)都实现了Object类的方法,包括数组。 一、equals public boolean equals(Object obj) 阅读全文
posted @ 2020-02-20 15:28 天乔巴夏丶 阅读(238) 评论(0) 推荐(0) 编辑
摘要:[toc] 一、反射机制 1、概述 反射机制:将类的各个组成部分封装成其他对象,在运行状态中,可以动态获取类信息和调用类对象的方法。 2、优缺点 优点 可以在程序运行过程中,操作类的组成部分。 可以解耦,提高程序的可扩展性。 缺点 产生一系列的解释操作,性能较差。 3、类加载的过程 java语言有着 阅读全文
posted @ 2020-02-19 23:37 天乔巴夏丶 阅读(154) 评论(0) 推荐(0) 编辑
摘要:Lock位于java.util.concurrent.locks包下,是一种线程同步机制,就像synchronized块一样。但是,Lock比synchronized块更灵活、更复杂。 话不多说,我们直接来看官方文档对Lock接口相关概念及功能的描述,今天又是看英文文档,翻译理解的一天。 一、Loc 阅读全文
posted @ 2020-02-16 20:20 天乔巴夏丶 阅读(1926) 评论(0) 推荐(4) 编辑
摘要:[toc] 在并发编程中,保证线程同步,从而 实现线程之间正确通信 ,是一个值得考虑的问题。本篇将参考许多著名书籍,学习如何让多个线程之间相互配合,完成我们指定的任务。 一、synchronized 与 volatile 关键字是Java提供的 互斥的内置锁 ,该锁机制 不用显式加锁或者释放锁 。互 阅读全文
posted @ 2020-02-15 23:28 天乔巴夏丶 阅读(461) 评论(2) 推荐(2) 编辑
摘要:[toc] 在并发编程中,保证线程同步,从而 实现线程之间正确通信 ,是一个值得考虑的问题。本篇将参考许多著名书籍,学习如何让多个线程之间相互配合,完成我们指定的任务。 当然本文只是学习了一部分线程间通信的方法,还有一些例如使用Lock和Condition对象,管道输入输出、生产者消费者等内容,我们 阅读全文
posted @ 2020-02-13 22:47 天乔巴夏丶 阅读(233) 评论(0) 推荐(1) 编辑
摘要:[toc] 本篇参考许多著名的书籍,形成读书笔记,便于加深记忆。 前文传送门: "Java并发读书笔记:JMM与重排序" 导致线程不安全的原因 当一个变量被多个线程读取,且 至少被一个线程写入 时,如果读写操作不遵循 规则,那么就会存在 数据竞争 的隐患,如果不给予正确的同步手段,将会导致线程不安全 阅读全文
posted @ 2020-02-12 22:45 天乔巴夏丶 阅读(574) 评论(0) 推荐(4) 编辑
摘要:[toc] Java内存模型(JMM) Java内存模型(JMM)定义了程序中各个变量的访问规则,即在虚拟机中将变量存储到内存和从内存中取出变量这样的底层细节。 在Java中,所有实例域、静态域和数组元素都存在堆内存中,堆内存在线程之间共享,这些变量就是 共享变量 。 局部变量(Local Vari 阅读全文
posted @ 2020-02-11 19:45 天乔巴夏丶 阅读(711) 评论(0) 推荐(1) 编辑
摘要:[toc] 前文传送门: "Java:多线程概述与创建方式" "Java:线程的六种状态及转化" Java:谈谈控制线程的几种办法 控制线程的办法诸多,本篇做出一部分整理总结。 join() 官方解释简洁明了: ,很明显,针对线程来说,谁调用,等谁死。举个例子:当在A线程中调用B线程的join()方 阅读全文
posted @ 2020-02-10 16:11 天乔巴夏丶 阅读(780) 评论(0) 推荐(2) 编辑
摘要:[toc] 前文传送门: "多线程概述及创建方式" Java:线程的六种状态及转化 关于线程的生命周期,网上书上说法不一,难以统一,本篇做一个总结: 枚举类中定义了六种线程的状态,可以调用线程Thread中的 方法 获取当前线程的状态 。 | 线程状态 | 解释 | | | | | NEW | 尚未 阅读全文
posted @ 2020-02-09 20:49 天乔巴夏丶 阅读(12331) 评论(1) 推荐(7) 编辑
摘要:[toc] Java:多线程概述与创建方式 在之前的学习过程中,已经不止一次地提到了并发啊,线程啊,同步异步的内容,但是出于内容的局部一体,之前总是几笔带过,并附上:以后学习的时候再细说。 那么,现在到了细说的时候,在翻阅并参考了介绍Java并发编程的书之后,突然感觉压力有些大,因为有些概念确实比较 阅读全文
posted @ 2020-02-08 20:01 天乔巴夏丶 阅读(397) 评论(1) 推荐(1) 编辑
摘要:[toc] 前文传送门: "小白学Java:I/O流" 小白学Java:RandomAccessFile 之前我们所学习的所有的流在对数据操作的时候,都是只读或者只写的,使用这些流打开的文件很难进行更新。Java提供了 类, 允许在文件的任意位置上进行读写 。 概述 官方文档的解释是这样的: Ins 阅读全文
posted @ 2020-02-05 11:51 天乔巴夏丶 阅读(985) 评论(2) 推荐(2) 编辑
摘要:[toc] 小白学Java:I/O流 流,表示任何有能力产生数据的数据源对象或者是有能力接收数据的接收端对象,它屏蔽了实际的I/O设备中处理数据的细节。 基本分类 根据方向 输入流 :数据从外部流向程序,例如 从文件中读取数据 。 输出流 :数据从程序流向外部,例如 向文件中写数据 。 根据形式 字 阅读全文
posted @ 2020-02-03 17:46 天乔巴夏丶 阅读(655) 评论(0) 推荐(5) 编辑
摘要:我们可以知道,存储在程序中的数据是暂时的,在程序终止的时候,存储在程序中的数据就会丢失。为了永久地保存在程序中创建的数据,我们需要将它们存储到磁盘上或者其他永久存储设备的文件中,这些文件之后可以被其他的程序传输和读取,这就是持久化的过程。 而java.io包下的File实用类库就可以被运用操作这些文 阅读全文
posted @ 2020-02-01 17:36 天乔巴夏丶 阅读(830) 评论(0) 推荐(1) 编辑
摘要:[toc] 小白学Java:内部类 内部类是封装的一种形式,是定义在类或接口中的类。 内部类的分类 成员内部类 即定义的内部类作为外部类的一个普通成员(非static),就像下面这样: 我们通过以上一个简单的示例,可以得出以下几点: Inner类就是内部类,它的定义在Outer类的内部。 Outer 阅读全文
posted @ 2020-01-31 16:47 天乔巴夏丶 阅读(430) 评论(0) 推荐(1) 编辑
摘要:Java小白的源码学习系列:HashMap 春节拜年取消,在家花了好多天时间啃一啃HashMap的源码,同样是找了很多很多的资料,有JDK1.7的,也有JDK1.8的,当然本文基于JDK1.8。将所学到的东西进行整理,希望回过头再看的时候,有更深刻的见解。 官方文档解读 先来看看史诗级长屏之官方介绍 阅读全文
posted @ 2020-01-27 20:50 天乔巴夏丶 阅读(596) 评论(4) 推荐(4) 编辑
摘要:[toc] 小白学Java:奇怪的RandomAccess 我们之前在分析那三个集合源码的时候,曾经说到:ArrayList和Vector继承了 接口,但是LinkedList并没有,我们还知道继承了这个接口,就意味着其中元素支持 快速随机访问(fast random access) 。 Rando 阅读全文
posted @ 2020-01-20 16:11 天乔巴夏丶 阅读(421) 评论(0) 推荐(2) 编辑
摘要:[toc] 小白学Java:迭代器原来是这么回事 前文传送门: "Enumeration" 上一篇,我们谈到了那个古老的迭代器Enumeration,还谈到了取代他的新迭代器—— Iterator 。相比于以往,这个新物种又有哪些优点呢? 迭代器这个词,在没查找许多资料之前,我只知道个大概,我知道它 阅读全文
posted @ 2020-01-18 19:59 天乔巴夏丶 阅读(571) 评论(0) 推荐(1) 编辑