摘要:ArrayDeque介绍 ArrayDeque 类的使用详解. ArrayDeque 是 Deque 接口的一个实现,使用了可变数组,所以没有容量上的限制。同时,ArrayDeque 是线程不安全的,在没有外部同步的情况下,不能再多线程环境下使用。ArrayDeque 是 Deque 的实现类,可以
阅读全文
摘要:介绍 EnumSet 是一个专为枚举设计的集合类,EnumSet 中的所有元素都必须是指定枚举类型的枚举值,该枚举类型在创建 EnumSet 时显式或隐式地指定。 EnumSet 的集合元素也是有序的,EnumSet 以枚举值在 Enum 类内的定义顺序来决定集合元素的顺序。 EnumSet 在内部
阅读全文
摘要:背景 项目中要批量导入用户,但是导入的用户中信息可能有错误、已注册、注册成功等信息,需求是将这些用户的信息做区分,然后通过特定的文本形式,返回给web端。 使用文本形式返回 使用文本文件将所有的信息放入到指定文件中,然后通过流的形式传递到web端,代码如下: public void getText(
阅读全文
摘要:反射是指在程序运行期间发现更多的类及其属性的能力。这是一个功能强大的特性,使用起来也比较复杂。 主要是开发软件工具的人员,而不是编写应用程序的人员对反射这项功能感兴趣。 类、超类、子类 定义子类 在Java中,所有的继承都是公有继承,使用关键字extends。 关键字extends表明正在构造的新类
阅读全文
摘要:接口技术主要用来描述类具有什么功能。 一个类可以实现(implement)一个或多个接口,并在需要接口的地方,随时使用实现了相应接口的对象。 lambda表达式,这是一种表示可以在将来某个时间点执行的代码块的简洁方法。使用lambda表达式,可以用一种精巧而简洁的方式表示使用回调或变量行为的代码 内
阅读全文
摘要:前两天看到的一篇关于mysql锁的优秀实践性的博文,记录待回顾: mysql锁实践
阅读全文
摘要:Mysql失效总结 准备 为了进行Mysql失效的实践,我们首先创建一个表,执行以下 sql 语句: mysql> create table staff( -> id int(11) not null auto_increment, -> name varchar(20) not null, ->
阅读全文
摘要:背景 使用之前的项目中有一段代码拷贝到现有系统中,无法兼容,同样的代码解析出现问题,代码如下: public void cacheCybertronSupperAdmin(SysUser sysUser) { redisTemplate.opsForValue().set(Constants.ACC
阅读全文
摘要:类 OOP将数据放在第一位,然后再考虑操作数据的算法。 较小规模的问题 =》 分解为过程的方法;面对对象适合于解决规模较大的问题。 面向过程的数据经常时全局数据;而面对对象则使得每个方法操作所属对象的数据。 面向对象三大特点:封装性(encapsulation)、继承性、多态性 对象中的数据称为实例
阅读全文
摘要:Arrays APi 在日常使用Java数组的过程中,会经常使用到一些扩容、排序、搜索等操作。 准备 创建一个整数数组: int[] ints = new int[]{3,4,2,3,5,6,1,5}; 排序 Arrays.sort(ints); // 内部排序 System.out.println
阅读全文
摘要:知识点 关键字public 称为访问修饰符(access modifier):用于控制程序的其他部分对这段代码的访问级别; 关键字class 表明Java程序中的全部内容都包含在类中;类是构建所有Java应用程序和applet的构建块。 类名:驼峰命名法; 源代码的文件名必须与公共类的名字相同,并用
阅读全文
摘要:Java程序设计概述 Java白皮书关键术语 简单性:剔除C中一些复杂的特性,与C部分关键字语法相同,支持在小型机上运行; 面对对象:专注于对象(数据)和对象的接口;与C++不同之处在于,使用简单的接口来代替多重继承; 分布式:处理HTTP和FTP之类的TCP/IP协议; 健壮性: 多方面的可靠性。
阅读全文
摘要:背景 在使用JPA的过程中,我们在使用数据库存储类型数据时,当类型较少,使用枚举常量作为类型进行存储,需要用到 @Enumerated 注解。 @Enumerated源码定义 @Target({METHOD, FIELD}) @Retention(RUNTIME) public @interface
阅读全文
摘要:1、查看所有端口占用情况 netstat -ano 2、查看指定端口占用情况 netstat -ano | findstr "端口号" 查看占用该端口的PID,注意端口号要加上双引号。 执行:netstat -ano|findstr "8080" 3、使用tasklist查看 PID 对应的进程名
阅读全文
摘要:背景 在解决项目权限管理的过程中,原项目使用httpServletRequest.getRequestURI()获取请求的uri去进行鉴权,但是这样在有路径变量的时候,过程就变得复杂起来,可能需要采用正则去解决这个问题。 思考 既然SpringMVC能够帮我们匹配的可以执行的方法,那么通过反射获取到
阅读全文
摘要:背景 项目中需要用到以前开发的一套项目,需要复用里面的一些接口,远程调用发现出现了空指针异常,原来是token为null,尝试解决该问题。 受限于之前开发的接口中没有参数,所以简单使用注解无法解决,故采用拦截请求的方式 环境介绍 SpringBoot 2.3.3.Release + OpenFeig
阅读全文
摘要:背景 在进行权限管理方面的开发过程中,尝试通过反射获取匹配的方法的注解,然后得到匹配路径进行鉴权。 反射获取类的注解@RequestMapping //通过反射获取到类,填入类名 Class cl1 = Class.forName(""); //获取RequestMapping注解 RequestM
阅读全文
摘要:在Spring中,使用@ControllerAdvice可以用来声明一些全局性的东西,结合@ExceptionHandler注解可以用于全局异常的处理。 @ControllerAdvice 是在类上声明的注解,其用法主要有三点: 全局异常处理 全局数据绑定 全局数据预处理 全局异常处理 使用 @Co
阅读全文
摘要:配置OpenFeign的日志bean; 在目录下写创建config包写config文件 import feign.Logger; import org.springframework.context.annotation.Bean; import org.springframework.contex
阅读全文
摘要:问题 在使用openFein进行远程调用的时候,调用超时,报错信息如下: com.netflix.hystrix.exception.HystrixRuntimeException: XXXService#login(RequestObject) timed-out and no fallback
阅读全文
摘要:报错信息 Caused by: org.springframework.beans.factory.support.BeanDefinitionOverrideException: Invalid bean definition with name 'xxx.FeignClientSpecifica
阅读全文
摘要:在公司项目中遇到一个问题,之前的项目封装的服务中使用的Springboot和对应的SpringCloud版本过低,新建的项目需要调用其中服务APi,对应的feign为1.4.4Release版本,而新项目feign版本为2.2.7Release,因此需要在项目中重新对APi层面的SpringBoot
阅读全文