自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(32)
  • 问答 (1)
  • 收藏
  • 关注

原创 编程学习笔记

Java基础Java8特性(待分篇)Java并发Java-NIOMaven手册Git常用操作正则表达式(没写完)Linux手册(可补充)Nginx学习(可补充宝塔搭建流程)Spring-IOCSpring-AOPSpringBoot——启动流程、自动配置、接口、注解、生命周期SpringSecuritySpringSecurity Oauth2整合JWTSpringCloud(除去Hystrix)HystrixZookeeper简介Redis——数据类型和命令、配置讲解、Jedi

2024-12-27 00:25:52 184

原创 Docker简介

从应用软件的角度来看,Dockerfile、Docker镜像与Docker容器分别代表软件的三个不同阶段,Dockerfile是软件的原材料Docker镜像是软件的交付品Docker容器则可以认为是软件的运行态。Dockerfile面向开发,Docker镜像成为交付标准,Docker容器则涉及部署与运维,三者缺一不可,合力充当Docker体系的基石。Dockerfile,需要定义一个Dockerfile,Dockerfile定义了进程需要的一切东西。

2024-12-27 00:37:41 889

原创 SpringSecurity Oauth2整合JWT

JSON Web Token(JWT)是一个开放的行业标准(RFC 7519),它定义了一种简介的、自包含的协议格式,用于在通信双方传递json对象,传递的信息经过数字签名可以被验证和信任。JWT可以使用HMAC算法或使用RSA的公钥/私钥对来签名,防止被篡改。官网:标准:jwt基于json,非常方便解析。可以在令牌中自定义丰富的内容,易扩展。通过非对称加密算法及数字签名技术,JWT防止篡改,安全性高。资源服务使用JWT可不依赖认证服务即可完成授权。JWT令牌较长,占存储空间比较大。

2024-12-27 00:06:52 1270

原创 SpringSecurity

(认证异常)和(权限异常)在 Spring Security 的过滤器链中,ExceptionTranslationFilter 过滤器专门用来处理异常自定义异常处理。

2024-12-27 00:02:57 903

原创 SpringBoot——启动流程、自动配置、接口、注解、生命周期

定义一个。

2024-12-26 23:57:36 951

原创 Spring——AOP

在开发中,为了给业务方法中增加日志记录,权限检查,事务控制等功能,此时我们需要去修改业务方法代码,考虑到代码的重用性,我们可以考虑使用OOP的继承或组合关系来消除重复, 但是无论怎么样, 我们都会在业务方法中纵向地增加这些功能方法的调用代码。

2024-12-26 23:54:24 605

原创 Spring——IOC

Spring是容器(可以管理所有的组件(类))框架什么是容器(Container): 从程序设计角度看就是封装对象的对象,因为存在放入、拿出等操作,所以容器还要管理对象的生命周期,如Tomcat就是Servlet和JSP的容器;为什么说Spring是一个一站式的轻量级开源框架呢?​ 轻量级:不是指Spring框架的模块少,数量很轻,而是Spring的优点Spring的体系结构图核心容器:提供了框架的基本组成部分,包括 IOC 和依赖注入功能。

2024-12-26 23:53:31 670

原创 RabbitMQ——SpringBoot整合、高级特性

/</</

2024-12-26 23:51:28 941

原创 RabbitMQ——MQ简介、基本概念

AMQP,即Advanced Message Queuing Protocol(高级消息队列协议),是一个网络协议,是应用层协议的一个开放标准,为面向消息的中间件设计。基于此协议的客户端与消息中间件可传递消息,并不受客户端/中间件不同产品,不同的开发语言等条件的限制。2007年,Rabbit 技术公司基于 AMQP 标准开发的 RabbitMQ 1.0 发布。RabbitMQ 采用 Erlang 语言开发。

2024-12-26 23:47:37 1705

原创 Redis——持久化、删除策略、事务、SpringBoot整合

Redis是一种内存级数据库,所有数据均存放在内存中,内存中的数据可以通过TTL指令获取其状态XX:具有时效性的数据-1:永久有效的数据-2:已经过期的数据 或者 被删除的数据 或者 未定义的数据可以一次执行多个命令,本质是一组命令的集合。一个事务中的所有命令都会序列化,按顺序地串行化执行而不会被其它命令插入,不许加塞multi # 标记一个事务块的开始exec # 执行所有事务块内的命令discard # 取消事务,放弃执行事务块内的所有命令。

2024-12-26 23:42:31 780

原创 Redis——数据类型和命令、配置讲解、Jedis

(远程字典服务器)是完全开源免费的,用C语言编写的,遵守BSD协议,是一个高性能的(key/value)分布式内存数据库,基于内存运行并支持持久化的NoSQL数据库,是当前最热门的NoSql数据库之一,也被人们称为数据结构服务器。

2024-12-26 23:40:42 723

原创 Nginx学习

为了加快网站的解析速度,可以把动态页面和静态页面由不同的服务器来解析,加快解析速度。降低原来单个服务器的压力。例如由Nginx来解析静态资源,tomcat解析动态资源。

2024-12-26 23:38:22 693

原创 Hystrix

当请求的失败次数超过阈值时,熔断器进入开启状态。经过一段时间(@HystrixProperty(name = “circuitBreaker.sleepWindowInMilliseconds”, value = “10000”)中设置的值)后,进入半开状态,此时,如果再来一个请求,如果请求时正确的,则熔断器断开,否则,继续开启。断路器在什么情况下起作用?断路器打开之后。

2024-12-26 22:16:49 613

原创 SpringCloud(除去Hystrix)

Eureka包括服务端(

2024-12-26 22:11:57 644

原创 设计模式——结构型模式

用于描述“如何将类或对象按某种布局组成更大的结构”。如,代理、适配器、桥接、装饰、外观、享元、组合等7种结构型模式。

2024-12-26 22:05:57 789

原创 设计模式——行为型模式

当实现某一个功能存在多种算法或者策略,我们可以根据环境或者条件的不同选择不同的算法或者策略来完成该功能策略(Strategy)模式的定义:该模式定义了一系列算法,并将每个算法封装起来,使它们可以相互替换,且算法的变化不会影响使用算法的客户。策略模式属于对象行为模式,它通过对算法进行封装,把使用算法的责任和算法的实现分割开来,并委派给不同的对象对这些算法进行管理。策略模式仅仅封装算法(包括添加 & 删除),但策略模式并不决定在何时使用何种算法,算法的选择由客户端来决定。

2024-12-26 22:05:08 1788

原创 设计模式——创建型模式

实现一个类只有一个实例化对象,提供一个全局访问点。

2024-12-26 22:02:47 880

原创 Zookeeper简介

Zookeeper是一项集中式服务,用于维护配置信息,命名,提供分布式同步和提供组服务。所有这些服务都通过分布式应用程序以某种形式或另一种形式使用。每次实施它们时,都有很多工作可以解决不可避免的错误和比赛条件。由于难以实施此类服务,因此最初的应用程序通常会在它们上弹出,这使它们在变化和难以管理的情况下变得脆弱。即使正确完成,这些服务的不同实现也会在部署应用程序时会导致管理复杂性。

2024-12-06 21:40:08 1276

原创 Linux手册

bin 是 Binaries (二进制文件) 的缩写, 这个目录存放着最经常使用的命令。这里存放的是启动 Linux 时使用的一些核心文件,包括一些连接文件以及镜像文件。dev 是 Device(设备) 的缩写, 该目录下存放的是 Linux 的外部设备,在 Linux 中访问设备的方式和访问文件的方式是相同的。etc 是 Etcetera(等等) 的缩写,这个目录用来存放所有的系统管理所需要的配置文件和子目录。

2024-12-06 21:37:30 529

原创 树和图算法

给定n个权值作为n个叶子结点,构造一棵二叉树,若该树的带权路径长度(wpl)达到最小,称这样的二叉树为最优二叉树,也称为哈夫曼树(Huffman Tree),还有的书翻译为霍夫曼树。:BST:(Binary Sort(Search) Tree),对于二叉排序树的任何一个非叶子节点,要求左子节点的值比当前节点的值小,右子节点的值比当前节点的值大。:树的带权路径长度规定为所有叶子结点的带权路径长度之和,记为WPL(weighted path length),权值越大的结点离根结点越近的二叉树才是最优二叉树。

2024-12-06 21:03:03 609

原创 查找算法和哈希表(散列)

线性查找又称顺序查找,是一种最简单的查找方法,它的基本思想是从第一个记录开始,逐个比较记录的关键字,直到和给定的K值相等,则查找成功;若比较结果与文件中n个记录的关键字都不等,则查找失败。

2024-12-06 20:55:44 424

原创 时间复杂度和排序算法

插入排序( Insertion Sorting)的基本思想是:把n个待排序的元素看成为一个有序表和一个无序表,开始时有序表中只包含一个元素,无序表中包含有n-1个元素,排序过程中每次从无序表中取出第一个元素,把它的排序码依次与有序表元素的排序码进行比较,将它插入到有序表中的适当位置,使之成为新的有序表。思想:第一次从arr[0]-arr[n-1]中遍历,选出最小值,与arr[0]交换,接着从arr[1]-arr[n-1]中遍历,选出最小值,与arr[1]交换…n),也就是了O(nlog。

2024-12-06 20:53:37 1735

原创 递归(Java实现)

递归就是方法自己调用自己递归能解决的问题。

2024-12-06 20:47:47 165

原创 Maven手册

【代码】Maven手册。

2024-12-03 23:23:17 117

原创 Git常用配置

【代码】Git常用配置。

2024-12-03 23:22:38 161

原创 Java并发

JUCThreadLocal一、Lock接口java.util.concurrent.locks 包下的。多线程编程:线程 操作 资源类实现步骤:创建资源类资源类里创建同步方法,同步代码块。这样用来达到高内聚低耦合的目的。ReentrantLock可重入锁Lock的实现类。可重入锁:什么是 “可重入”,可重入就是说某个线程已经获得某个锁,可以再次获取锁而不会出现死锁。可重入锁介绍class X { private final Lock lock = new Reentra

2024-12-03 23:21:29 611

原创 正则表达式

【代码】正则表达式。

2024-12-03 23:16:56 118

原创 Java-NIO

Java BIO 就是传统的 java io 编程,其相关的类和接口在 java.ioBIO(blocking I/O) : 同步阻塞,服务器实现模式为一个连接一个线程,即客户端有连接请求时服务器端就需要启动一个线程进行处理,如果这个连接不做任何事情会造成不必要的线程开销,可以通过线程池机制改善(实现多个客户连接服务器).

2024-12-03 23:15:57 624

原创 常用数据结构(Java实现)

当一个数组中大部分元素为0,或者为同一个值的数组时,可以使用稀疏数组来保存该数组。记录数组一-共有几行几列,有多少个不同的值把具有不同值的元素的行列及值记录在一个小规模的数组中,从而缩小程序的规模稀疏数组的大小:(m+1)*3。m代表的是原来的二维数组中的非0的数。/*** 稀疏数组的转换*///1. 创建原始的二维数组//2. 输出原始的二维数组System.out.println("原始的二维数组");//3. 遍历二维数组,得到非0的个数i++) {j++) {

2024-12-03 22:44:08 669

原创 IDEA常用配置

Alibaba Java Coding Guidelines 阿里巴巴代码规范检查插件。CamelCase 驼峰命名和下划线命名转换(使用)MybatisX 高效操作Mybatis插件。Rainbow Brackets 彩虹括号。Maven Helper 依赖冲突分析。SonarLint 代码质量检查插件。Translation 翻译插件。Lombok 简化臃肿代码插件。设置代码格式化自动换行。

2024-12-03 22:41:01 333

原创 Java8特性

之前,在java中传递一个代码段不容易,不能直接传递代码段。Java是一种面向对象语言,所以必须构造一种对象,这个对象的类需要有一个方法包含所需的代码。Lambda表达式语法lambda符号左侧:参数列表lambda符号右侧:lambda体,即lambda表达式中需要执行的功能数据类型可以省略不写lambda表达式需要函数式接口的支持// 语法格式1:无参数,无返回值// 语法格式2:有一个参数,无返回值// 语法格式3:有一个参数,小括号可以省略不写。

2024-11-29 00:27:54 1025 1

原创 Java基础

何时使用extends,何时使用super?为了便于记忆,我们可以用PECS原则:Producer Extends Consumer Super。即:如果需要返回T,它是生产者(Producer),要使用extends通配符;如果需要写入T,它是消费者(Consumer),要使用super通配符。以的copy()方法为例需要返回T的src是生产者,因此声明为,需要写入T的dest是消费者,因此声明为。

2024-11-29 00:25:46 910

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除