前提 这篇文章是《SpringBoot2.x入门》专辑的第2篇文章,使用的SpringBoot版本为2.3.1.RELEASE,JDK版本为1.8。 常规的套路会建议使用Spring官方提供的工具Spring Initializr通过指定配置创建一个SpringBoot项目,但是考虑到Spring ...
基本原理堆排序的基本原理也是选择排序,只是不在使用遍历的方式查找无序区间的最大的数,而是通过堆来选择无序区间的最大的数。大致过程:1.建堆(这里是以建大顶堆为例)先把数组中的数转换成二叉树的形式,在这个基础上建堆。这里用到的大顶堆的性质:所有父节点的值要大于其子节点的值。按照这个性质,将无序的二叉树调整成堆。父节点和子节点计算:如图是一个简易的二叉树,蓝色的数字为节点的序号。计算父节点的序号要根据
一、Collection接口 1、List接口 ,Set接口 2、ArrayLIst,LinkedList,Vector,Stack 3、HashSet,LInkedHashSet,TreeSet 二、Map接口 1、HashMap,LinkedHashMap,TreeMap; 三、Iterator ...
一 参数传递 1.定义: 参数传递,可以理解当我们要调用一个方法时,我们会把指定的数值,传递给方法中的参数, 这样方法中的参数就拥有了这个指定的值,可以使用该值,在方法中运算了。这种传递方式,我 们称为参数传递。 定义方法时,参数列表中的变量,我们称为形式参数 调用方法时,传入给方法的数值,我们称为 ...
前言 JDK9引入的Java模块化系统(Java Platform Module System ,JPMS)是 对Java技术的一次重要升级,除了像之前JAR包那样充当代码的容器之外,还包括: 依赖其他模块的列表。 导出的包列表,即其他模块可以使用的列表。 开放的包列表,即其他模块可反射访问模块的列 ...
Stream API为我们提供了Stream.reduce用来实现集合元素的归约。reduce函数有三个参数: Identity标识:一个元素,它是归约操作的初始值,如果流为空,则为默认结果。 Accumulator累加器:具有两个参数的函数:归约运算的部分结果和流的下一个元素。 Combiner合 ...
Java线程池 基本概念 特点: 管理线程,避免增加和销毁线程的资源消耗。 提高响应速度。任务到达无需等待线程创建即可立即执行。 重复利用。 避免了线程数量膨胀导致的过分调度问题。 提供更多功能。可以添加更多功能,如延时定时线程池等。 线程池核心设计与实现 线程池的实现类为ThreadPoolExe ...
多态原理 什么是多态 编译时多态->方法重载 运行时识别对象和类的类型信息方法: 反射 RTTI(Run-Time Type Identification,运行时类型判定) RTTI: 在编译时获取对象的类型信息. 多态: 一个接口的多种不同的实现方式. 只有在运行时才知道引用变量所指向的具体实例对 ...
var formArr = [ {name: "Name", value: "111"}, {name: "Price", value: "2"}, {name: "ProducingArea", value: "3"}, {name: "ShelfLife", value: "44"}, {nam ...
var array = [];//定义空数组 //提交按钮点击事件 $('#submitBtn').click(function() { array.push(obj); //添加到数组中 localStorage.setItem('hisplate', JSON.stringify(array)) ...
JavaScript 并非绝对化的面向对象的语言,里面也有很多非结构化和结构化的数据。赋值语句并不能复制结构化的数据对象。 例如: var S1 = []var A = obj(), var B = obj();Stack.push(A);Stack.push(B);Var S2 = []S2 = ...
Java程序运行的整体流程 概述 Java程序从创建源文件到程序运行要经历两个主要步骤: 源文件 编译器编译> 字节码文件(ByteCode)。 字节码文件 JVM解释运行> 在内存中运行 Java程序从编译到运行 示例程序: public class ClassA{ public static v ...
'''文件读取'''# python通过内置open()方法打开文件,若文件存在,则打开并进行读取操作,# 否则创建文件,相关参数有w, w+, a, a+if "hello.txt" is True: # 文件打开时,指定编码方式 file = open("hell.txt",'r',encodi ...
Java并发理论基础 为什么需要多线程 CPU增加缓存,以均衡与内存间的速度差异. ==> 可见性问题 进程,线程,分时复用CPU,均衡CPU和I/O的速度差异. ==> 原子性问题 编译程序优化指令执行次序,使缓存合理利用. ==> 有序性问题 并发出现问题的原因 可见性 可见性:一个线程对共享变 ...
public interface Collection<E> extends Iterable<E> The root interface in the collection hierarchy. A collection represents a group of objects, known a ...
汉诺塔有些,是将A柱子上的盘子,借助B柱子,移动到C柱子,移动过程中要求,小盘子,必须放在大盘子上面。 移动过程是采用递归调用的方式。 程序运行界面:如下图: 代码如下: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> < ...
一个 程序中可以有多 个类,但只能有一个类是主类。 在Java 应用程序中, 这个主类是指包含main ()方法的类。而在Java 小程序中,这个主类是一个继承自系统类JApplet或Applet 的子类。应用程序的主类不一定要求是public类,但小程序的主类要求必须是public 类。主类是Ja ...
垃圾收集器与内存分配策略 概述 程序计数器,虚拟机栈,本地方法栈随线程创建而产生,随线程销毁而消失,内存的分配和回收具有确定性,一般不考虑回收问题. 对象存活性判断 引用计数算法(Reference Counting) 特点: 在对象中添加一个引用计数器. 当有一个引用时,计数器加一;当一个引用失效 ...