自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 swagger一站式配置

swagger配置spring boot利用swagger-bootstrap-ui生成好看的api文档swagger导出pdf html参考github:https://github.com/lei0908/swagger-export参考博客:https://blog.csdn.net/X_Xian_/article/details/82969105https://blog.csd...

2019-11-29 14:55:12 272

原创 springboot源码学习--顶级接口

bean加载(bean工厂,bean注册表,bean后置处理器,bean装配)BeanFactory:IOC容器顶级接口,FactoryBean是装饰者模式,是一个bean,getObject()返回自定义的bean,通过&beanName返回原始bean,在spring框架中有着大量的应用,有70多个实现类用处:for the AOP:ProxyFactoryBeanor Jn...

2019-11-15 17:39:08 687

原创 idea常用插件

Alibaba Java Coding Guidelines代码规范lomboklombok支持,提升开发效率maven helpermaven依赖分析Rainbow brackets彩虹括号,让代码中的括号更具标识性Translation翻译插件,阅读源码必备RestfulToolkit展示接口结构简单http请求工具,生成请求demo数据MyBatis Log Plu...

2019-11-11 17:16:12 258

原创 springboot源码学习--设计模式及工具类

单例模式-ApplicationConversionServiceprivate static volatile ApplicationConversionService sharedInstance;public static ConversionService getSharedInstance() { ApplicationConversionService sharedInsta...

2019-11-07 10:29:34 400

转载 Lombok的使用

为何要使用Lombok我们在开发过程中,通常都会定义大量的JavaBean,然后通过IDE去生成其属性的构造器、getter、setter、equals、hashcode...

2019-08-05 14:05:29 244 1

原创 navicat快捷键

ctrl+R 替换ctrl+q 打开查询窗口ctrl+/ 注释sql语句ctrl+shift +/ 解除注释ctrl+r 运行查询窗口的sql语句ctrl+shift+r 只运行选中的sql语句F6 打开一个mysql命令行窗口ctrl+d ...

2019-06-02 11:56:14 264

原创 git删除远程仓库的文件或目录,但不删工作区

删除aa目录下的1.txt文件:git rm -r --cached aa/1.txt删除aa目录:git rm -r --cached aa-r:Allow recursive removal when a leading directory name is given.–cached:Use this option to unstage and remove paths only fro...

2019-01-04 15:20:42 813

原创 IDEA快捷键

大小写转换:Ctrl+shift+y补全分号:Ctrl+shift+enter代码块合并展开:ctrl+m上一个/下一个方法:ctrl+shift+↑↓到文件开头/结尾:ctrl+home/end批量修改名称:F2打开文件所在路径:F3格式化代码:ctrl+alt+l另起一行:shift+enter快速看源码:Ctrl+shift+i快速doc:Ctrl+shift+空格清空...

2018-12-20 14:45:01 244

转载 idea初始化配置

参考以下两篇文章文章1https://mp.weixin.qq.com/s/dfZrFuoih94Puu6dt_AxDA文章2https://mp.weixin.qq.com/s/2Bb_Z_mXv9p6rwcGVgxa2A

2018-11-26 15:37:25 715

原创 git

git show HEADgit log --onlinegit log --stat:每个差异统计信息git log --decorate --graph --oneline --allcat .git/HEADgit pull=git fetch+git mergedetached:独立的暂存区=index远程跟踪分支:origin/master 用户只读跟踪分支: mas...

2018-10-14 23:23:52 280

转载 索引

###1.默认情况下,一旦创建了一个表,这个表设置了主键,那么mysql会为这个主键创建一个unique索引。###2.索引的类型:1.Normal:普通索引,允许一个索引值后关联多个行值。2.Unique:唯一索引,允许一个索引值后只能有一个行值。对列添加唯一约束其实就是添加了一个唯一索引。3.Fulltext:全文检索,mysql的全文检索只能使用myisam引擎,并且性能较低,不建议...

2018-09-24 09:53:49 213

转载 深入String类

问题1:为什么String既可以当基本类型又可以当引用类型使用?1、String是引用数据类型,不是基本数据类型。java除了8种常用的基本类型以外都是引用数据类型。 2、String str = “abc” 实际是将str引用指向常量池的字符串”abc”,String之所以可以看做基本类型是因为String是最简单的引用类型。实则String是引用类型 String str1=ne...

2018-09-04 09:40:07 207

转载 小结1

1、select 0和select 1区别select 0,返回结果为0 select 1,返回结果为1 select 0 from tableA,返回与tableA同等记录数的0 select 1 from tableA,返回与tableA同等记录数的12、springcloud负载均衡与熔断器负载均衡分类:1、服务端负载均衡:客户端请求到负载均衡服务器,负载均衡服务器...

2018-09-01 23:30:27 244

转载 Dubbo启动时对服务检查

启动时检查Dubbo缺省会在启动时检查依赖的服务是否可用,不可用时会抛出异常,阻止Spring初始化完成,以便上线时,能及早发现问题,默认check=true。如果你的Spring容器是懒加载的,或者通过API编程延迟引用服务,请关闭check,否则服务临时不可用时,会抛出异常,拿到null引用, 如果check=false,总是会返回引用,当服务恢复时,能自动连上。可以通过chec...

2018-08-30 14:21:12 1452

转载 Oracle的共享锁和排它锁

oracle有两种模式的锁:排他锁(exclusive lock,即X锁)和共享锁(share lock,即S锁)。 共享锁:如果事务T对数据A加上共享锁后,则其他事务只能对A再加共享锁,不能加排他锁。获准共享锁的事务只能读数据,不能修改数据。(注:共享锁是表级的,比如Select会对表加共享锁) 排他锁:如果事务T对数据A加上排他锁后,则其他事务不能再对A加任任何类型的锁。获准排他锁的事务既...

2018-08-28 15:00:02 7481

转载 dubbo负载均衡策略及对应源码分析

在集群负载均衡时,Dubbo 提供了多种均衡策略,缺省为 random 随机调用。我们还可以扩展自己的负责均衡策略,前提是你已经从一个小白变成了大牛,嘻嘻1、Random LoadBalance1.1 随机,按权重设置随机概率。1.2 在一个截面上碰撞的概率高,但调用量越大分布越均匀,而且按概率使用权重后也比较均匀,有利于动态调整提供者权重。1.3 源码分析packag...

2018-08-27 16:26:32 185

转载 Redis 的key设计技巧&&缓存问题

Redis 的key设计技巧1.1 原主键列进行查询比照关系数据库的设计: 1): 把表名转换为key前缀. 2): 第2段放置用于区分区key的字段–对应mysql中的主键的列名,如userid 3): 第3段放置主键值,如2,3,4…., a , b ,c 4): 第4段,写要存储的列名 对该表设置redis的key如下设计: 1.2原非主键列进行查询...

2018-08-27 15:46:43 10236

原创 redis查看内存的使用情况&&性能分析

我们可以通过redis-cli 连接上redis ,例如 : redis-cli -h 127.0.0.1 -p 6379 连接上redis,然后通过INFO查看redis的一些信息。我们可以查看一些INFO信息,如查看redis大的内存使用情况:info memory ,查看redis当前客户端的连接情况: redis client 。其中发现了一个不错的博客:查看http://www.cnbl...

2018-08-27 14:49:47 7085

转载 如何合理设置线程池大小

接着上一篇探讨线程池留下的尾巴,如何合理的设置线程池大小。 要想合理的配置线程池的大小,首先得分析任务的特性,可以从以下几个角度分析:任务的性质:CPU密集型任务、IO密集型任务、混合型任务。任务的优先级:高、中、低。任务的执行时间:长、中、短。任务的依赖性:是否依赖其他系统资源,如数据库连接等。性质不同的任务可以交给不同规模的线程池执...

2018-08-26 11:44:51 1186

转载 理解线程池的原理

1.关于线程池线程池的技术背景在面向对象编程中,创建和销毁对象是很费时间的,因为创建一个对象要获取内存资源或者其它更多资源。在Java中更是如此,虚拟机将试图跟踪每一个对象,以便能够在对象销毁后进行垃圾回收。所以提高服务程序效率的一个手段就是尽可能减少创建和销毁对象的次数,特别是一些很耗资源的对象创建和销毁。如何利用已有对象来服务就是一个需要解决的关键问题,其...

2018-08-26 10:06:39 197

转载 SpringMVC工作原理

SpringMVC的工作原理图:SpringMVC原理1、用户发送请求至前端控制器DispatcherServlet。 2、 DispatcherServlet收到请求调用HandlerMapping处理器映射器。 3、 处理器映射器找到具体的处理器(可以根据xml配置、注解进行查找),生成处理器对象及处理器拦截器(如果有则生成)一并返回给DispatcherServlet。 4...

2018-08-21 12:37:07 177

转载 redis复习(带着问题复习)

复习要点本文围绕以下几点进行阐述 1、为什么使用redis 2、使用redis有什么缺点 3、单线程的redis为什么这么快 4、redis的数据类型,以及每种数据类型的使用场景 5、redis的过期策略以及内存淘汰机制 6、redis和数据库双写一致性问题 7、如何应对缓存穿透和缓存雪崩问题 8、如何解决redis的并发竞争问题1、为什么使用redis分析:博主觉...

2018-08-21 11:17:16 621

转载 Linux中rz、sz命令实现方便的上传下载文件

在linux中rz 和 sz 命令允许开发板与主机通过串口进行传递文件了,下面我们就来简单的介绍一下rz 和 sz 命令实例sz命令用途说明:sz命令是利用ZModem协议来从Linux服务器传送文件到本地,一次可以传送一个或多个文件。相对应的从本地上传文件到Linux服务器,可以使用rz命令。常用参数-a 以文本方式传输(ascii)。-b 以二进制方式传输(binary...

2018-08-08 10:15:38 10243 1

原创 final关键字

1)final修饰的实例变量,保存在堆区中,在定义时必须初始化,不能被修改2)final修饰的静态变量,存储在方法区,不能被修改3)final修饰的实例方法,不能被子类重写4)final修饰的类不能被继承5)final修饰局部变量,一旦初始化后就不能被修改6)final修饰方法的形参,在方法体中不能被修改7)final修饰引用类型变量,这个引用类型的变量不能指向其他...

2018-08-04 09:42:33 200

原创 内部类

总:static修饰的都是静态的,都和对象没有关系一、静态变量1)使用static关键字可以修饰成员变量,称为静态变量 2)实例变量属于某个具体的对象,静态变量不属于某个变量,整个类所共享 3)通过一个对象修改了静态变量,再通过其他对象访问静态变量时就是修改之后的值 4)静态变量存储在方法区中,所有对象都可以访问到它 5)实例变量是在创建对象时在堆中分配存储空间,对象被垃圾回收...

2018-07-29 18:23:41 157

原创 匿名对象

一、概念1.有名字的对象 Person p1 = new Person(); p1是对象名,new Person()是堆中真正的对象,通过对象名p1访问堆中的对象 2.没有名字的对象,就是匿名对象 new Person() 就是匿名对象二、应用场景1)如果某个对象的方法,就使用一次,以后就再也不用这个对象了,可以使用匿名对象 例如: 1.通过匿名对象调用实例方法 Ca...

2018-07-29 15:18:50 255

转载 查看cpu过高shell脚本

#!/bin/bash## 当JVM占用CPU特别高时,查看CPU正在做什么# 可输入两个参数:1、pid Java进程ID,必须参数 2、打印线程ID上下文行数,可选参数,默认打印10行#pid=$1if test -z $pidthen echo "pid can not be null!" exitelse echo "checking pid($pid)"fi...

2018-07-29 14:05:03 1499 1

翻译 机器学习(一)

机器学习,就是一堆算法(几百到上千)分为分类算法和聚类算法 分类算法:有先验知识 聚类算法:没有先验知识监督学习和非监督学习监督学习:有先验知识 非监督学习:没有先验知识 半监督学习:一部分样本数据有先验知识,一部分没有先验知识机器学习的应用步骤1)需求分析 2)收集数据 3)探索数据特征 4)提取数据特征并建模 5)开发代码(常用语言:R语言,Python...

2018-07-21 19:51:11 153

翻译 Python系列(一)

python简介需要安装,配置环境变量 2.x版本和3.x版本不兼容 1.python是解释型语言,不需要编译 2.python是交互式语言 3.python是面向对象的语言 4.python支持广泛的应用程序开发,文字处理 WWW浏览器 游戏开发工具文本编辑器 pycharmpython依赖库管理工具pippip是一个安装和管理python包的工具 pi...

2018-07-21 19:36:30 166

转载 java发起http请求获取返回的Json对象

/** * Created by david on 2017-7-5. */import com.google.gson.JsonObject;import com.google.gson.JsonParser;import java.io.BufferedInputStream;import java.io.BufferedReader;import java.io.ByteAr...

2018-07-15 13:59:36 7196

转载 超详细Nginx简易教程

概述什么是nginx?Nginx (engine x) 是一款轻量级的Web 服务器 、反向代理服务器及电子邮件(IMAP/POP3)代理服务器。什么是反向代理?反向代理(Reverse Proxy)方式是指以代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给internet上请求连接的客户端,此时代理服务器对外...

2018-07-14 18:08:59 254

转载 财务平台亿级数据量毫秒级查询优化之elasticsearch原理解析

财务平台进行分录分表以后,随着数据量的日渐递增,业务人员对账务数据的实时分析响应时间越来越长,体验性慢慢下降,之前我们基于mysql的性能优化做了一遍,可以说基于mysql该做的优化已经基本上都做了,本次是基于elasticsearch对其做进一步的性能优化正文 1mysql索引原理基于mysql最常用也最直接有效的性能优化也就是添加索引。mysql索引是怎么实现的呢?数据库最基本的...

2018-07-14 17:02:23 15795

转载 centos升级glibc(升级到 2.17版)

1、原先的系统glibc库的版本是2.12,需要升级到2.17版本。下载地址:http://ftp.gnu.org/gnu/glibc/glibc-2.17.tar.gz 这里可以选择你所需要的版本。2、安装部署[root@kafzook1 common]# tar -xf glibc-2.17.tar.gz[root@kafzook1 common]# cd gli...

2018-07-08 13:05:12 1920

转载 Linux Shell多进程并发以及并发数控制

1. 基础知识准备1.1. linux后台进程Unix是一个多任务系统,允许多用户同时运行多个程序。shell的元字符&提供了在后台运行不需要键盘输入的程序的方法。输入命令后,其后紧跟&字符,该命令就会被送往到linux后台执行,而终端又可以继续输入下一个命令了。 比如:...

2018-06-30 18:22:01 6134

原创 JAVA8新特性各种用法

访问接口的默认方法Lambda表达式中是无法访问到默认方法的,以下代码将无法编译: 复制代码 代码如下:Formula formula = (a) -> sqrt( a * 100); Built-in Functional InterfacesJDK 1.8 API包含了很多内建的函数式接口,在老Java中常用到的比如Comparator或者Runnable接口,这些接口...

2018-04-26 09:05:03 1137

原创 架构师能力

技术深度有没有看过JDK源码,看过的类实现原理是什么。 HTTP协议 TCP协议 一致性Hash算法 JVM如何加载字节码文件 类加载器如何卸载字节码 IO和NIO的区别,NIO优点 Java线程池的实现原理,keepAliveTime等参数的作用。 HTTP连接池实现原理 数据库连接池实现原理 数据库的实现原理技术框架看过哪些开源框架的源码 为什么要用Red...

2018-04-26 08:43:41 356 1

转载 MySQL索引原理及慢查询优化

MySQL凭借着出色的性能、低廉的成本、丰富的资源,已经成为绝大多数互联网公司的首选关系型数据库。虽然性能出色,但所谓“好马配好鞍”,如何能够更好的使用它,已经成为开发工程师的必修课,我们经常会从职位描述上看到诸如“精通MySQL”、“SQL语句优化”、“了解数据库原理”等要求。我们知道一般的应用系统,读写比例在10:1左右,而且插入操作和一般的更新操作很少出现性能问题,遇到最多的,也是最容易出问...

2018-04-23 14:42:04 235

原创 Nginx 主要应用场景

前言本文只针对Nginx在不加载第三方模块的情况能处理哪些事情,由于第三方模块太多所以也介绍不完,当然本文本身也可能介绍的不完整,毕竟只是我个人使用过和了解到过得。所以还请见谅,同时欢迎留言交流Nginx能做什么1.反向代理2.负载均衡3.HTTP服务器(包含动静分离)4.正向代理以上就是我了解到的Nginx在不依赖第三方模块能处理的事情,下面详细说明每种功能怎么做...

2018-04-23 14:34:45 205

原创 抢红包算法

发出一个固定金额的红包,由若干个人来抢,需要满足哪些规则?1.所有人抢到金额之和等于红包金额,不能超过,也不能少于。 2.每个人至少抢到一分钱。 3.要保证所有人抢到金额的几率相等。方法1:二倍均值法剩余红包金额为M,剩余人数为N,那么有如下公式:每次抢到的金额 = 随机区间 (0, M / N X 2)这个公式,保证了每次随机金额的平均值是相等的,不会因为抢红包的先后顺序...

2018-04-23 14:28:26 1646

原创 重SQL开发和重 Java开发比较

先看一个例子吧。用经典的 Controller Service DAO 开发模式描述。city表 city_name city_code student表 student_name city_code student_id score表 student_id score 需求: 查询出每个学生所在的城市名以及分数展示到前端。重SQL模式class Contro...

2018-04-11 14:53:07 2599

空空如也

空空如也

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

TA关注的人

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