目录 平衡二叉树AVL树的左旋转AVL树的右旋转AVL树的双旋转 平衡二叉树 平衡二叉树是对二叉排序树的一种改进二叉排序树:二叉树中的任何一个节点,它的左子树中所有的节点都比该节点要小,它的右子树中所有的节点都比该节点要大。(注意二叉排序树中应尽量避免重复的值,如果有重复的值,可以选择不插入,或者添加一个属性记录该值出现的次数,否则查找和删除的时候回出现麻烦)对于排序二叉树而言,如果输入的数组是一个有序的数列...
Q: What if the main method is declared as private? 如果将主函数声明为私有类型的会怎样? A: The program compiles properly but at run time it will give “Main method not public.” message. 程序编译的时候会通过但是在运行时会报错“主函数不是公共类型的” 展开讨论: Java语言是面向对象的程序设计语言,Java程序的基本组成单元是类,类体中又可包括属性与方法两部分。而每一个应用程序都必须包含一个main()方法,含有...
Java SE的内容目录 完整的pdf版本和markdowm版本在这里:https://github.com/Colinasda/Java.git 博客内容链接Java学习笔记(一):Java语言概述特点 & Java基本语法https://blog.csdn.net/qq_40177015/article/details/114526854Java学习笔记(二):面向对象封装&继承&多态,接口&抽象类,方法重载&重写,static等关键字https://blog.csdn.net/qq_40177015/article/details/114527727Java学习笔记(三):抓抛模型 & 异常处理的两...
目录 (一)计算机的体系结构(常识)什么是计算机计算机的基本概念常见的主要硬件主要硬件的详解CPU的概述内存的概述硬盘的概述科普小知识输入输出设备常见的主要软件计算机的体系结构 (二)Java语言的概述(常识)计算机语言的概述计算机语言的发展Java语言的江湖地位Java语言的发展历史Java语言的主要版本桌面应用企业应用移动应用(三)开发环境的搭建和使用(重点)开发工具的下载和安装下载方式安装方式 相关的概念jdk的目录...
背景 在给Doris写flink-connector扩展的时候看到所参考的社区已实现的spark-connector中大量使用了Properties这个类,之前对它了解不多,现在算是做个笔记。 自己所用的该类的代码: // Licensed to the Apache Software Foundation (ASF) under one // or more contributor license agreements. See the NOTICE file // distributed with this work for additional information // regarding copyright ownership. The ASF lice...
Map集合接口具体实现类:LinkedHashMap以及TreeMap 1.LinkedHashMap的概述2.TreeMap概述总结 前面我们学习了Map接口中最常用的实现类:HashMap,并且对HashMap的底层实现原理做了一定的深入探讨。下面我们将要了解的是Map接口中的另外两大实现类:LinkedHashMap与TreeMap。 1.LinkedHashMap的概述 LinkedHashMap实现了Map接口,而且继承自HashMap。 它的多种操作都是建立在HashMap的操作基础上的。 public class LinkedHashMap<K,V...
目录 赫夫曼树的定义与赫夫曼树相关的几个重要概念构成赫夫曼树的步骤代码实现赫夫曼树的定义 给定n个权值作为n个叶子节点,构建一个二叉树,若该树的带权路径长度(wpl - weight path length)赫夫曼树是带权路径长度最短的树,权值较大的节点离根较近 与赫夫曼树相关的几个重要概念 路径:在一棵树中,从一个节点往下可以达到的孩子或孙子节点之间的通路,称为路径路径长度:通路中分支的数目称为路径长度。第 n 层的节点到第 m ...
参考视频:bilibili遇见狂神说 2、继承 ①、基本概念 继承的本质是对某一批类的抽象,从而实现对现实世界更好的建模。extends的意思是“扩展”,子类是父类的扩展。Java中类只有单继承,没有多继承。一个儿子只能有一个爸爸,但一个爸爸可以有多个儿子。 package 面向对象OOP.继承;//人类 public class Person { }package 面向对象OOP.继承;//老师是人,作为子类(派生类),继承人类 public class Teacher extends Person { }packa...
参考视频:bilibili遇见狂神说 3、多态 动态编译:类型即同一方法可以根据放送对象的不同而采用多种不同的行为方式。一个对象的实际类型是确定的,但可以指向对象的引用的类型有很多。 package 面向对象OOP.多态; //父类 public class Person {public void run(){System.out.println("run");} }package 面向对象OOP.多态; //子类为空,继承父类 public class Student extends Person{}package 面向对象OOP.多态;public class Appli...
尚硅谷课程,一月份断断续续看,仅供自己查看,没有他用 格式的话我后续查阅的时候再逐项改 day 1 继承 封装 多态 1.static 静态方法:不依赖于任何对象即可进行访问 非静态方法:必须依赖具体的对象才能够被调用 依赖具体对象的概念: java中类和类之间有五种关系:依赖、关联、组合、聚合、继承(实现) (1)依赖:一个类A中的方法使用到了另一个类B 比如:在类A中用到了类B的实例 代码:老王开车去东北,A类:老王;A类方法:开...
第10章 Executor框架 Java线程既是工作单元也是执行机制,JDK5开始把工作单元和执行机制分离开来。工作单元包括Runnable和Callable,执行机制由Executor框架提供 10.1 Executor框架简介 10.1.1 Executor框架的两级调度模型 在Hotspot VM的内存模型中,Java线程被一对一映射成本地操作系统线程。Java线程启动时会创建一个本地线程,Java线程终止时,对应的本地线程会被回收。 在上层,Java多线程程序通常把应用分解成若干个任务,通...
多线程与线程池 一、线程1. JAVA线程1.1 默认线程1.2 多线程内存1.3 JAVA线程状态1.4 线程生命周期 2. 并行并发 二、创建多线程1. Thread子类2. 实现Runnable接口3. 实现Callable接口(JDK5)3.1 Callable3.2 Future3.3 创建步骤 4. 线程池4.1 ExecutorService4.2 Executors 4.3 创建步骤 三、线程方法1. Thread常用方法2. 线程优先级3. sleep与wait区别 四、线程安全T1. synchronized和同步监视器T2. 死锁1. 同步代码块2. 同步方法...
转自https://blog.csdn.net/u013096088/article/details/78638245 我们知道了,Buffer既可以用来读和写。如下: public class NioTest {public static void main(String[] args) {// 分配内存大小为10的缓存区IntBuffer buffer = IntBuffer.allocate(10);// 往buffer里写入数据for (int i = 0; i < 5; ++i) {int randomNumber = new SecureRandom().nextInt(20);buffer.put(randomNumber);}// 将Buffer从写模式切换到读模式(必须调...
分布式事务(一)文章来源:https://zhuanlan.zhihu.com/p/183753774 、https://www.cnblogs.com/dyzcs/p/13780668.html 、 具体不多讲,详情看文章来源事务分布式事务产生的情景CAP定理重点CPA的组合方式总结几个分布式架构CPAzookeeper(Dubbo):CP eureka(springcloud - netflix):AP nacos:(Springcloud - alibaba):AP redis集群:AP BASE 理论ACID 和 BASE 的区别与联系ACID 和 BASE 的区别与联系CAP 与 BASE 关系...
面向对象编程的本质:以类的方式组织代码,以对象的方式封装数据 面向对象三大特性:封装、继承、多态 类与对象 定义类 package Demo01;//主程序入口 public class Application {public static void main(String[] args) {Student A = new Student();Student B = new Student();A.age = 18;A.name = "哈哈怪";B.age = 20;B.name = "嘻嘻怪";A.study(); //哈哈怪在学习System.out.println(A.age); //18System.out.println(B.n...