随笔- 40
文章- 0
评论- 0
阅读-
11509
09 2021 档案
JAVA红黑树实现
摘要:1.新建一个RETree类extands BST,像AVL树一样先新建一个红黑树的节点,创建相应变量,RED,BLACK 2.辅助函数,afteradd,afterremove,封装到染色函数以及一下一些基本函数 private Node<E> color(Node<E> node,boolean
阅读全文
Avl树的JAVA实现
摘要:1 import DataStructure.Tree_new.BST; 2 3 import java.util.Comparator; 4 5 public class AVLTree<E> extends BST<E> { 6 public AVLTree(){ 7 this(null); 8
阅读全文
JAVA实现各种链表
摘要:1 package DataStructure.main1; 2 3 public abstract class AbstractList<E> implements List<E> { 4 protected int size; 5 6 protected void rangeCheck(int
阅读全文
平衡二叉树的JAVA实现
摘要:二分法猜数字的游戏应该每个人都知道,通过对猜测数字“大了”、“小了”的情况判断,来猜出最终的数字。序列范围为 的集合,复杂度为 ,即最多需要 次可以猜到最终数字。 引子 二分法的查找过程是,在一个有序的序列中,每次都会选择有效范围中间位置的元素作判断,即每次判断后,都可以排除近一半的元素,直到查找到
阅读全文
java IO流
摘要:https://www.cnblogs.com/wugongzi/p/12092326.html 该系列博文会告诉你如何从入门到进阶,一步步地学习Java基础知识,并上手进行实战,接着了解每个Java知识点背后的实现原理,更完整地了解整个Java技术体系,形成自己的知识框架。 在初学Java时,IO
阅读全文
ArrayList源码分析(基于JDK8)
摘要:ArrayList简介 ArrayList 是一个数组队列,相当于 动态数组。与Java中的数组相比,它的容量能动态增长。它继承于AbstractList,实现了List, RandomAccess, Cloneable, java.io.Serializable这些接口。ArrayList 继承了
阅读全文
java中的List简单介绍
摘要:List是Java中比较常用的集合类,关于List接口有很多实现类,本文就来简单介绍下其中几个重点的实现ArrayList、LinkedList和Vector之间的关系和区别。 List 是一个接口,它继承于Collection的接口。它代表着有序的队列。当我们讨论List的时候,一般都和Set作比
阅读全文
接口引用指向实现类的对象
摘要://定义接口InterfaceA interface InterfaceA { void fun(); } //实现接口InterfaceA的类Bimpl class Bimpl implements InterfaceA { public void fun() { System.out.print
阅读全文
Java重写equals方法(重点讲解)
摘要:为什么equals()方法要重写? 判断两个对象在逻辑上是否相等,如根据类的成员变量来判断两个类的实例是否相等,而继承Object中的equals方法只能判断两个引用变量是否是同一个对象。这样我们往往需要重写equals()方法。 我们向一个没有重复对象的集合中添加元素时,集合中存放的往往是对象,我
阅读全文
java时间api
摘要:自从 14 年发布 Java 8 以后,我们古老 java.util.Date 终于不再是我们 Java 里操作日期时间的唯一的选择。 其实 Java 里的日期时间的相关 API 一直为世猿诟病,不仅在于它设计分上工不明确,往往一个类既能处理日期又能处理时间,很混乱,还在于某些年月日期的数值映射存储
阅读全文
Java字符串String类操作方法详细整理
摘要:关于String类的基本操作,可分为以下几类: 1、基本操作方法 2、字符串比较 3、字符串与其他数据类型之间的转换 4、字符与字符串的查找 5、字符串的截取与拆分 6、字符串的替换与修改 我觉得在整理到下面的内容之前需要给自己提的醒是关于字符串的操作方法我们是不需要像其他操作一样手动导包的,其St
阅读全文
java内存分配和String类型的深度解析
摘要:摘要: 从整体上介绍java内存的概念、构成以及分配机制,在此基础上深度解析java中的String类型,从内存分配情况来解析String对象的特性。 一、引题 在java语言的所有数据类型中,String类型是比较特殊的一种类型,同时也是面试的时候经常被问到的一个知识点,本文结合java内存分配深
阅读全文
Java多线程实现的四种方式
摘要:Java多线程实现的方式有四种 1.继承Thread类,重写run方法 2.实现Runnable接口,重写run方法,实现Runnable接口的实现类的实例对象作为Thread构造函数的target 3.通过Callable和FutureTask创建线程 4.通过线程池创建线程 前面两种可以归结为一
阅读全文
Java wait()、notify()、notifyAll()方法
摘要:Java wait()、notify()、notifyAll()方法 wait() 调用wait()方法后,线程进入等待状态,wait()方法不会返回,直到将来某个时刻,线程从等待状态被其他线程唤醒后,wait()方法才会返回,然后,继续执行下一条语句。 wait()方法的执行机制非常复杂,它不是一
阅读全文
多线程死锁问题总结
摘要:一、死锁 1.死锁的四个必要条件 2.如何预防死锁 二、几种典型的死锁场景 1、锁顺序死锁 2、动态锁顺序死锁 3、在协作对象间发生死锁 4、资源死锁 三、死锁后的诊断分析 通过线程转储信息来分析死锁 四、其它活跃性危险 1.饥饿 2.活锁 3.糟糕的响应性(性能问题) 一、死锁 死锁造成的影响很少
阅读全文
JAVA泛型
摘要:对java的泛型特性的了解仅限于表面的浅浅一层,直到在学习设计模式时发现有不了解的用法,才想起详细的记录一下。 本文参考java 泛型详解、Java中的泛型方法、 java泛型详解 1. 概述 泛型在java中有很重要的地位,在面向对象编程及各种设计模式中有非常广泛的应用。 什么是泛型?为什么要使用
阅读全文
Java 实现线程安全的三种方式
摘要:一个程序在运行起来的时候会转换成进程,通常含有多个线程。 通常情况下,一个进程中的比较耗时的操作(如长循环、文件上传下载、网络资源获取等),往往会采用多线程来解决。 比如显示生活中,银行取钱问题、火车票多个售票窗口的问题,通常会涉及到并发的问题,从而需要多线程的技术。 当进程中有多个并发线程进入一个
阅读全文
JAVA线程的生命周期
摘要:https://blog.csdn.net/yangyechi/article/details/88195068 一、概述 当线程被创建以后,它不是一启动(start)就进入运行状态的,也不是一直处于执行状态。在线程的生命周期中,它要经过创建(New)、就绪(Runnable)、运行(Running
阅读全文