- 博客(72)
- 资源 (9)
- 收藏
- 关注
原创 2021-04-02
1.反转链表输入一个链表,反转链表后,输出新链表的表头。public class Solution { public ListNode ReverseList(ListNode head) { if(head == null) return null; ListNode n1 = null; ListNode n2 = head; ListNode n3 = head.next; w
2021-04-02 10:06:02
286
转载 Netty
1.Netty 基础概念1.1 Netty 简介Netty 是一个 NIO 客户端服务器框架,可快速轻松地开发网络应用程序,例如协议服务器和客户端。它极大地简化和简化了网络编程,例如 TCP 和 UDP 套接字服务器。“快速简便”并不意味着最终的应用程序将遭受可维护性或性能问题的困扰。Netty 经过精心设计,结合了许多协议(例如FTP,SMTP,HTTP 以及各种基于二进制和文本的旧式协议)的实施经验。结果,Netty 成功地找到了一种无需妥协即可轻松实现开发,性能,稳定性和灵活性的方法。1.
2020-12-29 14:42:44
582
转载 Netty 知识点
1.NIO 基本概念1.1 阻塞(Block)与非阻塞(Non-Block)阻塞和非阻塞是进程在访问数据的时候,数据是否准备就绪的一种处理方式,当数据没有准备的时候阻塞:往往需要等待缓冲区中的数据准备好过后才处理其他的事情,否则一直等待在那里。非阻塞:当我们的进程访问我们的数据缓冲区的时候,如果数据没有准备好则直接返回,不会等待。如果数据已经准备好,也直接返回。1.2 同步(Synchronous)与异步(Asynchronous)同步和异步都是基于应用程序和操作系统处理 IO 事件所采
2020-12-29 14:20:38
250
原创 通用返回包装类
从 gitee 项目jeecg-boot 中拷贝的,应该符合大多数项目package org.jeecg.common.api.vo;import java.io.Serializable;import io.swagger.annotations.ApiModel;import io.swagger.annotations.ApiModelProperty;import org.jeecg.common.constant.CommonConstant;import lombok....
2020-08-11 09:45:19
555
转载 10.Feign客户端通过Gateway访问其他服务的方法
1.常规的feign客户端接口定义(不经过网关)一般情况下,我们使用feign客户端调用其他服务时是这样定义的@FeignClient(name="xxx",fallback=xxx.class)public interface Hello(){ .......}这种方式的请求不会经过网关 有人会说,你直接把name属性设置成网关的服务名不就行了吗 当有多个这样的接口时,如果都把name设置成网关,spring会报bean不唯一的错误。因此,那种解决方案是不可行的 那么我们希.
2020-07-09 16:39:41
6093
4
转载 springboot+gradle+knife4j实现nimbus-jose-jwt简单使用
1. 配置knife4官网地址:https://doc.xiaominfo.com/guide/useful.html1.1 项目引用build.guidedependencies { implementation 'org.springframework.boot:spring-boot-starter-web' implementation 'org.springframework.cloud:spring-cloud-starter-openfeign' impl
2020-07-09 15:10:26
4705
转载 java 反射
1.获取Class三种方法 反射:在运行状态时(动态的),对于任意一个类,都能够得到这个类的所有属性和方法。对于任意一个对象,都能够调用它的任意属性和方法。 Class类是反射机制的起源,我们得到Class类对象有3种方法:第一种:通过类名获得Class<?> class = ClassName.class;第二种:通过类名全路径获得:Class<?> class = Class.forName("类名全路径");第三种:通过实例对象获得:Cl..
2020-07-08 15:50:53
635
转载 gradle deploy 打包后自动上传到nexus仓库
转载:https://lixuekai.blog.csdn.net/article/details/98747023要想deploy打包好的项目到公司服务器到nexus上,那服务器上nexus需要把deploy权限给打开咯。这个是release的服务器repository,注意下后面的地址以及下面的权限开关,allow redeploy。允许deploy。然后就是gradle在项目里面的build.gradle文件里面配置了。引入maven 插件group 'com.xx.
2020-07-01 17:09:15
1525
原创 gradle 配置
下载:https://gradle.org/install/#manually1.新建系统变量:GRADLE_HOMED:\Program Files\gradle-5.2.1编辑path,添加全局变量:;%GRADLE_HOME%\bin2.本地仓库配置3.使用Maven的本地仓库安装有maven可以直接使用maven的本地仓库 在build.gradle中如下配置repositories { mavenLocal()}...
2020-07-01 16:22:47
187
转载 build.gradle文件详解
建议阅读:https://www.cnblogs.com/mingfeng002/p/11751119.html原文链接:https://blog.csdn.net/jiaov/article/details/865575271.build.gradle//构建脚本(给脚本用的脚本)buildscript { //存储一个属于gradle的变量,整个工程都能用,可通过gradle.ext.springBootVersion使用 ext { springBoo.
2020-07-01 15:36:59
5324
1
原创 3.Hutool
官网地址:https://www.hutool.cn/docs/#/Hutool是一个Java工具包,它帮助我们简化每一行代码,避免重复造轮子。如果你有需要用到某些工具方法的时候,不妨在Hutool里面找找,可能就有。本文将对Hutool中的常用工具类和方法进行介绍。<!-- https://mvnrepository.com/artifact/cn.hutool/hutool-all --><dependency> <groupId>cn.hut
2020-06-12 09:19:00
602
转载 10.Scala Collection(集合)
1.Scala List(列表)1.1 语法Scala 列表类似于数组,它们所有元素的类型都相同,但是它们也有所不同:列表是不可变的,值一旦被定义了就不能改变,其次列表 具有递归的结构(也就是链接表结构)而数组不是。。 列表的元素类型 T 可以写成 List[T]。例如,以下列出了多种类型的列表:// 字符串列表val site: List[String] = List("Runoob", "Google", "Baidu")// 整型列表val nums: List[Int] = .
2020-06-10 17:42:06
433
转载 9.Scala 数组
声明数组以下是 Scala 数组声明的语法格式:var z:Array[String] = new Array[String](3)或var z = new Array[String](3)以上语法中,z 声明一个字符串类型的数组,数组长度为 3 ,可存储 3 个元素。我们可以为每个元素设置值,并通过索引来访问每个元素,如下所示:z(0) = "Runoob"; z(1) = "Baidu"; z(4/2) = "Google"最后一个元素的索引使用了表达式4/2作为索引,..
2020-06-10 17:12:34
201
转载 8.Scala 字符串
1.创建字符串var greeting = "Hello World!";或var greeting:String = "Hello World!";你不一定为字符串指定 String 类型,因为 Scala 编译器会自动推断出字符串的类型为 String。当然我们也可以直接显示的声明字符串为 String 类型,如下实例:object Test { val greeting: String = "Hello, World!" def main(args: Array[S
2020-06-10 16:40:42
156
转载 7.Scala 方法与函数
1. 方法定义语法Scala 中的方法跟 Java 的类似,方法是组成类的一部分。Scala 中的函数则是一个完整的对象,Scala 中的函数其实就是继承了 Trait 的类的对象。Scala 中使用val语句可以定义函数,def语句定义方法。class Test{ def m(x: Int) = x + 3 val f = (x: Int) => x + 3}1.1 方法声明Scala 方法声明格式如下:def functionName ([参数列表]...
2020-06-10 16:00:29
191
转载 6.Scala 循环
1.Scala for循环1.1 语法Scala 语言中 for 循环的语法:for( var x <- Range ){ statement(s);}以上语法中,Range 可以是一个数字区间表示 i to j ,或者 i until j。左箭头 <- 用于为变量 x 赋值。以下是一个使用了 i to j 语法(包含 j)的实例:object Test { def main(args: Array[String]) { var a = 0;
2020-06-10 15:37:33
261
转载 5.Scala 访问修饰符&运算符
1. Scala 访问修饰符Scala 访问修饰符基本和Java的一样,分别有:private,protected,public。 如果没有指定访问修饰符,默认情况下,Scala 对象的访问级别都是 public。 Scala 中的 private 限定符,比 Java 更严格,在嵌套类情况下,外层类甚至不能访问被嵌套类的私有成员。1.1 私有(Private)成员用 private 关键字修饰,带有此标记的成员仅在包含了成员定义的类或对象内部可见,同样的规则还适用内部类。class Ou
2020-06-10 15:21:09
193
转载 4.Scala 变量
1.变量声明在学习如何声明变量与常量之前,我们先来了解一些变量与常量。一、变量: 在程序运行过程中其值可能发生改变的量叫做变量。如:时间,年龄。 二、常量 在程序运行过程中其值不会发生变化的量叫做常量。如:数值 3,字符'A'。在 Scala 中,使用关键词"var"声明变量,使用关键词"val"声明常量。声明变量实例如下:var myVar : String = "Foo"var myVar : String = "Too"以上定义了变量 myVar,我们可以修改...
2020-06-10 14:58:01
216
转载 3.Scala 数据类型
1.Scala 数据类型Scala 与 Java有着相同的数据类型,下表列出了 Scala 支持的数据类型:数据类型 描述 Byte 8位有符号补码整数。数值区间为 -128 到 127 Short 16位有符号补码整数。数值区间为 -32768 到 32767 Int 32位有符号补码整数。数值区间为 -2147483648 到 2147483647 Long 64位有符号补码整数。数值区间为 -9223372036854775808 到 922337.
2020-06-10 14:46:31
257
转载 2.Scala 基础语法
1.Scala 基础语法在scala中每行后面不需要加分号,直接通过换行如来区分;但是一行中写了多个语句,语句与语句之间必须用分号来分割我们可以认为 Scala 程序是对象的集合,通过调用彼此的方法来实现消息传递。接下来我们来理解下,类,对象,方法,实例变量的概念:对象 - 对象有属性和行为。例如:一只狗的状属性有:颜色,名字,行为有:叫、跑、吃等。对象是一个类的实例。类 - 类是对象的抽象,而对象是类的具体实例。方法 - 方法描述的基本的行为,一个类可以包含多个方法。字段 - 每个对象都
2020-06-10 14:26:23
208
转载 1.Scala安装及环境配置
1.Scala 安装Scala 语言可以运行在Window、Linux、Unix、 Mac OS X等系统上。Scala是基于java之上,大量使用java的类库和变量,使用 Scala 之前必须先安装 Java(>1.5版本)。1.1 下载scala官网下载地址2.Mac OS X 和 Linux 上安装 Scala第一步:Java 设置确保你本地已经安装了 JDK 1.5 以上版本,并且设置了 JAVA_HOME 环境变量及 JDK 的 bin 目录。我们可以使用以下命令查看是
2020-06-10 11:42:31
486
转载 2.xxl-sso分布式单点登录框架
官网:[分布式单点登录框架XXL-SSO](https://www.xuxueli.com/xxl-sso/)
2020-06-08 15:03:34
519
转载 1.xxl-job分布式任务调度平台
官网地址:《分布式任务调度平台XXL-JOB》《分布式任务调度平台XXL-JOB》一、简介1.1 概述XXL-JOB是一个分布式任务调度平台,其核心设计目标是开发迅速、学习简单、轻量级、易扩展。现已开放源代码并接入多家公司线上产品线,开箱即用。1.2 社区交流社区交流1.3 特性1、简单:支持通过Web页面对任务进行CRUD操作,操作简单,一分钟上手;2、动态:支持动态修改任务状态、启动/停止任务,以及终止运行中任务,即时生效;3、调度中心HA(中心式):调度采用中心式设计,“.
2020-06-08 14:25:47
1400
转载 9.Spring Security Oauth2-- SSO单点登录
1.单点登录简介单点登录(Single Sign On)指的是当有多个系统需要登录时,用户只需登录一个系统,就可以访问其他需要登录的系统而无需登录。2.创建client模块– 这里我们创建一个security-clientt服务作为需要登录的客户端服务,使用上一节中的oauth2-jwt-server服务作为认证服务,当我们在security-server服务上登录以后,就可以直接访问security-client需要登录的接口,来演示下单点登录功能。2.1 pom.xml依赖:<dep
2020-06-06 17:01:39
501
转载 8.Spring Security Oauth2 -- redis 和 JWT存储token
1.令牌的存储方式令牌有多种存储方式,每种方式都是实现了 TokenStore 接口存储在本机内存: InMemoryTokenStore存储在数据库: JdbcTokenStoreJWT: JwtTokenStore,Json Web Token 不会存储在任何介质中,不过我还是不推荐这种做法啊,并发 2w 以后会有问题存储在 Redis: RedisTokenStore2.使用 Redis 存储令牌2.1 pom添加依赖...
2020-06-04 17:38:05
4764
5
转载 6.Spring Security(一) -- Oauth2使用入门
1.OAuth2 相关名词解释Resource owner(资源拥有者):拥有该资源的最终用户,他有访问资源的账号密码;Resource server(资源服务器):拥有受保护资源的服务器,如果请求包含正确的访问令牌,可以访问资源;Client(客户端):访问资源的客户端,会使用访问令牌去获取资源服务器的资源,可以是浏览器、移动设备或者服务器;Authorization server(认证服务器):用于认证用户的服务器,如果客户端认证通过,发放访问资源服务器的令牌。2.四种授权模式Auth
2020-06-04 11:47:07
321
转载 7. Spring Security(二)-- WebSecurityConfigurer配置以及filter顺序
建议阅读掘金博客:https://juejin.im/post/5d0b1eb35188252f921b1535#heading-31. WebSecurityConfigurerAdapter 在使用WebSecurityConfigurerAdapter前,先了解Spring security config。 Spring security config具有三个模块,一共有3个builder,认证相关的AuthenticationManagerBuilder和web相关的WebSecuri
2020-06-03 17:12:15
1822
1
原创 阿里插件完成 IDEA社区版 创建SpringBoot|cloud项目
笔者下载IDEA社区版的信息如下:2020.1创建springboot ,springcloud 项目比较麻烦看网上好多说 使用spring Initializr 插件,但是经常报please select at least one dependency 错误,这里介绍使用 阿里的 cloud toolkit 插件,使用的是阿里自己的Aliyun JavaInitializr,所以比spring 自带的访问速度还要快捷下载安装插件2. 安装完后有一个弹框,介绍插件内容,...
2020-06-03 11:15:55
2533
转载 5.Gateway-新一代API网关服务
1.Gateway 简介Spring Cloud Gateway 为 SpringBoot 应用提供了API网关支持,具有强大的智能路由与过滤器功能,本文将对其用法进行详细介绍。Gateway是在Spring生态系统之上构建的API网关服务,基于Spring 5,Spring Boot 2和 Project Reactor等技术。Gateway旨在提供一种简单而有效的方式来对API进行路由,以及提供一些强大的过滤器功能, 例如:熔断、限流、重试等。1.1 特性Spring Cloud Gatew
2020-06-02 17:36:07
501
转载 4.OpenFeign-声明式服务调用
1. Feign简介Feign是声明式的服务调用工具,我们只需创建一个接口并用注解的方式来配置它,就可以实现对某个服务接口的调用,简化了直接使用RestTemplate来调用服务接口的开发量。Feign具备可插拔的注解支持,同时支持Feign注解、JAX-RS注解及SpringMvc注解。2. 服务提供者2.1 user-servicespring.application.name = user-service2.2 UserController用于提供调用接口UserControll
2020-06-02 17:00:05
392
原创 2. nacos-配置中心
1. 简介Nacos 提供用于存储配置和其他元数据的 key/value 存储,为分布式系统中的外部化配置提供服务器端和客户端支持。使用 Spring Cloud Alibaba Nacos Config,您可以在 Nacos Server 集中管理你 Spring Cloud 应用的外部属性配置。Spring Cloud Alibaba Nacos Config 是 Config Server 和 Client的替代方案,客户端和服务器上的概念与 Spring Environment 和 Prope
2020-06-02 14:44:05
632
转载 1. nacos-作为注册中心
Nacos简介Spring Cloud Alibaba 致力于提供微服务开发的一站式解决方案,Nacos 作为其核心组件之一,可以作为注册中心和配置中心使用,本文将对其用法进行详细介绍。Nacos 致力于帮助您发现、配置和管理微服务。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据及流量管理。Nacos 具有如下特性:服务发现和服务健康监测:支持基于DNS和基于RPC的服务发现,支持对服务的实时的健康检查,阻止向不健康的主机或服务实例发送请求;动态配置
2020-06-02 10:32:38
357
1
转载 RestTemplate 用法详解
建议阅读:RestTemplate 用法详解1. RestTemplate 简介RestTemplate 是从 Spring3.0 开始支持的一个 HTTP 请求工具,它提供了常见的REST请求方案的模版,例如 GET 请求、POST 请求、PUT 请求、DELETE 请求以及一些通用的请求执行方法 exchange 以及 execute。RestTemplate 继承自 InterceptingHttpAccessor 并且实现了 RestOperations 接口,其中 RestOperat.
2020-06-01 11:58:07
2874
转载 3. Sentinel-实现熔断与限流
Spring Cloud Alibaba 致力于提供微服务开发的一站式解决方案,Sentinel 作为其核心组件之一,具有熔断与限流等一系列服务保护功能,本文将对其用法进行详细介绍。https://github.com/alibaba/Sentinel/wiki/%E4%B8%BB%E9%A1%B51.Sentinel简介随着微服务的流行,服务和服务之间的稳定性变得越来越重要。 Sentinel 以流量为切入点,从流量控制、熔断降级、系统负载保护等多个维度保护服务的稳定性。Sentin..
2020-06-01 10:40:51
424
转载 Java 开源工具类
字符串相关工具类Java 中 String 应该是日常用的最多一个类吧,平常我们很多代码需要围绕 String ,做一些处理。JDK 提供 String API 虽然比较多,但是功能比较基础,通常我们需要结合 String 多个方法才能完成一个业务功能。下面介绍一下 Apache 提供的一个工具类 StringUtils.Maven Pom 信息如下:<dependency><groupId>org.apache.commons</groupId...
2020-05-29 11:34:14
241
转载 Guava 集合类
转载自:老司机阿粉带你玩转 Guava 集合类1. Guava 介绍Guava 是一款 Google 开源工具类,包含许多 Google 内部Java项目依赖的核心类。Guava 扩展 Java 基础类工程,比如集合,并发等,也增加一些其他强大功能,比如缓存,限流等功能。另外 Guava 推出一些类,如Optional,甚至被 Java 开发者学习,后续增加到 JDK 中。2.扩展集合类Guava 创造很多 JDK 没有,但是我们日常却明显有用的新集合类型。这些新类型使用 JDK ...
2020-05-29 11:19:37
905
转载 try-with-resources 优雅关闭资源
参考链接:Java7的try-with-resources声明1.案例说明:public static void main(String[] args) { // 配置规则. initFlowRules(); while (true) { // 1.5.0 版本开始可以直接利用 try-with-resources 特性,自动 exit entry try (Entry entry = SphU.entry("HelloWorld")) {
2020-05-28 17:43:26
220
原创 8.练手Java操作
基于client 6.7 版本,新版本有些许不同,注意替换1.新建索引并指定mappingtype 为默认 _docprivate static void mappingByBuilder(RestHighLevelClient highLevelClient, String index,String type){ try { // 删除索引 try { DeleteIndexRequest dele
2020-05-28 11:42:41
532
原创 7.QueryBuilders 构建查询
官方7.7文档本页列出了所有可用的搜索查询,以及QueryBuilders实用工具类中相应的QueryBuilder类名称和帮助方法名称。Match All Query 查询所有Search Query QueryBuilder Class Method in QueryBuilders Match All MatchAllQueryBuilder QueryBuilders.matchAllQuery() Full
2020-05-26 16:40:55
1738
原创 6.索引APIS(二)Index APIs
1.Refresh API刷新API// RefreshRequest可以应用于一个或多个索引,甚至可以应用于_all索引:// Refresh one index Refresh multiple indices Refresh all the indicesRefreshRequest request = new RefreshRequest("index1"); RefreshRequest requestMultiple = new RefreshRequest("index1",..
2020-05-26 11:38:56
2539
redis_win_64_3.2.zip
2020-06-04
nacos-server-1.3.0-BETA.zip
2020-06-01
知识点JAVA
2017-04-26
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人