runapplication springboot函数 结构

docker搭建maven私服(nexus3),整合springboot上传下载依赖

一、前言 我们在JavaWeb开发中必不可少的就是jar包管理-maven,在没有maven之前,都是自己手动下载jar包导入到项目中,非常的繁琐。 maven出现之后,又迎来新的问题,对于仓库里人家发布的都可以引用下载,但是公司自己内部写的jar包,不想让外人看到,自己公司来回粘贴复制,非常的繁琐 ......
上传下载 springboot 私服 docker nexus3

【动画笔记】数据结构-AVL树的插入操作

本笔记主要围绕AVL树的平衡因子、纸上做题思路、失衡类型(LL/RR/LR/RL)、失衡调整方法、插入后回溯这几部分知识点展开。 ......
数据结构 结构 笔记 动画 数据

一篇文章带你了解设计模式——结构型模式

一篇文章带你了解设计模式——结构型模式 在之前的文章中我们已经介绍了设计模式中的创建者模式 下面我们来学习第二种类型的设计模式,结构型模式描述如何将类或对象按某种布局组成更大的结构 它分为类结构型模式和对象结构型模式,前者采用继承机制来组织接口和类,后者釆用组合或聚合来组合对象。 由于组合关系或聚合 ......

在 SpringBoot 项目中简单实现 JWT 验证

使用 SpringBoot 提供 api 的时候,我更喜欢使用 jwt 的方式来做验证。网上有会多 Spring Security 整合 jwt 的,也有 Shiro 整合 jwt 的,感觉有点复杂。这里分享一下自己在项目中的简单实现。 依赖包 除了 SpringBoot 基本的依赖,需要一个生成 ......
SpringBoot 项目 JWT

Springboot整合AOP和注解,实现丰富的切面功能

简介 我们在文章《Spring AOP与AspectJ的对比及应用》介绍了AOP的使用,这篇文章讲解一下AOP与注解的整合,通过注解来使用AOP,会非常方便。为了简便,我们还是来实现一个计时的功能。 整合过程 首先创建一个注解: @Retention(RetentionPolicy.RUNTIME) ......
切面 注解 Springboot 功能 AOP

GraalVM和Spring Native尝鲜,一步步让Springboot启动飞起来,66ms完成启动

简介 GraalVM是高性能的JDK,支持Java/Python/JavaScript等语言。它可以让Java变成二进制文件来执行,让程序在任何地方运行更快。这或许是Java与Go的一场战争? 下载安装GraalVM 安装GraalVM 首先到官网下载,我是直接到GitHub Release Pag ......
Springboot GraalVM Spring Native 66

《Terraform 101 从入门到实践》 Functions函数

《Terraform 101 从入门到实践》这本小册在南瓜慢说官方网站和GitHub两个地方同步更新,书中的示例代码也是放在GitHub上,方便大家参考查看。 Terraform的函数 Terraform为了让大家在表达式上可以更加灵活方便地进行计算,提供了大量的内置函数(Function)。目前并 ......
函数 Terraform Functions 101

数据结构-详解优先队列的二叉堆(最大堆)原理、实现和应用-C和Python

一、堆的基础 1.1 优先队列和堆 优先队列(Priority Queue):特殊的“队列”,取出元素顺序是按元素优先权(关键字)大小,而非元素进入队列的先后顺序。 若采用数组或链表直接实现优先队列,代价高。依靠数组,基于完全二叉树结构实现优先队列,即堆效率更高。一般来说堆代指二叉堆。 优先队列的完 ......
数据结构 队列 大堆 原理 结构

SpringBoot学习笔记 - 构建、简化原理、快速启动、配置文件与多环境配置、技术整合案例

【前置内容】Spring 学习笔记全系列传送门: Spring学习笔记 - 第一章 - IoC(控制反转)、IoC容器、Bean的实例化与生命周期、DI(依赖注入) Spring学习笔记 - 第二章 - 注解开发、配置管理第三方Bean、注解管理第三方Bean、Spring 整合 MyBatis 和 ......
SpringBoot 原理 案例 环境 文件

Windows下使用Graalvm将Springboot应用编译成exe大大提高启动和运行效率

GraalVM安装 GraalVM安装 安装 请前往GraalVM官网 下载 GraalVM Community 22.3,注意当前支持的Springboot的GraalVM版本必须是22.3 笔者这里下载的Java版本为17,如下图 安装GraalVM的方法与安装JAVA方法大致相同,GraalV ......
Springboot 效率 Windows Graalvm exe

[数据结构] 二分查找 (四种写法)

#二分查找 ##二分查找 二分查找(Binary Search)也叫作折半查找,前提是查找的顺序结构是有序的,我们一般在数组上进行二分查找。 二分查找就好像猜数字大小游戏一样。假设要数字目标值属于 [1, 1000] 范围内,当我们猜的数字小于这个目标值时("Too low"),我们需要往大去猜;反 ......
数据结构 写法 结构 数据

[数据结构] 树、二叉树、森林的转换

#树 ##树的表示方法 ###双亲表示法 用一组地址连续的存储单元来存放树中的各个节点,每一个节点中有一个数据域和一个指针域,数据域用来存储树中该节点本身的值;另一个指针域用来存储该节点的双亲节点在存储结构中的位置信息。 采用双亲链表存储方式实现查找一个指定节点的双亲节点比较方便,但难以实现查找一个 ......
数据结构 森林 结构 数据

[数据结构] 二叉搜索树 (二叉排序树)

#二叉搜索树 ##二叉搜索树的基本概念 二叉搜索树( Binary Search Tree )也称二叉排序树,是一种各节点值之间存在一定次序关系的二叉树。 ##二叉搜索树的特点 一般情况下,二叉搜索树中所有节点值是不重复的。 对于二叉搜索树中的每个节点: (1)如果其左子树不为空,那么其左边的节点值 ......
数据结构 结构 数据

[数据结构]二叉树的前中后序遍历(递归+迭代实现)

#二叉树的遍历 ##主要的三种遍历方式 二叉树主要的遍历方式有前序遍历、中序遍历和后序遍历。 (1)前序遍历:根节点-->左子树-->右子树 (2)中序遍历:左子树-->根节点-->右子树 (3)后序遍历:左子树-->右子树-->根节点 其实还有一种比较基础的遍历方式是层次遍历,但是在本篇文章中不会 ......
数据结构 结构 数据

明解STM32—GPIO理论基础知识篇之基本结构

​ 一、前言 万物皆有源头,大家学习单片机的源头操作就是通过GPIO口点灯,GPIO作为STM32最基础的外设,也是大家最先接触的外设。当然,看似基础的GPIO,不仅仅是简单的设置好IO口,让灯亮起就一了百了,了解清楚GPIO的使用特性,根本原理、运行机制对我们在涉及到GPIO的相关设计操作上会应用 ......
基础知识 理论 结构 基础 知识

[数据结构] 根据前中后序遍历中的两种构造二叉树

#前中后序遍历 ##前中后序遍历的特点 ###前序遍历 前序遍历顺序:根节点 -> 左子树 -> 右子树 前序遍历结果:[根节点,[左子树前序遍历结果],[右子树前序遍历结果]] 假如把前序遍历结果存到数组中,数组中的第一个元素就是二叉树根节点的数据,而且还可以知道第二个元素是根节点左孩子的数据,即 ......
数据结构 结构 数据

【数据结构和算法】Trie树简介及应用详解

Trie树,即字典树,又称单词查找树或键树,是一种树形结构,典型应用是用于统计,排序和保存大量的字符串(但不仅限于字符串),所以经常被搜索引擎系统用于文本词频统计。它的优点是:利用字符串的公共前缀来减少查询时间,最大限度地减少无谓的字符串比较,查询效率比哈希树高。 ......
数据结构 算法 结构 简介 数据

Fabric2.x中Raft共识算法核心数据结构

一、共识算法可插拔的代码体现Chain接口 Hyperledger Fabric的共识算法是可插拔的,在代码上体现为Chain接口,所有不同的共识算法均可根据Chain接口进行具体实现,目前fabric支持solo、kafka、raft、sbft等共识算法。Chain接口的代码在fabric/ord ......
数据结构 共识 算法 核心 Fabric2

SpringBoot项目动态定时任务之 ScheduledTaskRegistrar(解决方案一)

在做SpringBoot项目的过程中,有时客户会提出按照指定时间执行一次业务的需求。 在单一使用ScheduledTaskRegistrar类解决定时任务问题的时候,可能会达不到预期的动态调整定时任务的效果。 ......

NAPT网络结构下TCP/UDP/ICMP访问外网原理思考

背景 作为程序员,应该都听说过NAT(Network Address Transfer,网络地址转换)这一技术名词,并或多或少大概知道其原理与作用--NAT是用于解决IPv4地址不够用,保证我们能够在IPv6普及前依然可以正常使用互联网而广泛使用的一个技术,其原理正如其名称所示:其可以将私网IP通过 ......
原理 结构 网络 NAPT ICMP

JDK8 四大核心函数式接口及扩展接口总结

前言 Java8的四大函数式接口及相关的扩展接口在日常使用中的频率也是非常多的,包括自己定义的函数式接口,在JDK1.8之前,我们定义的方法都是用来接收参数,然后自己根据参数传递实现逻辑。在1.8之后,可以通过参数传递一段行为代码,将公共的行为代码封装成一个函数式接口传递,可以减少很多代码量,在St ......
接口 函数 核心 JDK8 JDK

【C++ 泛型编程01:模板】函数模板与类模板

【模板】 除了OOP外,C++另一种编程思想称为 泛型编程 ,主要利用的技术就是模板 C++提供两种模板机制:函数模板和类模板 函数模板 函数模板作用 建立一个通用函数,其函数返回值类型和形参类型可以不具体制定,用一个虚拟的类型来代表。 语法 template<typename T> 函数声明或定义 ......
模板 函数

(Java)设计模式:结构型

前言 这篇博文续接的是 UML建模、设计原则、创建型设计模式、行为型设计模式,有兴趣的可以看一下 3.3、结构型 这些设计模式关注类和对象的组合。将类和对象组合在一起,从而形成更大的结构 * 3.3.1、proxy 代理模式 定义:为某对象提供一种代理以控制对该对象的访问。即:客户端通过代理间接地访 ......
结构型 设计模式 模式 结构 Java

Java进阶篇——springboot2源码探究

1.@EnableAutoConfiguration 除了元注解之外,EnableAutoConfiguration包含了两大重要部分: 1)@AutoConfigurationPackage注解 该注解只导入了一个内部类:AutoConfigurationPackages.Registrar.cl ......
springboot2 springboot 源码 Java

SpringBoot+Mybatis-plus整合easyExcel批量导入Excel到数据库+导出Excel

一、前言 今天小编带大家一起整合一下easyExcel,之所以用这个,是因为easyExcel性能比较好,不会报OOM! 市面上常见的导入导出Excel分为三种: hutool easyExcel poi hutool和easyExcel都是对poi的封装,使用起来更加方便! 如果想使用poi和hu ......

大公司为什么禁止SpringBoot项目使用Tomcat?

本文已经收录到Github仓库,该仓库包含计算机基础、Java基础、多线程、JVM、数据库、Redis、Spring、Mybatis、SpringMVC、SpringBoot、分布式、微服务、设计模式、架构、校招社招分享等核心知识点,欢迎star~ Github地址:https://github.c ......
SpringBoot 项目 Tomcat 公司

只需两步便可生成 51 单片机最精准的延时函数

前言 我们在学习 51 单片机的过程中会用到延时,比如一个简单的流水灯就需要延时来控制依次点亮的时间,或者一些模块在单片机发出读数据指令后,需要延时几十微秒才可以读出数据等等,这些都离不开延时,所以我们需要一个精准的延时函数来满足我们的需求。 本篇介绍一个最简单并且延时最精准的 51 单片机延时函数 ......
单片机 函数 只需 51

【SpringBoot实战专题】「开发实战系列」从零开始教你舒服的使用RedisTemplate操作Redis数据

SpringBoot快速操作Redis数据 在SpringBoot框架中提供了spring-boot-starter-data-redis的依赖组件进行操作Redis服务,当引入了该组件之后,只需要配置Redis的配置即可进行链接Redis服务并且进行操作Redis服务数据。 针对于不同的版本有了不 ......

【SpringBoot实战专题】「开发实战系列」从零开始教你舒服的使用RedisTemplate操作Redis数据

SpringBoot快速操作Redis数据 在SpringBoot框架中提供了spring-boot-starter-data-redis的依赖组件进行操作Redis服务,当引入了该组件之后,只需要配置Redis的配置即可进行链接Redis服务并且进行操作Redis服务数据。 针对于不同的版本有了不 ......

统一返回对象封装和统一异常捕获封装springboot starter

好久没有更新文章了,高龄开发没什么技术,去了外包公司后没怎么更新文章了。今天分享下统一处理starter,相信开发web系统的时候都是会涉及到前后端的交互,而后端返回数据的时候一般都会统一封装一个返回对象和统一处理异常,一般情况下都是在controller的每个方法中调用封装的对象,把相应的数据塞到 ......
springboot 对象 starter