自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(73)
  • 资源 (4)
  • 收藏
  • 关注

原创 SpringCloud微服务项目的api文档聚合

目录原理简介首先,在网关中配置好路由Spring Cloud Gatway + Springfox第一步、在各项目里配置Springfox第二步、在网关中编写api文档资源路径注截止2022/4/3,spring boot 2.6以上的版本使用springfox会出现问题swagger 3.0不需要为每个路由配置过滤器StripPrefix=1,否则会出现:Fetch errorNot FoundSpring Cloud Gatway + Springdoc第一步、引入依赖第三步、springdoc中,我们

2022-04-03 08:05:48 2555

原创 字符编码

用2进制数为每个字符编码,便于计算机处理和存储。1、ASCII 码UnicodeUnicode 存储实现UTF-8标量值第一字节第二字节第三字节第四字节00000000 0xxxxxxx0xxxxxxx00000yyy yyxxxxxx110yyyyy10xxxxxxxzzzzyyyy yyxxxxxx1110zzzz10yyyyyy10xxxxxx000uuuuu zzzzyyyy yyxxxxxx11110uuu10uuz

2021-02-23 19:52:07 1140

原创 使用Spring Cloud Gateway实现网关产品的功能。

动态配置Route的方法在网页端配置好api信息,将api信息传入网关路由转换方法。构建RouteDefinition构建PredicateDefinition主要元素predicate namepredicate 参数:map<String,String>:args构建GatewayFilterDefinition主要元素过滤器name:Example过滤器参数:map<String,String>:args编写对应的过滤器工厂类:E

2021-02-23 17:08:24 1882

原创 项目2、开源组件安全检测

开源安全组件概况:致命、高危、中危、低危总组件数,已打标组件数已检测工程、用户数已检测组件、检测次数安全检测列表新建检测任务根据项目名称搜索项目信息

2021-02-23 15:14:25 622

原创 spring 框架中的注解

传统MVC控制器与RESTful web服务控制器之间的一个关键区别是HTTP响应体的创建方式。这个rest式web服务控制器并不依赖于视图技术来将数据执行到HTML的服务器端呈现,而是简单地填充并返回一个对象。对象数据将直接以JSON的形式写入HTTP响应。这段代码使用了Spring 4新的@RestController注释,该注释将该类标记为一个控制器,其中每个方法都返回一个域对象,而不是一...

2021-02-23 15:06:16 92

原创 SQL基础-数据库事务

1 数据库事务事务的定义:构成单个逻辑工作单元的操作集合,事务处理保证所有的事务都作为一个工作单元来执行,要么所有提交,要么整个事务回滚到最初状态。数据库事务正确执行的4个基础要素ACID:原子性Atomicity、一致性Consistency、隔离性Isolation、持久性Durability。原子性:整个事务操作,要么全部完成,要么全部不完成。一致性:几个并行执行的事务,其执行结果...

2021-02-23 15:05:30 96

原创 SQL基础-连接表

12 联接表12.1 理解联接SQL最强大的特性之一是能够在数据检索查询中动态地联接表。连接是使用SQL SELECT可以执行的最重要的操作之一,对连接和连接语法的良好理解是学习SQL极为重要的一部分。在您可以有效地使用连接之前,您必须了解关系表和关系数据库设计的基础知识。下面的内容绝不是对这个主题的完整介绍,但应该足以让您开始工作。理解相关联的表理解关系表的最佳方法是查看一个真实的示例...

2021-02-23 15:04:46 410

原创 git 术语

Aadd添加文件内容到index。HHEAD当前分支Iindex具有stat信息的文件集合,其内容存储为对象。索引是working tree的存储版本。事实上,它还可以包含第二个,甚至第三个版本的working tree,在merge时使用。Rref以refs/开头(如refs/head/master)指向一个object name和另一个ref(后者被称为符号ref),为了方便起见,当将ref用作Git命令的参数时,有时可以将其缩写.refs存储在repository中。ref命名

2021-02-23 13:16:32 653

原创 15、I/O

1、Basic I/O1.1、 Byte Streams处理原始二进制数据的I/O.程序使用字节流来执行8位字节的输入和输出。所有的字节流类都是InputStream和OutputStream的后代。有许多字节流类。为了演示字节流是如何工作的,我们将重点介绍文件I/O字节流、FileInputStream和FileOutputStream。其他类型的字节流也以同样的方式使用;它们主要不同于...

2021-02-23 13:15:56 212

原创 设计模式-策略模式

对代码的局部修改,不要影响到过多的代码。利用继承来解决变化的东西,存在哪些缺点软件开发,变化是常态。设计原则1:将变化的和不变的东西分离变化的部分分开,以实现改变变化的部分时,不会影响到不变的部分。变化的部分以组合的方式设计原则2:针对super class编程,而不是针对实现编程利用多态的特性。SuperClass super = new SubClass();运行时才指定具体的实例化对象设计原则3:多用组合,少用继承。“有一个”比“是一个”更好。...

2021-02-23 13:15:10 73

原创 堆和栈

作为数据结构作为内存分配虚拟内存,物理内存,虚拟内存和物理内存的映射栈虚拟内存的组织形式是数据结构中的栈,连续,先入后出。系统自动分配。在程序运行结束后系统释放。栈上的数据的生存周期只是在函数的运行过程中,运行后就释放掉,不可以再访问。栈的空间有限,1M或2M,当栈的空间满了时,就会报stackoverflow的异常。由于栈的大小有限,所以用子函数还是有物理意义的,而不仅仅是逻辑意义。栈区向地址减小的方向增长堆虚拟内存中组织形式是各个空闲区域通过链表构成的堆组织起来。编程人员手动分

2021-02-23 13:14:46 153

原创 SQL基础-联接(join)

1、Inner Join基于两个表之间的相等性测试的连接,这种连接称为内连接。SELECT ta.iten1, tb.item2, tc.item3FORM table_a AS ta, table_b AS tb, table_c AS tcWHERE ta.tb_id = tb.id AND tb.tc_id = tc.id等价于SELECT ta.iten1, tb.item...

2020-11-23 09:49:50 377

原创 16、字符串

1、StringString 是不可变的,String 类中每一个看起来会修改 String 值的方法,实际上都是创建了一个全新的 String 对象,以包含修改后的字符串内容。而最初的 String 对象则丝毫未动。对于一个方法而言,参数是为该方法提供信息的,而不是想让该方法改变自己的。1.1、StringBuilder 与 + 重载的对比使用StringBuilder的相关操作会更好,+内部也会使用StringBuilder1.2 、如果你真的想要打印对象的内存地址,应该调用 Object.

2020-07-10 15:22:42 343

原创 17、数组

对象数组存储的是对象的引用,而基元数组则直接存储基本数据类型的值。length 只能告诉你数组可以存储多少元素;这就是说,数组对象的大小并不是真正存储在数组中对象的个数当你创建一个数组对象,其引用将自动初始化为 null,因此你可以通过检查特定数组元素中的引用是否为 null 来判断其中是否有对象。基元数组也有类似的机制,比如自动将数值类型初始化为 0,char 型初始化为 (char)0,布尔类型初始化为 false。可以参数化数组本身的类型...

2020-06-13 20:37:14 169

原创 信息安全术语摘录

加密:对数据进行密码变换以产生密文的过程。一般包括一个变换集合,该变换使用一套算法和一套输入参量。输入参量通常被称为密钥。加密鉴别机制(authenticated encryption mechanism):一种用于保护数据的保密性并保证数据的原发地和数据完整性的密码学技术,由加密算法、解密算法、生成密钥方法三个分过程组成。鉴别加密(authenticated encryption):对某一数据串的加密,旨在保护数据保密性、数据完整性、数据原发鉴别。鉴别码(authenticated encrypt.

2020-06-11 16:40:33 382

原创 HMAC:使用加密hash函数(cryptographic hash function)的消息认证机制

本文档描述了HMAC,这是一种使用加密hash函数进行消息身份验证的机制。HMAC可以与任何迭代加密哈希函数一起使用,例如MD5、SHA-1,并与一个秘密的共享密钥结合使用。在开放计算和通信的世界中,提供一种方法来检查通过不可靠的介质传输或存储的信息的完整性是非常必要的。基于密钥提供这种完整性检查的机制通常称为“消息验证码”(MAC)。通常,消息身份验证代码在共享密钥的两方之间使用,以验证在这些方之间传输的信息。在本文中,我们提出了一种加密hash函数函数的MAC机制。这种机制称为HMACHMAC可以

2020-06-02 09:11:47 1382

转载 14、异常

Java 使用异常来提供一致的错误报告模型,使得构件能够与客户端代码可靠地沟通问题。因为异常处理是 Java 中唯一官方的错误报告机制,并且通过编译器强制执行。概念用强制规定的形式来消除错误处理过程中随心所欲的因素。问题出现了,你也许不清楚该如何处理,但你的确知道不应该置之不理,你要停下来,看看是不是有别人或在别的地方,能够处理这个问题。只是在当前的环境中还没有足够的信息来解决这个问题,所...

2020-04-24 15:36:42 358

原创 Java equal 和 hashcode

1、public boolean equals​(Object obj)指示某个其他对象是否“等于”这个对象。equals方法实现了非空对象引用的等价关系:It is reflexive(反身的):对于任何非空的引用值x, x.equals(x)应该返回true。对称性(symmetric):对于任何非空的引用值x和y,当且仅当y.equals(x)返回true时,x.equals(y)...

2020-04-22 15:02:48 185

原创 lombok注解

1、@Data以下所有注解一起使用的简写@ToString@EqualsAndHashCode对所有字段@Getter对所有非static 字段@Setter@RequiredArgsConstructor2、@ToString生成toString()方法的实现。默认情况下,它会打印您的类名,以及每个字段,按顺序,用逗号分隔。默认情况下,将打印所有非静态字段。@ToString...

2020-04-22 11:30:16 404

转载 13、流式编程

十四、流式编程利用流,无需迭代集合中的元素,就可以提取和操作它们。组合在一起,在流上形成一条操作管道。 lambda表达式、方法引用、流式编程结合使用。 声明式编程(Declarative programming)是一种:声明要做什么,而非怎么做的编程风格。正如我们在函数式编程中所看到的。 流式编程采用内部迭代,这是流式编程的核心特性之一。这种机制使得编写的代码可读性更强,也更能利用多核处...

2020-04-22 09:13:50 1091

翻译 nexus 文档-repository Manager概念-4、软件供应链自动化

一旦您开始采用存储库管理器作为所有组件的存储和交换的中心点,就可以扩展它在整个软件开发生命周期中自动化和管理软件供应链的作用。现代软件开发实践已经发生了巨大的变化,从编写新代码的大量工作转向使用组件来组装应用程序。这种方法将代码作者的数量限制在软件的特定业务方面。大量开源组件以库、可重用小部件、整个应用程序或应用服务器的形式出现,它们具有非常高的质量和功能集,不能作为业务应用程序开发的副作用实...

2020-04-01 17:09:36 784

翻译 nexus 文档-repository Manager概念-3、Managing Repositories

不同的存储库格式和访问它们的工具的增加,以及更多公共可用存储库的出现,都触发了对这些存储库及其包含的组件的访问和使用进行管理的需要。此外,为内部组件托管自己的私有存储库已被证明是在软件开发生命周期的所有阶段交换组件的一种非常有效的方法。它被认为是这个阶段的最佳实践。使用专用的服务器应用程序(存储库管理器)可以支持管理开发团队与之交互的所有存储库的任务。简单地说,存储库管理器提供了两个核心特性...

2020-04-01 17:03:42 1137 2

翻译 nexus 文档-repository Manager概念-2、案例-Maven Repository Format

文章目录The Central RepositoryComponent MetadataRelease StabilityComponent SecurityPerformanceComponent Coordinates and the Repository FormatgroupIdartifactIdversionpackagingRelease and Snapshot Repositor...

2020-04-01 16:40:10 636

翻译 nexus 文档-repository Manager概念-1、Components, Repositories, and Repository Formats

文章目录ComponentsAssets组件库库格式Components件是类似于库或框架的资源,在运行时、集成或单元测试执行时用作软件应用程序的一部分,或作为构建过程的一部分。它可以是一个完整的应用程序,也可以是一个像图像一样的静态资源。通常,这些组件是各种文件的归档,包括:类文件中的Java字节码C对象文件文本文件,如属性文件,XML文件,JavaScript代码,HTML, CS...

2020-04-01 15:59:06 1316

翻译 Spring Framework Core - The IoC Container (12) - 基于 java 的容器配置(3) 使用@Configuration注解

12 Java-based Container Configuration12.4 使用@Configuration注解注入Inter-bean依赖性查找方法注入关于基于java的配置如何在内部工作的更多信息12.4 使用@Configuration注解@Configuration是一个类级注释,指示对象是bean定义的源。@Configuration类通过公共的@Bean注释方法声明bean...

2020-03-26 18:04:53 155

翻译 番外1、多线程

ExecutorModule java.basePackage java.util.concurrentInterface Executor执行已提交的可运行任务的对象。该接口提供了一种将任务提交与如何运行每个任务的机制(包括线程使用、调度等细节)分离的方法。通常使用Executor而不是显式地创建线程。例如,相比一组任务中的每个任务调用new Thread(new RunnableTa...

2020-03-26 16:29:29 132

转载 12、函数式编程

文章目录1、Lambda表达式2、方法引用2.1、未绑定的方法引用3、函数式接口函数式编程语言操纵代码片段就像操作数据一样容易。使用代码以某种方式操纵其他代码的想法也很有趣,只要能保证它更安全。函数式编程(FP)的意义,通过合并现有代码来生成新功能而不是从头开始编写所有内容,我们可以更快地获得更可靠的代码。至少在某些情况下,这套理论似乎很有用。OO(object oriented,面向对象...

2020-03-23 16:11:47 219

转载 11、集合

文章目录1、类型安全的集合2、基本概念3、添加组元素4、集合的打印5、List6、迭代器6.1、ListIterator7、LinkedList8、Stack9、Set10、Map11、Queue11.1、PriorityQueue12、集合与迭代13、for-in和迭代器小结在任意时刻和任意位置创建任意数量的对象。数组:具有固定的大小尺寸。集合类:基本的类型有 List 、 Set 、 Q...

2020-03-20 11:25:52 139

转载 10、内部类

文章目录1、创建内部类2、链接外部类3、使用.this和.new4、内部类与向上转型5、内部类方法和作用域6、匿名内部类7、嵌套类7.1、接口内部的类7.2、多层嵌套内部类8、为什么使用内部类8.1、闭包与回调8.2、内部类与控制框架9、继承内部类10、内部类不能被覆盖11、局部内部类和匿名内部类12、内部类标识符1、创建内部类如果想从外部类的非静态方法之外的任意位置创建某个内部类的对象,那么...

2020-03-20 09:53:56 139

转载 九、接口

接口和抽象类提供了一种将接口与实现分离的更加结构化的方法。抽象类,一种介于普通类和接口之间的折中手段。尽管你的第一想法是创建接口,但是对于构建具有属性和未实现方法的类来说,抽象类也是重要且必要的工具。你不可能总是使用纯粹的接口。1、抽象方法和类Java 提供了一个叫做抽象方法的机制,这个方法是不完整的:它只有声明没有方法体。下面是抽象方法的声明语法:abstract void f();...

2020-03-15 18:09:16 152

转载 8、多态

多态是面向对象编程语言中,继数据抽象和继承之外的第三个重要特性.多态提供了另一个维度的接口与实现分离,以解耦做什么和怎么做。封装通过合并特征和行为来创建新的数据类型。隐藏实现通过将细节私有化把接口与实现分离。这种类型的组织机制对于有面向过程编程背景的人来说,更容易理解。而多态是消除类型之间的耦合。继承允许把一个对象视为它本身的类型或它的基类类型。这样就能把很多派生自一个基类的类型当作同一类型...

2020-03-15 11:32:13 142

转载 7、复用

Java 围绕“类”(Class)来解决问题。我们可以直接使用别人构建或调试过的代码,而非创建新类、重新开始。如何在不污染源代码的前提下使用现存代码是需要技巧的。在本章里,你将学习到两种方式来达到这个目的:第一种方式直接了当。在新类中创建现有类的对象。这种方式叫做 “组合”(Composition),通过这种方式复用代码的功能,而非其形式。第二种方式更为微妙。创建现有类类型的新类。照字面理...

2020-03-14 21:33:22 136

转载 6、封装

面向对象设计中的一个基本问题:“如何区分变动的事物和不变的事物”。这个问题对于类库而言尤其重要。类库的使用者必须依赖他们所使用的那部分类库,并且知道如果使用了类库的新版本,不需要改写代码。另一方面,类库的开发者必须有修改和改进类库的自由,并保证客户代码不会受这些改动影响。为了解决这一问题,Java 提供了访问修饰符供类库开发者指明哪些对于客户端程序员是可用的,哪些是不可用的。访问控制权限的等级...

2020-03-10 21:14:12 123

转载 5、初始化和清理

有两个安全性问题:初始化和清理。1、利用构造器保证初始化如果一个类有构造器,那么 Java 会在用户使用对象之前(即对象刚创建完成)自动调用对象的构造器方法,从而保证初始化。如何命名构造器方法?存在两个问题:任何命名都可能与类中其他已有元素的命名冲突编译器必须始终知道构造器方法名称,从而调用它所以构造器名称与类名相同2、方法重载方法是行为的命名,你通过名字指代所有的对象,属性和...

2020-03-02 21:16:15 224

翻译 9、Spring Security 5.2.2文档翻译-架构和实现

一旦您熟悉了基于名称空间配置的应用程序的设置和运行,您可能希望进一步了解框架在名称空间背后的实际工作方式。与大多数软件一样,Spring Security具有某些在整个框架中通常使用的中心接口、类和概念抽象。在参考指南的这一部分中,我们将研究其中的一些,并了解它们如何协同工作以支持Spring Security中的身份验证和访问控制。1、 技术概览1.1、运行时环境Spring Securi...

2020-03-02 16:15:52 870 1

转载 4、控制流

1、break 和 continue在任何迭代语句的主体内,都可以使用 break 和 continue 来控制循环的流程。 其中,break 表示跳出当前循环体。而 continue 表示停止本次循环,开始下一次循环。2、标签“标签”是后面跟一个冒号的标识符。对 Java 来说,唯一用到标签的地方是在循环语句之前。进一步说,它实际需要紧靠在循环语句的前方 —— 在标签和循环之间置入任何语...

2020-03-01 12:34:15 219

转载 3、运算

所有运算符都能根据自己的运算对象生成一个值。除此以外,一些运算符可改变运算对象的值,这叫作“副作用”(Side Effect)。几乎所有运算符都只能操作基本类型(Primitives)。唯一的例外是 =、== 和 !=,它们能操作所有对象(这也是令人混淆的一个地方)。除此以外,String 类支持 + 和 +=。1、赋值右边可以是任何常量、变量或者可产生一个返回值的表达式。但左边必须是一个明...

2020-03-01 12:20:43 230

转载 2、万物皆对象

本章你将了解到 Java 程序的基本组成,学习在 Java 中万物(几乎)皆对象的思想。1、对象操纵Java 利用万物皆对象的思想和单一一致的语法方式来简化问题。虽万物皆可为对象,但我们所操纵的标识符实际上只是对对象的“引用” 。仅仅有一个“引用”并不意味着你必然有一个与之关联的“对象”。创建一个 String 引用 String s;这里我们只是创建了一个 String 对象的...

2020-03-01 11:30:42 856

转载 1、对象的概念

编程语言就是创建应用程序的思想结构。面向对象编程(Object-Oriented Programming OOP)是一种编程思维方式和编码架构。等你具备一定编程基础后,请务必再回头看。只有这样你才能深刻理解面向对象编程的重要性及设计方式。1、抽象从某种程度上来说,问题的复杂度直接取决于抽象的类型和质量。这里的“类型”意思是:抽象的内容是什么?汇编语言是对底层机器的轻微抽象。接着出现的“命...

2020-03-01 09:49:02 2985

翻译 Spring Framework Core(1)-The Ioc Container(5) Bean 作用域

1 IoC 容器1.5 Bean 作用域当您创建一个bean定义时,您将创建一个用于创建由该bean定义定义的类的实际实例的方法。bean定义是模板的想法很重要,因为它意味着,与类一样,您可以从一个模板创建多个对象实例。您不仅可以控制要插入到由特定bean定义创建的对象中的各种依赖项和配置值,还可以控制由特定bean定义创建的对象的范围。这种方法强大而灵活,因为您可以选择通过配置创建的对象的...

2020-02-16 21:36:25 95

Google C++ 编程规范

这是从官方网站上取得的文档,英文的。详细描述了Google C++的编程风格,值得学习。

2017-10-02

数据结构与算法分析

英文版mobi格式。这是数据结构和算法中比较好的教材了。

2017-10-02

算法(第四版)英文版

奇威克 (Robert Sedgewick) / 韦恩 (Kevin Wayne) 编写的著名书籍。这是非常好的资源,彩色版。

2017-10-02

空空如也

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

TA关注的人

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