自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(53)
  • 资源 (1)
  • 收藏
  • 关注

原创 Runnable和Callable两个线程接口有什么区别?

话不多说我们直接看看源码@FunctionalInterfacepublic interface Callable<V> { /** * Computes a result, or throws an exception if unable to do so. * * @return computed result * @throws Exception if unable to compute a result */ V c

2022-03-25 14:15:10 155

原创 == 和equals 的区别

== : 它的作⽤是判断两个对象的地址是不是相等。即,判断两个对象是不是同⼀个对象(基本数据类型**比较的是值,引⽤数据类型**比较的是内存地址)。equals() : 它的作⽤也是判断两个对象是否相等。但是这个“相等”一般也分两种情况:默认情况:类没有覆盖 equals() ⽅法。则通过 equals() 比较该类的两个对象时,等价于通过“==”比较这两个对象,还是相当于比较内存地址。自定义情况:类覆盖了 equals() ⽅法。我们平时覆盖的 equals()方法一般是比较两个对象的内容是否相同,

2022-02-18 10:33:43 330

原创 String 转map工具

String decrypt = "{IDCARD=123456, SEX=nan, PHONE=18100000001, USERNAME=liuyifei}"; if (decrypt.startsWith("{")) { decrypt = decrypt.substring(1, decrypt.length()); } if (decrypt.endsWith("}")) { decrypt =

2021-12-10 14:25:45 351

原创 mysql如何处理慢查询

查看我们sql语句,是不是查询出我们不需要的字段了,尽量不用selcet * 来查询执行explain 查看执行计划,看看是不是用了索引,没有用索引,可以添加索引 ,若是添加索引了看看是不是索引失效了,尽量使用索引覆盖,避免回标查询,增加查询时长具体参考下面这一篇: https://blog.csdn.net/qq_38331606/article/details/92559093?ops_request_misc=%257B%2522request%255Fid%2522%253A%25221622.

2021-06-04 09:45:35 119

原创 rpc调用和http调用有什么区别

1.本质区别 http是协议,rpc是方法,rpc的实现可能也会用到http http在应用层,rpc在传输层(长连接,少了三次握手,不过http2.0也可以链接复用了) http中所使用的报文中有效字节数仅仅占约 30%,也就是70%的时间用于传输元数据废编码。当然实际情况下报文内容可能会比这个长,但是报头所占的比例也是非常可观的。而rpc仅通过序列化发送有效数据,省去了很多无效的数据,提高传输效率。http需要可读性强,包括输入、输出,解析等。rpc就像调用方法一样调用,很简单。2.其

2021-06-03 23:04:40 3390

原创 索引失效的条件

存在null的字段会让索引失效,因为索引的值要是少于count(*),这种情况下就会走全表扫描。查询条件为非时候,可能会走全表扫描,想 not ,not exists <> in.like 通配符, 一般我们用后置通配符,用前置通配符会有用前置扫描。查询条件的列尽量不用函数...

2021-06-03 22:19:19 199

原创 spring事务传播机制

1.什么事务简单来说,一个事务,就是由一条操作,或者多条操作组成这个操作要么都成功,要么都失败,事务是一个整体,不可分割的单元。2.事务的四大特性ACID原子性Atomic):表示将事务中的所做操作捆绑成一个不可分割的单元,即对事务所进行的数据修改等操作,要么全部执行,要么全部不执行。一致性Consistency):事务完成后,所有的数据状态必须保持一致隔离性(solation):事务之间应该是相互隔离的,一个事务的操作,不应该对另一个事务产生影响持久性(Durability):事务的持久性也

2021-05-01 15:56:39 94

原创 接口幂等性解决方案

什么是幂等性?幂等性就是用户同一操作的多次发起同一请求,请求后的结果是一致的,,不会因为多次点击而产生了副作用,比如支付场景,表单的提交,微服务之间的互相调用,出现的场景:有时候我们在提交表单的时候,保存按钮不小心快速点了亮色,表中产生了两调重复的数据只是id不一样我们在项目中为了为了解决接口超时问题,通常会映入重试机制,有可能第一次请求已经成功了,请求方没有及时获得结果,为了避免返回错误的结果,于是可能对改接口重试几次,这样也会产生重复的数据mq消费者在读取消息时候,有可能也会读取到重复的消息

2021-04-23 18:58:58 1452

原创 调用dubbo返回的数据处理成list集合

调用接口返回数据如下我们使用fastjson 工具来完成转化//data是上面传过来的数据 CodeDto定义接受的实体对象List<CodeDto> list = JSON.parseArray(JSON.parseObject(data).getString("inviteList"),CodeDto.class)

2021-04-16 11:34:12 626

转载 CentOS下安装配置NFS并通过Java进行文件上传下载

https://blog.csdn.net/weixin_33859844/article/details/86011253?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-1.control&dist_request_id=1328740.38960.16169974866720673&depth_1-utm_source=distribute.pc_relevant.none

2021-03-29 15:50:35 165

原创 线程池七大参数

package com.atguigu.gulimall.product.thread;import java.util.concurrent.*;/** * @ClassName ThreadTest * @Description TODO * @Author Administrator * @Version 1.0 */public class ThreadTest { /** * @Author sunyafei * @Description 创建多线程

2021-03-22 23:25:44 86

转载 Mysq经典排名问题

涉及到排名问题,可以使用窗口函数原文链接:https://leetcode-cn.com/problems/rank-scores/solution/tu-jie-sqlmian-shi-ti-jing-dian-pai-ming-wen-ti-by/

2021-03-01 14:17:31 46

原创 mysql limit和offset用法

limit和offset用法mysql里分页一般用limit来实现select* from article LIMIT 1,32.select * from article LIMIT 3 OFFSET 1上面两种写法都表示取2,3,4三条条数据当limit后面跟两个参数的时候,第一个数表示要跳过的数量,后一位表示要取的数量,例如select* from article LIMIT 1,3 就是跳过1条数据,从第2条数据开始取,取3条数据,也就是取2,3,4三条数据当 limit后面跟一个

2021-03-01 10:39:56 70

原创 2021-03-01

​一、原型模式的定义与特点原型(Prototype)模式的定义如下:用一个已经创建的实例作为原型,通过复制该原型对象来创建一个和原型相同或相似的新对象。在这里,原型实例指定了要创建的对象的种类。用这种方式创建对象非常高效,根本无须知道对象创建的细节。例如,Windows 操作系统的安装通常较耗时,如果复制就快了很多。在生活中复制的例子非常多,这里不一一列举了。原型模式的优点:Java 自带的原型模式基于内存二进制流的复制,在性能上比直接 new 一个对象更加优良。可以使用深克隆方式保存对象的状态,使

2021-03-01 10:39:05 53

转载 Postman测试接口传入List类型的参数以及数组类型参数

https://blog.csdn.net/qq_41107231/article/details/106981432

2021-01-12 14:58:43 1555

转载 2021-01-06

完美拷贝本地文件到docker容器https://blog.csdn.net/qq_27295403/article/details/100579631?utm_medium=distribute.pc_relevant_t0.none-task-blog-BlogCommendFromMachineLearnPai2-1.control&depth_1-utm_source=distribute.pc_relevant_t0.none-task-blog-BlogCommendFromMachi

2021-01-06 20:32:22 62

转载 java实现nfs文件的上传与下载

https://blog.csdn.net/zyq_1004/article/details/104947117https://www.cnblogs.com/yshyee/p/9520181.html

2020-12-28 19:24:51 2049

转载 Mac10.14安装zookeeper并启动

https://zhangvalue.blog.csdn.net/article/details/89179939

2020-12-05 12:50:59 112

原创 2万字详解stream流的API用法

前言在我们工作日常中经常需要对数据集合进行处理,Java 8 API添加了一个新的抽象称为流Stream,可以让我们以一种声明的方式处理数据。什么是stream流?

2020-11-25 11:40:24 413

原创 Hashmap遍历方式以及安全性能测试

HashMap遍历的几种方式,以及是否可以进行遍历删除HashMap 遍历从大的方向来说,可分为以下 4 类:迭代器(Iterator)方式遍历;For Each 方式遍历;Lambda 表达式遍历(JDK 1.8+);Streams API 遍历(JDK 1.8+)。但每种类型下又有不同的实现方式,因此具体的遍历方式又可以分为以下 7 种:使用迭代器(Iterator)EntrySet 的方式进行遍历;使用迭代器(Iterator)KeySet 的方式进行遍历;使用 For Each E

2020-11-19 14:37:52 188

原创 post和get请求路径写法

今天测试遇到一个简单问题,搞了两个小时,首先报错No handler found for GET,查看postman请求方式和方法写的请求,一直,我在postman请求路径是localhost:8083/oadmProvider/v1/activities/tset?id=1,而我的方法请求是@GetMapping("/test/{id}")后来百度一才发现,postman路径写错了,如果是一个单一参数路径参数不用写成key value形式,直接写value就可以了,应该是写成这样localhos

2020-11-16 17:57:22 3311

原创 在java代码中如何判断两个字符串是否相等

我一开始是用 == 来判断的但是一直进入不了if方法体,百度发现==不能用来判断两个字符床相等,只能用string1.equals(string2)来进行判断原因如下:不能用“”和“!=”来判断两个字符串bai是否相等。因为String是引用类型,而du不是基本数据类zhi型。故它们的比较是使用地址和值来比较,因为它们是不同的对象,有不同的地址。故str1str2永远是false,而str1!=str2永远都是true。...

2020-11-12 15:49:32 396

原创 Cannot deserialize instance of `java.util.ArrayList` out of START_OBJECT token

在调试接口是需要传入的数据list是一个uids list集合,我用postman测试,传入的数据是这样的。{“uids”: [“1”,“2”]}而实际上这样传入是不对的,应该是下面这样的[“1”,“2”]不需要写入参数名,直接用[]....

2020-11-09 10:52:41 1833 2

转载 mysql-数据库字段date datetime timestamp与实体类对应关系

https://blog.csdn.net/ZHOU_VIP/article/details/85015524?utm_medium=distribute.pc_aggpage_search_result.none-task-blog-2allsobaiduend~default-3-85015524.nonecase&utm_term=%E5%AE%9E%E4%BD%93%E7%B1%BB%E7%9A%84timestamp%E5%B1%9E%E6%80%A7%E7%9A%84%E5%AD%97%

2020-11-03 14:17:25 1699

转载 mybatis一对一,一对多,多对多查询

http://www.manongjc.com/article/93510.html

2020-09-21 14:32:47 56

转载 mybatis之返回值总结

https://www.cnblogs.com/ye-feng-yu/p/10987587.html

2020-09-15 19:48:03 210

转载 优美的讲解equals和==的区别

初步了解在JVM中的内存分配知识 在JVM中,内存分为堆内存跟栈内存。他们二者的区别是: 当我们创建一个对象(new Object)时,就会调用对象的构造函数来开辟空间,将对象数据存储到堆内存中,与此同时在栈内存中生成对应的引用,当我们在后续代码中调用的时候用的都是栈内存中的引用。还需注意的一点,基本数据类型是存储在栈内存中。初步认识equals与==的区别: ==是判断两个变量或实例是不是指向同一个内存空间,equals是判断两个变量或实例所指向的内存空间的值是不是相同 ==是指对内存地址

2020-09-10 12:05:35 156

原创 为什么要把Java堆和栈区分出来呢?

第一,从软件设计的角度看栈代表了处理逻辑,而堆代表了数据。这样分开,使得处理逻辑更为清晰。分而治之的思想。这种隔离、模块化的思想在软件设计的方方面面都有体现。第二,堆与栈的分离,使得堆中的内容可以被多个栈共享(也可以理解为多个线程访问同一个对象)。这种共享的收益是很多的。一方面这种共享提供了一种有效的数据交互方式(如:共享内存),另一方面,堆中的共享常量和缓存可以被所有栈访问,节省了空间。第三,栈因为运行时的需要,比如保存系统运行的上下文,需要进行地址段的划分。由于栈只能向上增长,因此就会限制住栈存

2020-09-10 10:28:25 957 1

原创 @ResponseBody 和 @RequestBody 的作用

先提一嘴 @RequestMapping(“url”),这里的 url写的是请求路径的一部分,一般作用在 Controller的方法上,作为请求的映射地址。`@RequestMapping(value = "/test")//类级别映射,可以没有,一般用于减少书写量public class myController { //方法级别映射,必须有,那么这个方法的访问地址就是/test/aaa,请求到的页面就是test.jsp【当然,这里的.jsp需要在配置文件中配置】 @RequestMap

2020-09-06 12:38:31 116

原创 Java8新特性Stream语法详解

1. Stream初体验Java里面是怎么定义Stream的:A sequence of elements supporting sequential and parallel aggregate operations.大概意思是:Stream是元素的集合,这点让Stream看起来用些类似Iterator;可以支持顺序和并行的对原Stream进行汇聚的操作;大家可以把Stream当成一个高级版本的Iterator。原始版本的Iterator,用户只能一个一个的遍历元素并对其执行某些操作;高级

2020-09-04 10:14:33 101

原创 @Param注解的使用

在SSM框架中,@Param主要是用来注解dao类中方法的参数,便于在对应的dao.xml文件中引用,如:在userDAO类中有这么一个函数:public User selectByNameAndPwd(@Param(“userName”) String name,@Param(“Password”) String )在其对应的dao.xml文件中的查询语句则为:select username,password from user where username=userNameandpassword

2020-09-03 23:01:49 164

原创 The Bean Validation API is on the classpath but no implementation could be found

今天在启动网关服务时遇到一个奇葩问题:报如下错误:Description:The Bean Validation API is on the classpath but no implementation could be foundAction:Add an implementation, such as Hibernate Validator, to the classpath2020-09-03 10:52:15.811 WARN 7756 — [ main] o.

2020-09-03 11:03:49 1326

原创 spring-cloud-alibaba GitHub地址

https://github.com/alibaba/spring-cloud-alibaba

2020-08-20 22:27:55 351

原创 cmd能链接MySQL但是在idea中启动springboot报错java.sql.SQLException: Access denied for user ‘‘@‘localhost‘ (using

cmd能链接MySQL但是在idea中启动springboot报错:java.sql.SQLException: Access denied for user ‘’@‘localhost’ (using password: YES)今天遇到一个奇葩问题,我在application.properties,配置数据库链接报错spring.datasource.name=rootspring.datasource.password="123456"spring.datasource.url=jdbc:m

2020-08-18 11:12:37 240

原创 Mybatis-Plus用法

引入响应pom依赖<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</m

2020-08-15 20:28:27 527

原创 Stream流中的常用方法filter的用法

filter:主要是流的过滤可以通过filter 方法将一个流转换成另一个子集流。查看方法签名:Stream<T> filter(Predicate<? super T> predicate);该接口接收一个Predicate 函数式接口参数(可以是一个Lambda或方法引用)作为筛选条件。复习Predicate接口此前我们已经学习过java.util.stream.Predicate 函数式接口,其中唯一的抽象方法为:boolean test(T t);可以看出该

2020-08-15 12:51:49 40357

原创 Vue创建一个项目过程

1,创建一个名为hello-vue项目vue init webpack hello-vue下面安装各种组件1.安装vue-routernpm install vue-router --save-dev2.安装element-uinpm i element-ui -S3.安装依赖npm install4.安装SASS加载器cnpm install sass-loader node-sass --save-dev...

2020-08-14 12:34:59 58

原创 java动态代理小案例

动态代理有两种实现方式1.基于接口动态代理2.基于子类的动态代理目录我们先看基于子类的动态代理接口package com.itheima.proxy;/** 对生产厂家的要求* */public interface IProducer { /** * 销售 * @param money */ public void saleProduct(float money); /** * 售后 * @param money

2020-05-13 22:46:39 117

原创 spring 创建bean对象三种方法,以及注意细节

bean.xml配置文件<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLo...

2020-05-06 23:42:32 184

原创 MySQL数据库事务的概念和特性

数据库的事务(Transaction)是一种机制、一个操作序列,包含了一组数据库操作命令。事务把所有的命令作为一个整体一起向系统提交或撤销操作请求,即这一组数据库命令要么都执行,要么都不执行,因此事务是一个不可分割的工作逻辑单元。在数据库系统上执行并发操作时,事务是作为最小的控制单元来使用的,特别适用于多用户同时操作的数据库系统。例如,航空公司的订票系统、银行、保险公司以及证券交易系统等。事务...

2020-04-28 17:18:39 415

classes.sql

lass.getResourceAsStream(String path) : path 不以’/'开头时默认是从此类所在的包下取资源,以’/'开头则是从ClassPath根下获取。其实也是通过path构造一个绝对路径,最终还是由ClassLoader获取资源。

2020-03-21

空空如也

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

TA关注的人

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