- 博客(182)
- 资源 (9)
- 收藏
- 关注
原创 PgSQL中从A表子查询结果中更新A表字段值
PgSQL中从A表子查询结果中更新A表字段值update business_task set slice_status=1,slice_status_error=nullfrom (select * from business_task as b where b.slice_status=2 and b.slice_status_error=0) b1 where business_task.id=b1.id
2023-03-06 19:49:27 794 1
原创 SpringBoot通过配置读取json文件
最近做项目遇到需要将json类型的配置文件引用到项目中,已经将读取json文件的方法封装成工具类。
2022-08-25 19:59:52 4084
原创 Stream两个Map的value值进行相加/相减,并将合并数据集赋值给新Map
最近做项目遇到,需要把两个Map中的value值进行相加或相减,循环遍历方法太麻烦,有时候数据量大的时候,还会超时。
2022-08-25 19:27:26 4846
原创 内存溢出问题处理步骤与jprofile软件的使用
最近做项目遇到了内存溢出问题,以vslice组件为例来介绍,遇到内存溢出问题该如何处理以及使用jprofile分析生成的dump文件,找出内存占有较大对象,并优化该模块代码,针对内存溢出问题,整理了一份处理内存溢出问题的步骤。...
2022-07-15 17:31:22 1513 2
原创 解决SpringBoot中application.properties中存在中文配置使用@Value注解读取配置中文乱码
解决SpringBoot中application.properties中存在中文配置使用@Value注解读取配置中文乱码
2022-06-01 19:03:51 3101
原创 获取两个集合的交集和差集
获取两个集合的交集和差集 //求集合的交集 //获取两个集合交集 public static List<String> getIntersection(List<String> list1, List<String> list2) { List<String> intersection = (List<String>) org.apache.commons.collections4
2022-05-23 16:57:38 638
原创 将集合划分成指定大小的小集合
将集合划分成指定大小的小集合最近做项目遇到某些接口对点位数量有限制(最大1000个),因此,在获取点位数量超过1000个时,需要对接口进行分段调用,集合分段方法如下: public static <T> List<List<T>> split(List<T> resList, int count) { if (resList == null || count < 1) { return null;
2022-05-23 16:52:47 334
原创 String类型日期格式从yyyy-MM-dd HH:mm:ss转换成yyyy-MM-dd‘T‘HH:mm:ss.SSSXXX
String类型日期格式从yyyy-MM-dd HH:mm:ss转换成yyyy-MM-dd’T’HH:mm:ss.SSSXXX最近在做一个项目,前端传入的时间格式为yyyy-MM-dd HH:mm:ss,但是推送接口需要的日期格式为yyyy-MM-dd’T’HH:mm:ss.SSSXXX,因此,日期格式的转换,实现如下: public static void main(String[] args) { String strDate = "2022-05-23 16:30:59";
2022-05-23 16:38:33 3522
原创 解决webSocket在针对指定用户推送消息时,需要保存用户id至redis中,保存redis时会报Null pointer exception
解决webSocket在针对指定用户推送消息时,需要保存用户id至redis中,保存redis时会报Null pointer exception最近在做一个项目遇到,websocket针对指定用户推送消息时,需要保存用户的socketId至redis中,存入redis中的key是一个字符串常量"socketNumber",value值是socketId的json串,每当用户建立连接之后,调用存储socketId到redis这一步就会报空指针异常。定义的key是一个静态常量,没理由存不到redis中,百思
2022-04-13 10:52:40 2970
原创 SpringBoot解决swagger-ui/index.html访问报错404
SpringBoot解决swagger-ui/index.html访问报错404最近在做一个项目,采用swagger3.0,项目启动起来后,访问swagger路径:http://localhost:8880/vdmpess-web/swagger-ui/index.html报404,原因是 WebMvcConfig 继承了 WebMvcConfigurationSupport,继承该类之后,则在配置文件在中配置的相关内容会失效,需要重新指定静态资源需要重新指定swagger静态资源。项目中swagge
2022-01-11 18:38:38 7004 2
原创 解决SpringBoot后端得到时间是日期格式,返回给前端时间格式为时间戳
解决SpringBoot后端得到时间是日期格式,返回给前端时间格式为时间戳最近做项目遇到后端从数据库中拿到的时间明明是日期格式,但是返回给前端,显示的日期就是时间戳,尝试网上的许多方法,但是都没有用,最后通过加一行注解得到解决。解决方法在实体类中日期字段上添加如下注解:@JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone="GMT+8")...
2022-01-06 19:06:31 5592 1
原创 Java反射之Java通过反射了解集合泛型的本质
集合泛型的本质Java集合中的泛型是为了防止错误输入的,只在编译阶段有效。绕过编译阶段就无效了。验证泛型只在编译阶段有效通过方法的反射操作,可以绕过编译。public class MethodDemo2 { public static void main(String[] args) { ArrayList list = new ArrayList(); ArrayList<String> list1 = new ArrayList<>
2021-12-09 10:21:43 403
原创 Java反射之方法的反射
方法的反射获取某个方法:通过方法名称和方法的参数列表唯一确定某个方法方法的反射操作method.invoke(对象,参数列表)方法的反射步骤获取一个方法,首先要获取类的信息,获取类的信息必须先获取类的类类型获取方法由名称和参数列表来决定 getMethod()获取的是public的方法 getDeclaredMethod()方法获取的是自己生成的方法方法的反射实例方法如果没有返回值,返回null,有返回值则返回具体的返回值public class MethodDemo
2021-12-08 20:40:54 456
原创 Java反射之Java获取成员变量构造函数信息
Java获取成员变量构造函数信息获取构造函数信息构造函数也是对象,是java.lang.reflect.Constructor对象获取所有的Public的构造函数getConstructors()获取自己声明的构造函数getDeclaredConstructors()完整例子public class ClassUtil { /** * 打印类的信息,包括类的成员函数、成员变量 */ public static void printClassMe
2021-12-08 16:27:14 239
原创 Java反射之Java获取方法信息
Java获取方法信息本文主要获取类的信息(包括类的成员函数、成员变量)获取类的信息前面文章已经说过了,有三种方式,本文就不在赘述,采用其中的一种,通过实例对象.getClass()获取类类型,从而获取类的名称 Class c = obj.getClass();//传递的是哪个子类的对象,c就是该子类的类类型 c.getName() public static void main(String[] args) { Class c1 = int.class; Cl
2021-12-08 15:24:16 894
原创 Java反射之Java动态加载类
Java动态加载类Class.forName(“类的全称”)不仅表示了类的类类型,还代表了动态加载类编译时刻加载类是静态加载类,运行时刻加载类是动态加载类new 创建对象是静态加载类,在编译时刻就需要加载所有可能使用到的类Word word = new Word();通过动态加载类可以解决该问题Class c = Class.forName(args[0]);动态加载类例子public class DynamicLoading { public static void
2021-12-08 14:07:32 427
原创 Java反射之Class类的使用
Java反射之class类的使用Class类在面向对象的世界里,万事万物皆对象类也是对象,类对象的表示(类是对象,类是java.lang.Class类的实例对象)Class类的使用任何一个类都是Class的实例对象,这个实例对象都有三种表示方式,三种表示方式见以下代码:public class UseClass { public static void main(String[] args) { //Foo的实例对象如何表示 Foo foo = new
2021-12-08 10:56:08 346
原创 从文件读取Json和使用Gson读取Json文件
Json文件读取引入依赖 <!--commons-io读取文件内容--> <!-- https://mvnrepository.com/artifact/commons-io/commons-io --> <dependency> <groupId>commons-io</groupId> <artifactId>commons-io<
2021-12-06 18:11:26 3390
原创 Gson使用
Gson使用首先使用的时候需要引入依赖: <!--gson--> <!-- https://mvnrepository.com/artifact/com.google.code.gson/gson --> <dependency> <groupId>com.google.code.gson</groupId> <artifactId>gson</
2021-12-06 16:20:38 97
原创 JSON使用
JSON使用使用java生成json引入依赖<dependency> <groupId>org.json</groupId> <artifactId>json</artifactId> <version>20210307</version> </dependency>代码展示public class Jso
2021-12-06 11:31:06 154
原创 JSON基础知识
JSON基础知识JSON概念JSON是一种与开发语言无关的,轻量级的数据格式。全称是JavaScript Object Notation。优点:易于人的阅读和编写,易于程序解析与生产{ “name”:"Json介绍"}标准的JSON数据表示数据结构:Obejct Array基本类型:string number true false null数据结构—Obejct使用花括号{}包含的键值对结构,key必须是String类型,value为任何基本类型或数据结构数据
2021-12-06 10:51:14 293
原创 接口文档神器---Swagger多环境控制
Swagger多环境控制代码部署环境区分开发测试线上基于安全考量线上禁用Swagger通过多种配置方式支持多环境配置多环境控制方式首先,需要设置启动参数,本例设置启动参数是prod:基于@Profile注解@Configuration@EnableSwagger2//@EnableSwaggerBootstrapUI@Profile({"dev", "test", "pre", "prod"})public class Swagger2UiConfiguration extend
2021-12-06 10:08:17 452
原创 接口文档神器---Swagger权限控制
Swagger权限控制Swagger2登录安全控制Swagger2 BasicAuth身份认证Swagger2 ApiKey身份认证Swagger2登录安全控制需要在appliction.properties中添加如下语句:swagger.basic.enable=trueswagger.basic.username=usernameswagger.basic.password=123456swagger.production=false在swagger类中开启如下注解:
2021-12-04 14:59:40 5854
原创 接口文档神器---SpringBoot整合Swagger
SpringBoot整合Swagger整合步骤引入Swagger依赖库,可以从maven仓库下载,仓库地址 <!-- Swagger依赖--> <!-- 增加swagger配置 --> <!-- Swagger依赖--> <dependency> <groupId>io.springfox</groupId> <
2021-12-04 11:25:19 262
原创 接口文档神器---Swagger注解使用与实例
Swagger注解Springfox SwaggerSpring使用Springfox-swagger集成SwaggerSpringfox通过扫描注解生成Api文档Springfox包含方法参数对象注解Swagger2整体注解请求类注解(主要用在controller)@ApiI标识Swagger识别的类@Api放在@Controller注解并列的请求类核心参数包含value、tags、description/** * @Api:用在请求的类上,表示对类的说明,也代表这个类是sw
2021-12-03 14:48:51 1246
原创 接口文档神器---Swagger使用之Swagger UI和Swagger Springfox
Swagger使用之Swagger UI和Swagger SpringfoxSwagger UI一款RESTFUL接口文档的在线生成工具一款RESTFUL接口的在线测试工具便于最终开发人员轻松地进行各类交互Swagger SpringfoxSpringfox由swagger-springmvc发展而来Springfox负责扫描代码提取信息生成API文档Springfox通过Swagger-UI呈现API文档需要在代码中引入如下依赖 <!-- https
2021-12-03 11:11:22 382
原创 接口文档神器---Swagger使用之Swagger Editor
Swagger使用Swagger Editor一个开源的编辑器进入swagger官网,选择liveDemo基于YAML等语法定义API并自动生成文档自动导出多种语言的服务端或客户端代码点击Generate Client,选择java,这里是以java语言为例,生成java代码...
2021-12-03 10:55:33 630
原创 接口文档神器---Swagger的简介
Swagger的简介Swagger介绍一款RESTFUL接口的文档在线生成软件一款RESTFUL接口的功能测试软件一座前后端开发者沟通的桥梁Swagger解决的问题解决后端开发者WIKI的维护问题解决前端和后端开发者沟通问题提高测试开发者的效率问题OpenApiOpenApi简称OAS(OpenApi描述规范)制定通用的与语言无关的REST API 描述规范便于人类和计算机理解和使用服务的功能Swagger围绕OAS构建RESTful文档动态生成接口定义文档易用
2021-12-03 10:17:16 192
原创 java多线程---Volatile实现可见性原理
Volatile实现可见性原理Volatile关键字能够保证Volatile变量的可见性不能保证Volatile变量复合操作的原子性Volatile实现内存可见性深入来说:通过加入内存屏障和禁止重排序优化来实现对于Volatile变量执行写操作时,会在写操作后加入一条store屏障指令对于Volatile变量执行写操作时,会在读操作前加入一条load屏障指令线程写Volatile变量的过程:改变线程工作内存中Volatile变量副本的值将改变后的副本的值从工作内存刷新到主内存线程
2021-12-02 17:25:26 527
原创 java多线程---Synchronized实现可见性原理
Synchronized实现可见性原理可见性要实现共享变量的可见性,必须保证两点:线程修改后的共享变量值能够及时从工作内存刷新到主内存中其他线程能够及时把共享变量的最新值从主内存更新到自己的工作内存中Java语言层面支持的可见性的实现方式synchronizedvolatilesynchronized实现可见性synchronized能够实现:原子性(同步)可见性JMM关于synchronized的两条规定: 1.线程解锁前,必须把贡献变量的最新值刷新到主内存中 2.
2021-12-02 15:25:43 739
原创 Java多线程---内存可见性介绍
Java多线程—内存可见性可见性可见性:一个线程对共享变量值得的修改,能够及时地被其他线程看到。共享变量:如果一个变量在多个线程的工作内存中都存在副本,那么这个变量就是这几个线程的共享变量。java内存模型(JMM)java内存模型(Java Memory Model)描述了Java程序中各种变量(线程共享变量)的访问规则,以及在JVM中讲变量存储到内存和从内存中读取变量这样的底层细节。所有变量都存储在主内存中每个线程都有自己独立的工作内存,里面保存该线程使用到的变量的副本(主内存中该变量的
2021-12-02 14:06:40 253
原创 解决idea显示properties文件中文乱码
解决idea显示properties文件中文乱码在项目中通常会遇到如下问题,突然properties文件中文就显示为\u5730等等这样类似的字符解决方法如下File-》Settings-》File Encodings,修改如下图中绿框标注的内容2.点击Apply-》Ok3.修改完成后显示如果项目中存在多个properties,eg:appilction.properties、message.properties,修改完message,结果application中注释的中文全部变成乱码
2021-12-02 11:24:30 31860 10
原创 Base64算法介绍
Base64算法介绍Base64就是用64个英文字符来表示二进制数据的一种编码方式。64个英文字符分别是A-Z、a-z、0-9、/+。64个字符展示编号字符编号字符0A32g1B33h2C34i3D35j4E36k5F37l6G38m7H39n8I40o9J41p10K42q11L43r12M44s13N45t1
2021-11-26 18:02:41 871
原创 Base64与文件流之间的相互转换
Base64与文件流之间的相互转换文件流转换成Base64 /** * 文件流转换成Base4 */ public String fileToBase64(String path){ String base64 = null; InputStream in = null; try { File file = new File(path); in = new FileInputStr
2021-11-26 16:43:11 12440
原创 WebService介绍与java调用WebService方法两种方式介绍
WebService介绍与java调用WebService方法两种方式介绍WebService相关术语介绍SOAP (Simple Objext Access) 简单对象访问协议WASDL (Web Service Definition Language) web服务语言与结构分析UDDI(Universal Description Discovery Integration) 统一描述发现和集成WebService主要解决问题不同系统、不同平台、不同语言之间的通信访问和调用应用程
2021-11-23 16:39:53 1164 1
原创 (java)给定一个 n 个元素有序的(升序)整型数组 nums 和一个目标值 target ,写一个函数搜索 nums 中的 target,如果目标值存在返回下标,否则返回 -1。
给定一个 n 个元素有序的(升序)整型数组 nums 和一个目标值 target ,写一个函数搜索 nums 中的 target,如果目标值存在返回下标,否则返回 -1。/** * 给定一个 n 个元素有序的(升序)整型数组 nums 和一个目标值 target ,写一个函数搜索 nums 中的 target,如果目标值存在返回下标,否则返回 -1。 * */public class SearchTarget { public static int searchTarget(int[]
2021-10-19 11:25:40 1668
原创 SpringBoot Web---SpringBoot对静态资源的映射规则
SpringBoot Web开发使用SpringBoot进行Web应用开发步骤:1) 创建SpringBoot应用,选中我们需要的模块2) SpringBoot已经默认将这些场景配置好了,只需要在配置文件中指定少量配置就可以运行起来3) 自己编写业务逻辑代码自动配置原理这个场景SpringBoot帮我们配置了什么;能不能修改;能修改哪些配置;能不能扩展;xxxAutoConfiguration:帮我们给容器中自动配置组件xxxProperties:配置类来封装配置文件的内容Spring
2021-09-30 16:24:51 147
原创 SpringBoot中的日志使用
SpringBoot中的日志使用默认配置SpringBoot默认已经配置好了日志@RunWith(SpringRunner.class)@SpringBootTestclass QueueApplicationTests { @Test void contextLoads() {// System.out.println(person); //记录器 Logger logger = LoggerFactory.getLogger(g
2021-09-27 14:57:53 750
原创 SpringBoot中的日志关系
SpringBoot中的日志使用 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter</artifactId> </dependency>SpringBoot使用以下依赖做日志记录: <dependency>
2021-09-27 11:30:57 511
k2011003.pdf
2020-04-30
huili2009.pdf
2020-04-30
trivedi2016.pdf
2020-04-30
NSGA-II算法的matlab代码
2019-11-04
动态NSGA-II算法matlab代码
2018-10-08
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人