- 博客(88)
- 收藏
- 关注
原创 Openfeign开发过程中,对请求参数的要求
无参的情况无参情况就是说我们的方法内不接收参数Get请求当我们只写RequestMapping而不指定RequestMethod的时候默认的method为一个get请求。 @RequestMapping("/aa/a") public void aa();Post请求@RequestMapping(value = "/aa/a",method = RequestMethod....
2020-02-07 17:42:49 2569
原创 事物隔离级别特性,优缺点,使用场景。
数据库提供的四种隔离级别:1.Read uncommitted(读未提交):最低级别,任何情况都会发生。2.Read Committed(读已提交):可避免脏读的发生。3.Repeatable read(可重复读):可避免脏读,不可重复读的发生。4.Serializable(串行化):避免脏读、不可重复读、幻读的发生。四种隔离级别:Seralizable级别,最低的是Read uncom...
2020-01-14 19:21:46 6257 3
原创 redis集群脑裂及其解决方案
redis脑裂是啥?redis的集群脑裂是指因为网络原因,导致redis master节点和redis slave节点和sentinel集群处于不用的网络分区,此时因为sentinel集群无法感知到master的存在所以将slave节点提升为master节点 此时存在两个不同的master节点就像一个大脑分裂成了两个。集群脑裂问题中,如果客户端还在基于原来的master节点继续写入数据那么新的...
2020-01-06 22:13:02 4149
原创 java随机6位数
public static String getRandomNumberString() { // It will generate 6 digit random Number. // from 0 to 999999 Random rnd = new Random(); int number = rnd.nextInt(999999); // this will convert any number sequence into 6 character. return S
2022-10-24 14:41:34 1432
原创 spring相关资料
1,什么是Spring?Spring优点是什么?Spring是一个分层的JavaSE/EE full-stack(一站式)轻量级开源框架一站式:有EE开发的每一层解决方案WEB层:SpringMVCService层:Spring的Bean管理,Spring声明式事务DAO层:Spring的JDBC模板,Spring的ORM模板优点:非侵入式设计:Spring是一种非侵入式(non-invasive)框架,它可以使应用程序代码对框架的依赖最小化。方便解耦、简化开发:Spring就是一个大工厂,
2021-12-05 17:36:28 511
原创 MySQL 根据身份证查找年龄段
ELECTidcard,YEAR (NOW()) - substring(idcard, 7, 4) as nFROMes_members where idcard >0 HAVING n >=65根据身份证 选择年龄段的用户YEAR 返回日期的年份,范围为1000〜9999,或者0日期。NOW 函数返回当前的日期和时间。例如: 2008-12-29 16:25:46substring (被截取字段,从第几位开始截取,截取长度)结果...
2021-11-17 18:20:07 1677
原创 SpringMVC如何接收application/json内容编码类型的参数?
GET、POST方式提交的请求:Content-type:1、application/x-www-form-urlencoded:@RequestBody不是必须加的2、mutipart/form-data:@RequestBody不能处理这种格式3、其他格式,比如application/json,application/xml等,必须使用@RequestBody来处理PUT方式提交的请求:以上1和3的场景都是必须使用@RequestBody来处理的,2场景也是不支持的@RequestM
2021-09-14 10:50:30 664
原创 mysql遇见Expression #1 of SELECT list is not in GROUP BY clause and contains nonaggre的问题
mysql遇见Expression #1 of SELECT list is not in GROUP BY clause and contains nonaggre的问题报错如下Expression #1 of SELECT list is not in GROUP BY clause and contains nonaggregated column ‘csdn.liulancsdnblog.id’ which is not functionally dependent on columns in
2021-09-01 09:30:45 523
原创 java程序批量更新
try { Class.forName("com.mysql.jdbc.Driver"); conn = DriverManager.getConnection("jdbc:mysql://192.168.0.200:3306/xxx", "root", "root"); conn.setAutoCommit(false); // 保存当前自动提交模式 boolean autoCommi
2021-07-01 10:51:07 307
原创 spring boot 介绍
spring boot 是一个框架,简化了框架的使用 ,就是指简化了spring众多框架中所需的大量且繁琐的配置文件,所以Spring Boot是一个服务于框架的框架,服务范围是简化配置文件。所以从本质上来说Spring boot 其实就是Spring框架的另一种表现形式。Spring Boot 核心注解@SpringBootApplication是Spring Boot 的启动类此注解等同于@Configuration+@EnableAutoConfiguration+@ComponentScan的
2021-03-15 10:06:26 170
原创 Zookeeper
Zookeeper是Apache的一个分布式服务框架,是Apache Hadoop的一个子项目,他主要用来解决分布式应用中经常遇到的一些数据管理问题。简单的说zookeeper是由文件系统+监听通知机制构成的。在Zookeeper 底层是一套数据结构 这个存储结构是一个树形结构,他上面的每一个节点,都称为znode, 可以向这个节点中存储数据也可以获取数据。Zookeeper中的数据也是按照树结构进行存储的 每一个znode能够存储1Mb的东西 ,可以用命令登录到zookeeper 通过ls,creat
2021-03-11 15:11:32 109
原创 Listener监听器
监听器用于监听web 应用中某些对象的创建、销毁、增加、修改、删除等动作的发生,然后作出相应的处理。当范围对象的状态发生变化时,服务器会自动调用监听器对象中的方法进行监听
2021-03-09 13:48:52 67
原创 GET和POST的区别
1.GET产生的URL地址可以被Bookmark 而POST不可以2。GET请求会被浏览器主动cache(存储),而POST不会 除非主动设置3.GET请求只能进行URL编码,POST支持多种编码方式4.GET请求参数会被保存在浏览器历史记录中,而POST中的参数不会被保存5.GET请求在url中传送的参数是有长度限制的,而Post则没有 GET对参数的数据类型只能是ASCII编码,而POST可以是字符也可以是字节6.GET比POST不安全 因为参数直接暴露在URL上面,所以GET请求不能传递敏感
2021-03-09 10:14:14 178
原创 spring boot controller 增加指定前缀的两种方法
1、增加配置server.servlet.context-path: /app这种是最常见的,加上这个配置后,所有的url,必须带上/app的前缀,才能访问到该url2、过滤拦截这种是加上/app也可以访问,不加/app也可以访问,适合项目重构修改的适合用import org.apache.commons.lang.StringUtils;import org.springframework.context.annotation.Configuration;import org.springf
2021-03-08 10:42:07 3791 2
原创 用户在注册完成后就可以用极光im进行沟通,需要在用户在平台注册的时候,也要在极光im上也要进行注册
import java.util.ArrayList;import java.util.List;import org.slf4j.Logger;import org.slf4j.LoggerFactory;import cn.jiguang.common.ClientConfig;import cn.jiguang.common.ServiceHelper;import cn.jiguang.common.connection.ApacheHttpClient;import cn.jigua
2021-01-27 10:24:08 195
原创 MongoDB的集合插入删除字段
Mongodb的集合插入一个字段参数说明:.query:update的查询条件,类似于sql update查询内where后面的。.update:update的对象和一些更新的操作符(如,,,inc…)等,也可以理解为sql update查询内set后面的.upsert:可选,这个参数的意思是,如果不存在update的记录,是否插入objNew,true为插入,默认是false,不插入。.multi:可选,mongodb默认是false,只更新找到的第一条记录,如果这个参数为true,就把按条件查
2021-01-20 14:36:21 253
原创 解决Incorrect string value: ‘\xF0\x9F...‘ for column ‘XXX‘ at row 1
原因是UTF-8编码有可能是两个、三个、四个字节。Emoji表情或者某些特殊字符是4个字节,而Mysql的utf8编码最多3个字节,所以数据插不进去。解决方法:将表添加的字段 修改为utf8m64即可
2020-12-29 15:27:25 563
原创 常用的邮箱服务器(SMTP、POP3)地址、端口
网易163邮箱POP3:pop.163.comSMTP:smtp.163.comSMTP端口号:25网易vip.163邮箱POP3:pop.vip.163.comSMTP:smtp.vip.163.comSMTP端口号:25网易126邮箱POP3:pop.126.comSMTP:smtp.126.comSMTP端口号:25网易188邮箱POP3:pop.188.comSMTP:smtp.188.comSMTP端口号:25网易yeah.net邮箱POP3:pop.yeah.n
2020-12-07 17:09:13 9398
原创 nginx 相关问题
检查nginx是否已经启动ps -aux | grep nginx1如果已经启动使用下面命令干掉即可pkill -9 nginxsystemctl start nginx 启动nginxsystemctl stop nginx 关闭nginx
2020-10-15 14:54:40 108 2
原创 The web application registered the JDBC driver * but failed to unregister it when the web applicatio
在tomcat的server.xml文件(在tomcat的安装路径下的conf文件夹里)中把这个监听给关了。就是用把下面三句话括起来就可以啦。
2020-10-15 12:01:25 433
原创 mybatis中使用selectKey,返回结果一直是1
mybatis中使用selectKey,返回结果一直是1,结合这个问题,笔记一下selectKey标签以及问题的原因先说需求,向数据库插入一条记录,表的id是自增的,插入以后返回插入记录的id下面是xml文件中的插入的sql1 <insert id="insertCompete" parameterType="CompetesWithBLOBs">2 insert into competes(compete_title,compete_about,compete_integra
2020-10-14 15:38:20 1152
原创 tomcat解决跨域
在tomcat conf文件夹下web.xml 最底下 </web - app>里面添加以下代码即可 CorsFilter org.apache.catalina.filters.CorsFilter cors.allowed.methods GET,POST,HEAD,OPTIONS,PUT cors.allowed.headers Access-Control-Allow-Origin,Content-Type,X-Requested-With,a
2020-10-12 13:44:47 285
原创 数据库时差问题
UTC,简称世界统一时间,跟北京时间相比,比北京早8个小时,也就是说,北京2020年3月20日18点的时候,UTC时间为2020年3月20日10点如果你用编译器连接数据库,定义了serverTimezone=UTC,那么在你编译器上执行的SQL语句,会先以UTC时区进行存储,发送到MySQL,然后MySQL以本地时区进行转换,就会导致,执行时间比从编译器上的执行时间早8个小时,导致,同一段SQL语句,在mysql直接执行,与编译器执行,结果不同,因为时间相差8个小时将属性设置为serverTimezo
2020-09-28 16:02:12 793
原创 MyBatis使用selectKey返回主键的值
使用标签来获取插入操作主键返回的值。<insert id="insert"> insert into user( username, password, email, info, headImg, createTime) values( #{username}, #{password}, #{email}, #{info}, #{headImg, jdbcType=BLOB}, #{createTime, jd
2020-09-24 14:36:30 777
原创 linux防火墙相关指令
1.查看防火墙状态:firewall-cmd --state2.启动防火墙systemctl start firewalld3.关闭防火墙systemctl stop firewalld4.检查防火墙开放的端口firewall-cmd --permanent --zone=public --list-ports5.开放一个新的端口firewall-cmd --zone=public --add-port=8080/tcp --permanent6.重启防火墙firewall-cmd -
2020-09-23 15:39:28 135
原创 mongoDB mongo创建角色
首先进入mongoDB客户端1.db.createUser({“user”:“xx”,“pwd”:“xx”,“roles”:[{’'role":“root”,“db”:“admin”}]});2.登录db.auth(“用户名user”,“密码pwd”)3.show users;查看所有库4.db.system.users.find();用户所有信息5.use 数据库名字 (有则切换 无则创建)6. show dbs;查询所有库7. db.a.insert(“x”,“x”) 添加8. use
2020-09-22 23:56:12 486
原创 本地手动导Meven依赖
在本地仓库对应的地点新建.pom文件<project> <modelVersion>4.0.0</modelVersion> <parent> <artifactId>asm-parent</artifactId> <groupId>asm</groupId> <version>3.3.1</version> </parent> <name>ASM Core<
2020-09-22 13:09:53 672
原创 Spring详解
1、Spring是什么? Spring是一个轻量级的IoC和AOP容器框架。是为Java应用程序提供基础性服务的一套框架,目的是用于简化企业应用程序的开发,它使得开发者只需要关心业务需求。常见的配置方式有三种:基于XML的配置、基于注解的配置、基于Java的配置。主要由以下几个模块组成:Spring Core:核心类库,提供IOC服务;Spring Context:提供框架式的Bean访问方式,以及企业级功能(JNDI、定时任务等);Spring AOP:AOP服务;Spring DAO
2020-09-04 16:19:51 906
原创 分布式架构中服务配置中心的作用
对于负载较高的服务来说,往往对应这由多台服务器组成的集群。在请求到来时,为了将请求均衡的分配到后端服务器,负载均衡程序将从服务对应的地址列表中通过响应的负载均衡算法和规格,选择一台服务器进行访问,这个过程称为服务的负载均衡。当服务的规模较小时,可以采用硬编码的方式将服务地址和配置写在代码中,通过编码的方式来解决服务的路由和负载均衡问题,也可以通过传统的硬件负载均衡设备如Nginx等软件来解决,通...
2020-02-08 17:02:27 977
原创 灾难性雪崩效应的解决方案。
降级超时降级、资源不足时(线程或信号量)降级,降级后可以配合降级接返回托底数据。实现一个Fallback方法,当请求后端服务出现异常的时候,可以使用fallback方法返回的值。隔离(线程池隔离和信号量隔离)限制调用分布式服务的资源使用,某一个调用的服务出现问题不会影响其他服务调用。熔断当失败率(如因网络故障、超时造成的失败率高)达到阈值自动触发降级,熔断器触发的快速失败会进行快速恢复...
2020-02-07 17:58:43 415
原创 什么是灾难性雪崩效应。
在微服务架构中,一个请求需要调用多个服务是非常常见的。如客户端访问A服务,而A服务需要调用B服务,B服务需要调用C服务,由于网络原因或者自身的原因,如果B服务或者C服务不能及时响应,A服务将处于阻塞状态,直到B服务C服务响应。此时若有大量的请求涌入,容器的线程资源会被消耗完毕,导致服务瘫痪。服务和服务之间的依赖性,故障会传播造成连锁反应,会对整个微服务系统造成灾难性的严重后果,这就是服务故障的雪崩...
2020-02-07 17:52:10 329
原创 说说开发中的异常处理方案
506的小伙伴,准备回家,年前最后一篇哈哈哈(断更)在遇到异常处理情况时应从以下考虑:1:在中间层组件抛出异常,在界面层组件中捕获异常在底层组件中捕获JVM抛出的“只有程序员才能看懂的”异常,转换为中间层的业务逻辑异常,再由界面层捕获以提供有意义的信息。2:自身能够处理的异常,不再向外界抛出。3:尽可能地靠近异常发生的地方捕获并处理异常。4:尽可能地捕获最具体的异常类型,不要在中间层用c...
2020-01-15 19:38:57 447
原创 redis缓存雪崩、穿透、击穿、热点key分别代表什么
Redis逻辑 :先从缓存取,缓存有就直接返回,没有就查库,查到就存Redis没有就返回空。缓存穿透 是针对数据库和缓存中都没有的数据。场景:当客户端发起查询时,缓存中没有就会去查库,库里也没有就会返回给客户端错误信息。这样是没问题 逻辑没毛病,但是存在一个漏洞 那就是无论什么样的key过来查我们都去接受他的请求这样就会被黑客抓住发起大量请求。并且Key都是我们系统中没有的,库里也查不到对应的...
2020-01-09 18:54:26 553
原创 Spring Boot介绍及流程
Spring Boot简介Spring Boot是Spring公司的一个顶级项目和Spring Framework是一个级别的。Spring Boot 实际上是利用Spring Framework4自动配置特性完成。编写项目时不需要编写xml文件。到现在Spring Boot已经具有很大的生态圈,各种主流技术已经都提供了Spring Boot启动器。Spring Boot框架在项目中的作用是Sp...
2020-01-07 21:37:10 274
原创 Redis有哪几种数据失效策略
1.noeviction:当内存限制达到,谁也不删除返回错误。2.allkeys-lru:尝试回收最少使用的键,使得新添加的数据有空间存放。3.volatile-lru:尝试回收最少使用的键,但仅限于在过期集合的键,使得新添加的数据有空间存放。4.allkey-random:回收随机的键,使得新添加的数据有空间存放。5.volatile-random:回收随机的键使得新添加的数据有空间存放...
2020-01-07 20:21:49 1154
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人