- 博客(79)
- 资源 (7)
- 收藏
- 关注

原创 springboot使用logback日志框架超详细教程
前言 项目中日志系统是必不可少的,目前比较流行的日志框架有log4j、logback等,可能大家还不知道,这两个框架的作者是同一个人,Logback旨在作为流行的log4j项目的后续版本,从而恢复log4j离开的位置。另外 slf4j(Simple Logging Facade for Java) 则是一个日志门面框架,提供了日志系统中常用的接口,logback 和 log4j 则...
2018-12-18 17:57:00
64340
22
原创 window安装zookeeper碰到的问题及解决方法
需要在window7上安装zookeeper,本来想着很简单,结果折腾了一早上,特此记录下来防止以后再犯 首先分成三步: 1:Apache官网下载安装包(地址:https://zookeeper.apache.org/releases.html)这里选用的是最新稳定版3.6.3 2:解压后复制conf中zoo_sample.cfg一份为zoo.cfg,并进行编辑: 3:解压目录中创建 data 和 log 目录 到这里想着完事手工了,没想到启动bin/zkServer.cmd时一直都.
2021-06-10 09:24:57
534
转载 【JVM】浅谈双亲委派和破坏双亲委派
转自:【JVM】浅谈双亲委派和破坏双亲委派目录一、前言二、双亲委派2.1、为什么需要双亲委派2.2、双亲委派的实现三、破坏双亲委派3.1、为什么需要破坏双亲委派?3.2、破坏双亲委派的实现四、总结一、前言笔者曾经阅读过周志明的《深入理解Java虚拟机》这本书,阅读完后自以为对jvm有了一定的了解,然而当真正碰到问题的时候,才发现自己读的有多粗糙,也体会到只有实践才能加深理解,正应对了那句话——“Talk is cheap, show me the code”。前段时间,笔者同事提
2021-04-07 09:45:14
411
转载 MySQL索引之 B+树详解(看完你就明白了)
转自 :MySQL索引-B+树(看完你就明白了)索引是一种数据结构,用于帮助我们在大量数据中快速定位到我们想要查找的数据。索引最形象的比喻就是图书的目录了。注意这里的大量,数据量大了索引才显得有意义,如果我想要在 [1,2,3,4] 中找到 4 这个数据,直接对全数据检索也很快,没有必要费力气建索引再去查找。索引在 MySQL 数据库中分三类:B+ 树索引 Hash 索引 全文索引我们今天要介绍的是工作开发中最常接触到的 InnoDB 存储引擎中的 B+ 树索引。要介绍 B+ 树索引,.
2021-04-07 09:43:01
10914
2
转载 DDL/DML/DCL区别概述
转自https://www.cnblogs.com/kawashibara/p/8961646.htmlDDLDDL的概述DDL(Data Definition Language 数据定义语言)用于操作对象和对象的属性,这种对象包括数据库本身,以及数据库对象,像:表、视图等等,DDL对这些对象和属性的管理和定义具体表现在Create、Drop和Alter上。特别注意:DDL操作的“对...
2019-11-28 09:06:00
398
原创 springcloud Zuul Hystrix Ribbon 超时时间和机制详解
项目中使用spring cloud框架, 有个接口是导出接口,由于数据量有时会比较大,导致访问的时候后台返回了超时错误,由于对Zuul、Ribbon、Hystrix的超时机制不太了解,花了很长时间修复,趁着闲暇时间跟了下源码把这里理清楚了,做下笔记方便自己消化也希望能帮助到别人。1、Hystrix 熔断器超时机制 熔断器的配置类是HystrixCommandProp...
2019-10-25 18:15:18
2006
2
转载 (数据结构)十分钟搞定时间复杂度(算法的时间复杂度)
我们假设计算机运行一行基础代码需要执行一次运算。int aFunc(void) { printf("Hello, World!\n"); // 需要执行 1 次 return 0; // 需要执行 1 次}那么上面这个方法需要执行 2 次运算int aFunc(int n) { for(int i = 0; i<n; i++...
2019-06-26 09:37:46
510
原创 spring boot 集成 websocket 实现消息主动推送
前言 http协议是无状态协议,每次请求都不知道前面发生了什么,而且只可以由浏览器端请求服务器端,而不能由服务器去主动通知浏览器端,是单向的,在很多场景就不适合,比如实时的推送,消息通知或者股票等信息的推送;在没有 websocket 之前,要解决这种问题,只能依靠 ajax轮询 或者 长轮询,这两种方式极大的消耗资源;而websocket,只需要借助http协议进行握手,然...
2018-12-20 11:11:35
6231
5
原创 springboot集成swagger碰到的坑(报404)
一:项目使用springboot集成swagger进行调试,配置swagger非常简单,主要有三步:1、添加swagger依赖<!-- 引入 swagger等相关依赖 --><dependency> <groupId>io.springfox</groupId> <artifactId>springfox-s...
2018-12-15 10:44:15
30351
6
原创 Centos7.0+版本安装 mysql5.7.24
因公司用的服务器到期,老大重新申请了一台腾讯云服务器,需要安装一系列软件,这里先从mysql安装。本文采用的Linux为是腾讯云(8 核 16 GB) Centos 7.3.1611 64位操作系统。1、下载mysql 1.1、https://dev.mysql.com/downloads/mysql/ 1.2、选择mysql版本号,操作系统...
2018-11-22 16:30:23
4717
1
原创 springboot+mybatis+druid+atomikos 处理分布式事务
前言:在上一篇文章《springboot+mybatis+druid 多数据源整合》中我们进行了多数据源的集成,根据不同的mapper文件可以操作不同的数据源,但是这样也就带来了一个问题,怎么保证数据的一致性?通常事务回滚机制是回滚指定数据源的数据,如果在service层调用不同的mapper操作不同的数据源,出现异常的情况下有一个数据源肯定无法回滚,这样就不能保证数据的一致性了!这...
2018-11-09 18:03:35
4370
13
原创 spring boot+mybatis查询结果为map的时候将key转换为驼峰形式方法
前言:项目使用springboot+mybatis搭建,在一些联表查询中使用了Map集合来接收结果,不过发现返回的结果中key都是和数据库列名一样:带有下划线很不方便,记得官方文档上有个驼峰转换的配置 map-underscore-to-camel-case , 于是想当然的以为加上就ok了,测试后发现接收为对象实体的时候确实是可以转换为驼峰形式,但是map集合还是不起作用。...
2018-11-07 17:08:09
2185
原创 STOMP 客户端 API 整理
https://blog.youkuaiyun.com/jqsad/article/details/77745379
2018-11-06 15:37:57
1296
转载 @Resource与@Autowired注解的区别
一、写本博文的原因年初刚加入到现在的项目时,在使用注解时我用的@Resource。后来,同事:你怎么使用@Resource注解?我:使用它有错吗?同事:没错,但是现在都使用@Autowired。我:我研究一下。在大学,学习J2EE实训时一直使用的是@Resource注解,后来我就养成习惯了。现在对这两个注解做一下解释:@Resource默认按照名称方式进行bean匹配,@Autowir...
2018-10-31 14:20:57
283
原创 mysql数据库中 IN 和 EXISTS 的误区
前言:最近在看 《高性能mysql第三版》 这本书,读到子查询优化那章,书中说mysql会将in子查询改写成exists查询(书中基于的mysql版本是5.1.50和5.5),于是乎我又上网找了下资料,发现网上说法几乎都是: in 子查询是把外表和内表hash关联,先查询内表,再把内表结果与外表匹配,对外表使用索引(外表效率高,可用大表),而内表多大都需要查询,不可避...
2018-10-26 11:39:16
1014
原创 记录一次mysql有索引但是没有用到的经历
前提:公司测试人员需要连接数据库取数据,但是并发量高的时候会报等待获取连接超时,所以经理让我帮忙处理下,首先想到增大超时等待时间,改为60秒,300百左右并发是没有问题的,但是提高到500以上时又报辣个错误,就在考虑应该优化下查询sql,增加索引使查询时间缩短来减少等待时间。两个sql很简单,如下:SELECT ID,ALARM_NUM,AlARM_text from iemp_alar...
2018-10-24 15:13:15
4988
原创 springboot+mybatis+druid 多数据源整合
前言:在上一篇文章里面我们进行了spring boot 和 mybatis 的整合 《springboot整合mybatis使用druid数据源》, 文中是使用的单数据源,因为项目中有很多需要用到多数据源的场景,比如主从同步(读写分离), 或者业务库拆分等,这样就需要操作不同的数据库,所以,集成多数据源就很有必要了。 网上关于 spring boot mybati...
2018-10-19 15:59:16
3761
1
转载 Spring AOP中定义切点(PointCut)和通知(Advice)
本文讨论一下Spring AOP编程中的两个关键问题,定义切点和定义通知,理解这两个问题能应付大部分AOP场景。如果你还不熟悉AOP,请先看AOP基本原理,本文的例子也沿用了AOP基本原理中的例子。切点表达式切点的功能是指出切面的通知应该从哪里织入应用的执行流。切面只能织入公共方法。在Spring AOP中,使用AspectJ的切点表达式语言定义切点其中excecution()是最...
2018-10-15 17:00:27
1696
转载 Spring的AOP原理
AOP是什么?转自:https://www.tianmaying.com/tutorial/spring-aop软件工程有一个基本原则叫做“关注点分离”(Concern Separation),通俗的理解就是不同的问题交给不同的部分去解决,每部分专注于解决自己的问题。这年头互联网也天天强调要专注嘛!这其实也是一种“分治”或者“分类”的思想,人解决复杂问题的能力是有限的,所以为了控制复杂...
2018-10-15 16:59:19
175
转载 @Configuration注解、@Bean注解以及配置自动扫描、bean作用域
1、@Configuration标注在类上,相当于把该类作为spring的xml配置文件中的<beans>,作用为:配置spring容器(应用上下文)package com.test.spring.support.configuration;@Configurationpublic class TestConfiguration { public TestConfi...
2018-09-14 14:41:38
720
转载 优雅处理你的Java异常
本文介绍本文仅按照业务系统开发角度描述异常的一些处理看法.不涉及java的异常基础知识,可以自行查阅 《Java核心技术 卷I》 和 《java编程思想》 可以得到更多的基础信息.写在前面的话笔者文笔功力尚浅,言语多有不妥,请慷慨指正,必定感激不尽. 本文提出了几个概念: 处理反馈 业务异常 代码错误 ,请认真思考一下各中区别.在开发业务系统中,我们目前绝大多数采用MVC模式,但是...
2018-09-13 14:34:04
469
原创 spring boot 和 mybatis 整合
1、前言 之前有写过 SSM(spring+springMVC+mybatis) 的整合文章,而如今随着微服务架构的盛行,并且 spring boot 这种约定大于配置的框架开发比 springMVC 更加简洁和高效,所以趁着手头有点空闲时间进行了 Spring Boot 和 MyBatis 的整合,期间也踩了不少坑,在此将过程记录下来以可以帮助后来的同学。2、环境 ...
2018-09-12 16:45:09
769
2
原创 spring boot 静态文件中中文乱码问题解决
访问 spring boot 项目中静态文件静态页面时中文乱码,解决方法是在properties文件中增加配置:spring.http.encoding.force=true
2018-08-23 18:10:31
8730
3
转载 mysql 搜寻附近N公里内数据的实例
根据圆周率和地球半径系数以及搜寻点的经纬度,搜寻数据表中与搜寻点之间的距离为N公里内的数据。转自 https://blog.youkuaiyun.com/fdipzone/article/details/520504711.创建测试表CREATE TABLE `location` ( `id` int(10) unsigned NOT NULL AUTO_INCREMENT, `name` ...
2018-08-23 14:17:12
888
原创 解决spring boot项目中Caused by: com.atomikos.icatch.RollbackException: Prepare: NO vote异常
项目使用 spring boot 框架构建,持久层使用 hibernate,用 atomikos 做分布式事务管理,今天在写一个业务时,因为是需要从腾讯地图api接口拿到数据循环保存到自己本地库中,所以耗时比较长,在最后 commit 阶段控制台抛出异常信息如下:org.springframework.web.util.NestedServletException: Requ...
2018-08-22 14:21:06
4954
1
原创 模拟售票中 synchronized 没有防止超卖问题
最近在学习 《JAVA多线程编程实战指南》这本书,学到内部锁 synchronized 这里,自己就编写Demo演示模拟售票中超卖的线程安全问题,首先我的代码如下:package com.sailing.thread.entity;import com.sailing.thread.main.ThreadMain;/** * @author Baibing * @p...
2018-08-20 10:22:19
1994
原创 mysql数据库 count() 函数和 sum() 函数用法和区别
1、mysql 数据库中 count() 函数是统计查询结果中的行数,例如我们有下表 user_auth :使用 count() 函数来查询结果个数,使用如下查询:mysql > select count(*) from user_auth ; 注意的是,count 会忽略掉 NULL 的结果, 所以 count(字段名) 这样使用的话,如果字段...
2018-08-06 11:51:55
55614
4
原创 mysql使用伪Hash索引提高查询性能
我们知道 Mysql 默认引擎是 InnoDB 引擎,而 InnoDB 支持的索引类型为 B-tree 类型,如果对数据表有一个根据长字符查询的sql,使用 B-tree 索引在大数据量的情况下将会导致性能低下,然而 InnoDB 不支持Hash索引,不过我们可以在 B-tree 基础上创建一个伪哈希索引。这和真正的哈希索引不是一回事,因为还是使用 B-Tree 索引进行查找,但是它...
2018-08-04 17:21:22
3017
转载 spring boot 全局异常处理及自定义异常类
全局异常处理:定义一个处理类,使用@ControllerAdvice注解。@ControllerAdvice注解:控制器增强,一个被@Component注册的组件。配合@ExceptionHandler来增强所有的@requestMapping方法。例如:@ExceptionHandler(Exception.class) 用来捕获@requestMapping的方法中所有抛出的exceptio...
2018-07-10 09:40:26
527
转载 JAVA 项目中常见的异常处理约定或准则
转自:https://www.cnblogs.com/molao-doing/articles/6401705.html异常的定义在《java编程思想》中这样定义 异常:阻止当前方法或作用域继续执行的问题。虽然java中有异常处理机制,但是要明确一点,决不应该用"正常"的态度来看待异常。绝对一点说异常就是某种意义上的错误,就是问题,它可能会导致程序失败。之所以java要提出异常处理机制,就...
2018-07-04 14:38:57
1519
原创 spring boot 中使用@requestBody问题
今天使用spring boot 中@requestBody注解进行接受参数,出现异常,415 Unsupported Media Type,研究后发现,使用@requestBody注解的话, 前端传递参数时需要JSON格式的参数,而且Content-Type为:application/json;charset=UTF-8 格式, 另外如果@requestBody 和...
2018-06-27 14:01:56
7147
转载 异常信息ASM ClassReader failed to parse class file的问题解决
转自:https://blog.youkuaiyun.com/blueheart20/article/details/50150529引言: 在基于Spring开发中碰到了一个异常,并解决之。1. 环境信息: Spring 3.2.10, JDK 1.8, Hibernate 42. 运行简单的程序,出现以下错误信息:[html] view plain copyCaused by: org.spr...
2018-06-21 09:40:38
311
转载 nginx配置location总结
转自:https://www.cnblogs.com/coder-yoyo/p/6346595.htmllocation匹配顺序"="前缀指令匹配,如果匹配成功,则停止其他匹配普通字符串指令匹配,顺序是从长到短,匹配成功的location如果使用^~,则停止其他匹配(正则匹配)正则表达式指令匹配,按照配置文件里的顺序,成功就停止其他匹配如果第三步中有匹配成功,则使用该结果,否则使用第二步结果注意点...
2018-06-07 14:23:31
1159
转载 Nginx 的 Location 从零开始配置
基础知识Nginx location 配置语法 1. location [ = | ~ | ~* | ^~ ] uri { ... } 2. location @name { ... } location 配置可以有两种配置方法1.前缀 + uri(字符串/正则表达式)2.@ + name前缀含义 = :精确匹配(必须全部相等) ~ :大小写敏感 ...
2018-06-07 14:04:39
228
原创 spring-boot-actuator的/health端点返回值是down问题
不说废话,项目中使用spring boot 1.5.7 + spring cloud Dalston.SR3版本 搭建,在访问actuator中的health端点时,刚开始只返回{“status”:"down"},没有详细的信息,最后查阅资料:a链接 得知spring boot 2.0 以下需要在配置文件中新增如下内容:management.security.enabled=...
2018-05-30 16:24:50
26471
4
转载 使用JWT做微服务的登录方案
由于微服务大都是分布式的,需要几台服务器部署,当一个用户在其中一台服务器登录后,传统的方式是session保存其登录信息,然后可以使用共享存储共享,比如redis共享,这种方案的缺点在于共享存储需要一定保护机制,因此需要通过安全链接来访问,这时解决方案的实现就通常具有相当高的复杂性了,所以这里使用基于令牌的方式做登录。JWT简介简介网上都有,下面是摘抄的一部分,做做笔记。。。JWT(JSON WE...
2018-05-29 09:46:10
2462
5
转载 Spring Boot读取配置文件乱码问题解决
用SpringBoot提供的@Value或者@ConfigurationProperties读取properties配置文件,发现会有中文乱码的问题。SpringBoot版本为2.0,查看源码,读取配置文件的地方在org.springframework.boot.envPropertiesPropertySourceLoader.loadProperties(Resource resource) ...
2018-05-21 15:34:42
3270
转载 SpringBoot定时任务及Cron表达式详解
一、定时任务概述 后台项目开发中经常会用到定时任务,现在实现定时任务都方式也是多种多样。下面列举几种常见的定时任务实现方式: 1. Quartz:Quartz的使用相当广泛,它是一个功能强大的调度器,当然使用起来也相对麻烦; 2. java.util包里的Timer,它也可以实现定时任务但是功能过于单一所有使用很少。 3. 就是我们今天要介绍的Spring自带的定时任务Sc...
2018-04-28 14:57:33
638
原创 spring-cloud微服务之路(三):服务注册和发现之Eureka、Consul
在上一篇spring-cloud微服务之路(二):Spring Boot 我们介绍了如何快速的使用 Spring Boot 搭建一个微服务项目,这一篇我们演示如何分别使用 Spring Cloud Eureka 和 Spring Cloud Consul 完成服务注册和发现的实现。一:服务治理 服务治理可以说是微服务架构中最为核心和基础的模块,它主要用来实现各个微服务...
2018-04-26 16:20:48
424
clickhouse_1.1.54236-4.el7.x86_64.rpm.zip
2019-12-02
springboot+mybatis+druid+atomikos 多数据源,分布式事务,集成websocket,redis,swagger2
2018-11-12
springboot+mybatis+druid 多数据源+redis+websocket+swagger2
2018-10-19
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人