自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(45)
  • 收藏
  • 关注

原创 Java之从小白到白头的超神之路

1.基础阶段1.1 必选java 语言:https://www.bilibili.com/video/av59529105/Mysql 数据库:https://www.bilibili.com/video/av59623481/JDBC:https://www.bilibili.com/video/av59534040/Java Web:https://www.bilibili.com...

2019-12-26 18:08:16 208

转载 spring urlencode、urldecode

今天遇到一个类似于下面这样的一个问题,后端写了一个 GET resful 接口,请求的时候需要带一个test参数,当请求参数里有+号的时候,后端接口把+号替换成了 空字符串。客户端请求如下:curl localhost/rest/test?test=123456+后端接口如下:@RestController@RequestMapping("/rest")public class TestController { @RequestMapping("/test") public Resp

2020-12-02 17:30:23 2951

原创 MyBatis通用Mapper和PageHelper

如果项目中使用到了MyBatis框架,那么使用通用Mapper和PageHelper分页插件将极大的简化我们的操作。通用Mapper可以简化对单表的CRUD操作,PageHelper分页插件可以帮我们自动拼接分页SQL,并且可以使用MyBatis Geneator来自动生成实体类,Mapper接口和Mapper xml代码,非常的方便。插件地址及作者链接https://gitee.com/free。引入依赖这里使用Spring Boot来构建,可参考Spring-Boot中使用Mybatis.html搭

2020-11-05 10:06:05 525

原创 Spring Boot logback日志配置

Spring Boot在所有内部日志中使用Commons Logging,但是默认配置也提供了对常用日志的支持,如:Java Util Logging,Log4J, Log4J2和Logback。每种Logger都可以通过配置使用控制台或者文件输出日志内容。SLF4J —— Simple Logging Facade For Java,它是一个针对于各类Java日志框架的统一Facade抽象。Java日志框架众多——常用的有java.util.logging, log4j, logback,commons

2020-11-02 15:09:12 466

原创 Spring Boot整合Swagger2

Spring Boot整合Swagger2一、引入Swagger依赖<dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger2</artifactId> <version>2.6.1</version></dependency><dependency> <group

2020-10-19 11:27:01 104

原创 分布式缓存存在的各种问题和解决方案

前言在高并发的分布式的系统中,缓存是必不可少的一部分。没有缓存对系统的加速和阻挡大量的请求直接落到系统的底层,系统是很难撑住高并发的冲击,所以分布式系统中缓存的设计是很重要的一环。下面就来聊聊分布式系统中关于缓存的设计以及过程中遇到的一些问题。缓存的收益和成本收益:加速读写。因为缓存通常是全内存的,比如Redis、Memcache。对内存的直接读写会比传统的存储层如MySQL,性能好很多。举个例子:同等配置单机Redis QPS可轻松上万,MySQL则只有几千。加速读写之后,响应时间加快,相比之下

2020-10-12 09:41:12 1489 1

原创 springboot 多数据源

Druid数据源介绍Druid是一个关系型数据库连接池,是阿里巴巴的一个开源项目,地址:https://github.com/alibaba/druid。Druid不但提供连接池的功能,还提供监控功能,可以实时查看数据库连接池和SQL查询的工作情况。mybatis starter的隐性依赖发现,Spring Boot的数据源配置的默认类型是org.apache.tomcat.jdbc.pool.Datasource,为了使用Druid连接池,需要在application.yml下配置:配置属性Dru

2020-09-11 16:01:34 214

转载 Java 技术书籍大全

Java 技术书籍大全引用GitHub一个博主的目录:https://github.com/sorenduan/awesome-java-books???? ???? ???? 推荐一个在线搜课程的神器,“课程搜”:https://www.kcsou.com/s_Java/本文档目前已收录 277本 Java相关领域经典技术书籍,从初级开发者到资深架构师,涵盖 Java 从业者的各个阶段,并持续更新。涵盖领域:Java入门书籍,Java基础及进阶书籍,框架与中间件,架构设计,设计模式,数学与算法

2020-09-08 14:41:02 240

原创 Eureka注册中心开启密码认证

Eureka注册中心开启密码认证Eureka 自带了一个 Web 的管理页面,方便我们查询注册到上面的实例信息,但是有一个问题:如果在实际使用中,注册中心地址有公网 IP 的话,必然能直接访问到,这样是不安全的。所以我们需要对 Eureka 进行改造,加上权限认证来保证安全性。改造我们的 eureka-server,通过集成 Spring-Security 来进行安全认证。在 pom.xml 中添加 Spring-Security 的依赖包,代码如下所示。<dependency>

2020-09-01 11:05:24 632

原创 @Async 注解

异步执行异步调用就是不用等待结果的返回就执行后面的逻辑;同步调用则需要等待结果再执行后面的逻辑。通常我们使用异步操作时都会创建一个线程执行一段逻辑,然后把这个线程丢到线程池中去执行,代码如下所示。ExecutorService executorService = Executors.newFixedThreadPool(10);executorService.execute(() -> { try { // 业务逻辑 } catch (Exception e)

2020-08-31 15:04:27 13972

原创 springboot 热部署

热部署开发过程中经常会改动代码,此时若想看下效果,就不得不停掉项目然后重启。对于 Spring Boot 项目来说,启动时间是非常快的,在微服务的架构下,每个服务只关注自己的业务,代码量也非常小,这个启动时间是可以容忍的。对于那些臃肿的单体老项目,启动时间简直是浪费生命。虽然 Spring Boot 启动很快,但是我们还是要自己去重启。能不能做到有改动,它就会悄无声息地自己把改动的地方重新加载一遍?答案是肯定的,通过 spring-boot-devtools 就可以实现。只需要添加 spring-b

2020-08-31 14:28:57 122

转载 HttpServletRequest.getInputStream()多次读取问题

HttpServletRequest.getInputStream()多次读取问题我们放在body里的数据我们有时候通过HttpServletRequest.getInputStream()读取body里的数据 private String getBody(HttpServletRequest request) throws IOException { InputStream in = request.getInputStream(); BufferedReader br = new

2020-08-27 10:06:23 1054

原创 sonar 代码检查工具

sonar 代码检查工具

2020-08-13 14:58:58 278

原创 mysql if(),ifnull(),isnull()函数

ISNULL函数ISNULL(param1)作用:判断param1是不是null,是null返回true,否则返回falseIFNULL函数IFNULL(expr1,expr2) 如果expr1不是NULL,IFNULL()返回expr1,否则它返回expr2。IFNULL()返回一个数字或字符串值,取决于它被使用的上下文环境。 mysql> select IFNULL(1,0); -> 1mysql> select IFNULL(0,10);

2020-07-30 16:33:34 521

原创 查询某个条件下数据是否存在,请加limit 1

我们一般的写法都是##### SQL写法:SELECT count(*) FROM table WHERE a = 1 AND b = 2##### Java写法:int nums = xxDao.countXxxxByXxx(params);if ( nums > 0 ) { //当存在时,执行这里的代码} else { //当不存在时,执行这里的代码}推荐写法如下:##### SQL写法:SELECT count(*) FROM table WHERE a = 1

2020-07-30 11:07:56 732

原创 mysql数据库和查询语句中字段类型不匹配出现异常,查询或更新多条的原因

mysql数据库和查询语句中字段类型不匹配出现异常,查询或更新多条的原因说明表结构和where查询的字段类型一致,均为字符串或者是整数,不会类型转化表结构和where查询的字段类型不一致:一个为TIMESTAMP或者是DATETIME,另一个为常量,常量会转化为TIMESTAMP,再进行比较一个为DECIMAL或者是整数,整数会转化为DECIMAL,再进行比较一个为整数,另一个为字符串,会都转化为浮点型,再进行比较注意:整数为准确值,浮点数为精度值,浮点型存储结构是1个符号位,8个指数位,23

2020-07-24 10:13:43 1388

原创 ELK 和 Zipkin的作用

ELK:关注的是日志,它记录的是logZipkin:关注的链路调用关系,它记录的是Trace一般我们通过Zipkin寻找一个请求在各个服务调用的链,而当我们想要查这个请求具体都打印了那些日志,我们通过ELK来查找因此当我们想搭建一个分布式日志追踪服务,zipkin和ELK都是不可或缺的...

2020-07-17 15:45:14 1652

转载 Yapi api管理系统

一、Ypai介绍高效、易用、功能强大的API管理平台旨在为开发、产品、测试人员提供更优雅的接口管理服务。1、提供基本的项目分组,项目管理,接口管理功能;2、友好的接口文档,基于websocket的多人协作接口编辑功能和类postman测试工具,让多人协作成倍提升开发效率;3、基于Mockjs,使用简单功能强大的mock服务;二、yapi官方使用文档地址https://hellosean1025.github.io/yapi/三、推荐IntelliJ IDEA对接yapi优秀插件EasyYapi

2020-07-16 14:47:24 2138

转载 git flow 工作流

一 什么是git flow就像代码需要代码规范一样,代码管理同样需要一个清晰的流程和规范。Git 作为一个源码管理系统,不可避免涉及到多人协作。协作必须有一个规范的工作流程,让大家有效地合作,使得项目井井有条地发展下去。"工作流程"在英语里,叫做"workflow"或者"flow",原意是水流,比喻项目像水流那样,顺畅、自然地向前流动,不会发生冲击、对撞、甚至漩涡。Gitflow工作流定义了一个围绕项目发布的严格分支模型。下图能说明整个流程,该模式来自Nvie...

2020-07-16 14:37:38 376

原创 mysql default踩过的坑

数据库表结构CREATE TABLE `meeting` ( `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '自增主键', `video_interrogation_type` int(10) DEFAULT '12' COMMENT 'XXX', PRIMARY KEY (`id`),) ENGINE=InnoDB AUTO_INCREMENT=34375 DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC;插入语

2020-06-08 17:06:49 455

原创 处理mysql cup飙升问题

紧急处理:运行平稳的数据库,如果遇到CPU狂飙,到80%左右,那一定是开发写的烂SQL导致的,DBA首先要保证的是,数据库别跑挂了,所以我们要把那些运行慢的SQL杀死并记录到文件里,以便后面的排查。pt-kill --match-info "^(select|SELECT)"--busy-time 3--victim all --interval 1--kill --print --daemonize > /root/kill.txtpt-kill详解这条命令是只把select耗时3秒以上

2020-05-21 11:02:32 877 1

原创 史上快分布式入门

https://gitee.com/owenwangwen/open-capacity-platformocp是基于layui+springcloud的企业级微服务框架(用户权限管理,配置中心管理,应用管理,…),其核心的设计目标是分离前后端,快速开发部署,学习简单,功能强大,提供快速接入核心接口能力,其目标是帮助企业搭建一套类似百度能力开放平台的框架;...

2020-01-10 16:32:15 103

原创 浮点型变量和BigDecimal的运用

浮点型变量 float、doublefloat : 单精度浮点数double : 双精度浮点数两者的主要区别如下:1.在内存中占有的字节数不同单精度浮点数在机内存占4个字节双精度浮点数在机内存占8个字节2.有效数字位数不同单精度浮点数有效数字8位双精度浮点数有效数字16位3.数值取值范围单精度浮点数的表示范围:-3.40E+38~3.40E+38双精度浮点数的...

2019-12-27 11:56:21 334

原创 float、double浮点型变量精度缺失原因

由于对float或double 的使用不当,可能会出现精度丢失的问题。问题大概情况可以通过如下代码理解:public class FloatDoubleTest { public static void main(String[] args) { float f = 20014999; double d = f; double d2 = 20014999; ...

2019-12-27 11:26:19 897

转载 @ResponseStatus注解的作用

带有@ResponseStatus注解的异常类会被ResponseStatusExceptionResolver 解析。可以实现自定义的一些异常,同时在页面上进行显示。具体的使用方法如下:1.首先定义一个异常类:@ResponseStatus(value = HttpStatus.FORBIDDEN,reason = "用户名和密码不匹配!")public class UserNameNot...

2019-12-26 16:53:14 2090

原创 @ControllerAdvice + @ExceptionHandler 全局异常处理

在SpringMVC重要注解@ExceptionHandler,只能在当前Controller中处理异常。但当配合@ControllerAdvice一起使用的时候,就可以摆脱那个限制了。package com.somnus.advice; import org.springframework.web.bind.annotation.ControllerAdvice;import org.s...

2019-12-26 16:50:26 285

原创 spring cloud 集成TX-LCN5.0.2使用LCN模式实现分布式事务

对于微服务化的趋势,分布式事务是一个绕不去的坎,现在有很多开源的软件 tx-lcn,byte-tcc, seata(阿里系),jta今天我介绍的是tx-lcn一个国内的开源软件。官网地址:http://www.txlcn.org/zh-cn/将项目在GitHub上拉下来快速开始说明TX-LCN 主要有两个模块,Tx-Client(TC) Tx-Manager™. TC作为微服务下的依赖...

2019-12-19 15:11:48 703

原创 linux yml安装mysql

卸载Mysql:若该系统已经安装过mysql需要卸载,然后重新进行安装Mysql5+。这里可以参考下面的命令进行删除。1. yum remove mysql mysql-server mysql-libs mysql-server2. find / -name mysql :将找到的相关东西delete掉;3. rpm -qa|grep mysql(若有,将查询出来的东西yum remov...

2019-12-18 16:16:08 2867 2

转载 git常用命令

查看、添加、提交、删除、找回,重置修改文件git help # 显示command的helpgit show # 显示某次提交的内容 git show $idgit co – # 抛弃工作区修改git co . # 抛弃工作区修改git add # 将工作文件修改提交到本地暂存区git add . # 将所有修改过的工作文件提交暂存区git rm # 从版本库中删除文件gi...

2019-12-17 11:04:06 106

转载 idea debug模式启动慢的原因

使用debug无法启动项目但是使用run就可以启动程序,而且启动比以前的debug模式快的多原因:启动不了的原因是在项目中的方法上打了断点,导致项目无法继续编译解决方法:取消方法断点就可以了在idea官网对breakpoints的解释中:方法断点会导致debug系统变慢最好就是在打断点调试以后就把断点取消,最好不要使用方法断点...

2019-12-12 10:32:01 234

原创 MySql 中 case when then else end 的用法

用法用法一case 列 ------------类似于whichwhen 值 then 值 -------------类似于casewhen 值 then 值else 值 ------------类似于defaultend用法二case when 判断条件 th...

2019-12-04 14:10:35 508

转载 @PropertySource + Environment,@PropertySource(PropertySourcesPlaceholderConfigurer)+@Value配合使用

Spring的@PropertySource + Environment,@PropertySource(PropertySourcesPlaceholderConfigurer)+@Value配合使用@PropertySource注解可以配置读取单个或多个配置文件:单个配置文件:@PropertySource(value = “classpath:spring/config.propert...

2019-11-27 11:47:08 213

原创 bootstrap与application对比

用过 Spring Boot 的都知道在 Spring Boot 中有以下两种配置文件bootstrap (.yml 或者 .properties)application (.yml 或者 .properties)为什么会有这两种配置文件呢?大家都清楚它们的区别和具体使用场景吗?bootstrap/ application 的区别特意去翻了下 Spring Boot 的官方文档,没有找到...

2019-11-26 17:09:52 1103

转载 跨域产生的原因和解决方案

原文链接:https://segmentfault.com/a/1190000011145364 ...

2019-09-12 14:02:00 1536 2

转载 linux 安装vsftpd

第一次安装vsftpd需要两步.在linux操作系统中安装和配置vsftp服务现在的linux系统有多个版本,目前最新的为7.x系列。而传统的6.x系列与现在最新的7.x系列又有很多命令不一样。例如防火墙命令,systemctl命令等等。接下来,笔者就linux6系列与linux7系列分别介绍如何安装vsftp服务。Linux 6系列:1.查看系统的版本号,确认此linux版本确实属于...

2019-07-05 11:37:20 984

转载 tracker.conf 和 storage.conf配置文件

tracker 的修改tracker $> vim /etc/fdfs/tracker.confdisabled=false#配置是否生效bind_addr=192.168.6.102#绑定IPport=22122#服务端口connect_timeout=30#连接超时时间network_timeout=60 # tracker server的网络超时,单位为秒。bas...

2019-06-21 15:20:13 1386 1

转载 FastDFS从搭建到应用

FastDFS笔记参考资料:https://github.com/happyfish100/fastdfs参考资料:https://www.oschina.net/p/fastdfs一、简介FastDFS高性能的分布式文件系统,主要功能包含文件的存储、同步、访问(上传和下载),特别适用于以文件为主体的网络站点(图片分享和视频分享)FastDFS包含两个角色Tracker(追踪器 调度...

2019-06-21 14:32:08 256

转载 SXSSFWorkbook 一些坑

坑一:为什么模板中的数据获取不到?当你企图使用SXSSFWorkbook去加载一个已存在的Excel模板时,首先你应该用XSSFWorkbook去获取它 XSSFWorkbook(java.io.File file)XSSFWorkbook(java.io.InputStream is)XSSF...

2019-02-21 14:27:09 10686 2

转载 POI 读取Excel工具类XSSFWorkbook

&amp;amp;lt;article class=&amp;quot;baidu_pl&amp;quot;&amp;amp;gt; &amp;amp;lt;div id=&amp;quot;article_content&amp;quot; class=&amp;quot;article_content clearfix csdn-tracking-statistics&amp;quot; data-pid=&amp;qu

2019-02-21 13:59:15 1604

原创 删除表的非空约束

alter table wechat_config modify sub_appid varchar(256) null;

2018-11-07 14:37:04 4398

空空如也

空空如也

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

TA关注的人

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