自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

适恒

路漫漫其修远兮,吾将上下而求索

  • 博客(98)
  • 资源 (12)
  • 收藏
  • 关注

转载 关于IDEA不能实时编译的一个临时解决办法

首先是我想找的是自动编译,所以发现了idea 12 的一个新特性,make project automatically 据官方说设置了是可以自动编译的,但是我自己本地设置了,测试不成功,也不知道是咋整的,没有更多的信息,接下来我用make project automatically作为关键词搜索,发现老外也有关于自动编译的问题。。虽然他成没成功我不知道,但是他最后给我们提供了一个 录制宏的 解决方...

2019-05-20 11:03:27 829

原创 springboot项目远程debugger调试模式

springboot项目设置远程调试模式,并配合idea远程调试使用第一步:在远程服务器上启动springboot项目的jar包时设置成可以远程调试的参数命令 java -jar -Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=8000 xxx.jar -Dspring.profil...

2019-05-07 20:46:16 1750

原创 redis集群存储机制

redis说明: 一: 首先,在redis的每一个节点上,都有这么两个东西,一个是插槽(slot)可以理解为是一个可以存储两个数值的一个变量这个变量的取值范围是:0-16383。还有一个就是cluster我个人把这个cluster理解为是一个集群管理的插件。当你往Redis Cluster中加入一个Key时,redis会根据crc16的算法得出一个结果,然后把结果对16384 求余...

2019-04-27 13:51:01 4772 1

原创 springboot2.0.5+jpa多数据源配置and注解形式多数据源切换

1.首先配置数据源连接总装类DataSourcesConfigpackage com.cpic.dataSources;import org.springframework.beans.factory.annotation.Qualifier;import org.springframework.boot.autoconfigure.jdbc.DataSourceProperties;...

2018-10-18 13:50:25 3780

原创 Linux-系统物理CPU个数、CPU核数

Linux-系统CPU个数、核心数、线程数

2022-12-07 14:28:53 1568 1

原创 MySql中mvcc学习记录

mvcc机制

2022-08-07 15:50:00 211

原创 Tomcat类加载机制

图解Tomcat类加载机制(阿里面试题)_xiaobao5214的博客-CSDN博客双亲委派模型要求除了顶层的启动类加载器之外,其余的类加载器都应当由自己的父类加载器加载。Tomcat的类加载机制是违反了双亲委托原则的,对于一些未加载的非基础类(Object,String等),各个web应用自己的类加载器(WebAppClassLoader)会优先加载,加载不到时再交给commonClassLoader走双亲委托。1、既然 Tomcat 不遵循双亲委派机制,那么如果我自己定义一个恶意

2021-09-20 12:17:41 287

原创 maven依赖冲突

目录一:依赖冲突的表现二:依赖冲突发生的原因三:依赖原则优先级四:依赖冲突排查五:Maven命令排查六:Maven helper命令排查七:解决方案一:依赖冲突的表现例1:当服务启动或者调用发生如下异常时,NoSuchMethodError,ClassNotFoundException 等。则一般是因为jar包冲突引起的,如最近项目中遇到的一个问题,就是因为com.alipay.common包发生了版本冲突,项目中实际编译打包的com.alipay.common:tr

2021-06-26 16:24:05 924

转载 多线程之CompletableFuture使用

一、简单介绍CompletableFuture是java8新增的并发工具类,继承了FutureTask的同步任务的特点,同时新增了异步调用的特点(其中异步的方法名称都带有Async),换而言之同步获取方法的返回值的方式可以用CompletableFuture完成,与此同时,想要异步获取方法的返回值也可以使用CompletableFuture来完成。异步带Async,并且底层执行的线程由ForkJoinPool支持。于此同时还多了异常处理(执行任务的时候可能会发生异常,以前使用FutureTask的

2021-06-22 10:19:56 3533

转载 MVCC实现原理

大纲前提概要什么是MVCC 什么是当前读和快照读?当前读,快照读和MVCC的关系MVCC实现原理隐式字段 undo日志Read View(读视图) 整体流程MVCC相关问题RR是如何在RC级的基础上解决不可重复读的? RC,RR级别下的InnoDB快照读有什么不同?前提概要什么是MVCCMVCC,全称Multi-Version Concurrency Control,即多版本并发控制。MVCC是一种并发控制的方法,一般在数据库管理系统中,实现对数据库的并发访.

2021-06-20 17:13:07 153

原创 mysql日志

一: mysql日志日志是 mysql 数据库的重要组成部分,记录着数据库运行期间各种状态信息。mysql日志主要包括错误日志、查询日志、慢查询日志、事务日志、二进制日志几大类。 在这其中,我们重点需要关注的是 binlog (主从同步 ) redo log(重做日志) undo log(回滚日志),接下来详细介绍这三种日志。逻辑日志和物理日志首先按照日志的记录方式分为:逻辑日志和物理日志逻辑日志:可以简单理解为记录的就是sql语句 。 物理日志:mysql 数据最终是保存在数据页中的,物

2021-06-20 16:00:39 4613

原创 IDEA配置gradle构建spring源码

1、首先下载spring源码2、下载gradle3、mac安装gradle安装gradle 打开电脑终端 vim ~./bash_profile输入 export GRADLE_HOME =/Users/qijixiang/Documents/java/gradle-6.8.3 export PATH=$PATH:$GRADLE_HOME/bin退出 wq保存source ~/.bash_profile 4、idea配置gradle...

2021-02-27 16:36:14 317

原创 使用Redis Key失效事件实现定时任务

1、业务场景在开发中我们可能会遇到下面这样的场景,比如: 当一个用户下单之后后一段时间不支付订单会自动关闭,但每个订单的创建时间又不一样怎么保证30分钟不支付就取消订单呢? 当用户的优惠券或者积分等等快要过期的时候需要提前一天或者几个小时或者30分钟的时候发消息提醒用户,或者去做一些其他的业务处理 那么针对上述场景我们怎么去实现呢?估计很多人首先会想到用定时任务每隔一段时间去执行任务判断吧,这种方式完全可行,但是如果是需要比较精确的提醒呢?就比如我就需要过期前一个小时或者30分钟的时候去提醒,那怎

2020-05-30 18:12:02 1572

原创 JVM性能分析&故障排查

1、Jps查看进程首先查看jps都用哪些命令,使用jps -help帮助查看命令,这样就不用死记硬背了,如下所示: 首先用jps命令查看正在运行中的进程的pid等。 jps -l 输出主类的全名,如果进程执行的是 Jar 包,输出 Jar 路径。 jps -v:输出虚拟机进程启动时 JVM 参数。(经常使用,类似ps - ef |grep java 但比这个显示更清晰) jps -m:输出传递给 Java 进程 main() 函数的参数。 2、jstat性能分析(...

2020-05-13 15:10:40 1098

原创 HashMap插入数据原理分析

在JDK1.7中,HASHMAP是由数组+链表实现的,原理图如下:HashMap map = new HashMap(); // 伪初始化map.put("键","值"); // 真初始化1、HashMap初始化操作HashMap的构造方法在执行时会初始化一个数组table,大小为0。 HashMap的PUT方法在执行时首先会判断table的大小是否为0,如果为0则会进行真初...

2020-05-07 18:33:20 2297

原创 jvm性能优化到底在优化什么?

1、jvm中的stop the world我们要知道jvm中的stop the world是指什么?我们都知道当程序运行的时候,创建的对象等数据是放在jvm堆内存上的 当堆内存满了之后,jvm是会进行垃圾回收的,就是当jvm进行垃圾回收时会发生stop the world会停止其他的工作线程 不能jvm一边回收着垃圾,工作线程那边创建着对象去占用内存吧,所以stw是会导致系统对用户来说产生...

2020-05-07 10:35:14 627

原创 windows安装Mongodb服务

1、MongoDB 下载MongoDB 提供了可用于 32 位和 64 位系统的预编译二进制包,你可以从MongoDB官网下载安装,MongoDB 预编译二进制包下载地址:https://www.mongodb.com/download-center/community2、我这里下载的是3、解压改名之后如上图所示mongodb-4.2.64、在mongodb下新建data文件夹...

2020-04-28 18:42:14 211

原创 SpringBean的生命周期

1、注意:即使你定义了ApplicationContextAware 接口,但是有时候并不会调用,这要根据你的IoC 容器来决定。我们知道, Spring IoC 容器最低的要求是实现BeanFactory 接口,而不是实现ApplicationContext 接口。对于那些没有实现ApplicationCont巳xt 接口的容器,在生命周期对应的ApplicationContextAw...

2020-04-27 18:18:22 271 1

原创 HTTPS原理

大家都知道 HTTPS 比 HTTP 安全,也听说过与 HTTPS 协议相关的概念有 SSL 、非对称加密、 CA 证书等。 但对于以下灵魂三拷问可能就答不上了:为什么用了 HTTPS 就是安全的?HTTPS 的底层原理如何实现?用了 HTTPS 就一 定安全吗?HTTPS 的实现原理: 大家可能都听说过 HTTPS 协议之所以是安全的是因为 HTTPS 协...

2020-04-27 13:55:34 217 1

原创 JConsole连接远程服务器方法

jconsole远程连接,必须配置JMX连接参数1、linux 启动项目时,添加参数java -Djava.rmi.server.hostname=10.160.13.111 #远程服务器ip,即本机ip-Dcom.sun.management.jmxremote #允许JMX远程调用-Dcom.sun.management.jmxremote.port=3214 #自定义jm...

2020-04-26 17:54:33 3652

原创 Eureka的多级缓存机制

1、多级缓存流程图参考2、

2020-04-15 16:37:44 3522 3

原创 Redis中存值是Hash冲突怎么解决的

Redis 中的 Hash和 Java的 HashMap 更加相似,都是数组+链表的结构.当发生 hash 碰撞时将会把元素追加到链表上 我们先来了解下 hash 的内部结构.第一维是数组,第二维是链表.组成一个 hashtable. 在 Java 中 HashMap 扩容是个很耗时的操作,需要去申请新的数组,扩容的成本并不低,因为需要遍历一个时间复杂度为O(n)的数组,并且为其中的每个enr...

2020-04-14 11:35:15 7606

转载 redis的zset结构跳表

跳表:为什么 Redis 一定要用跳表来实现有序集合?上几篇主要是学习二分查找算法,但是二分查找底层依赖的是数组随机访问的特性,所以只能用数组来实现。如果数据存储在链表中,就没办法使用二分查找了吗?此时跳表出现了,跳表(Skip list)实际上就是在链表的基础上改造生成的。跳表是一种各方面性能都比较优秀的动态数据结构,可以支持快速的插入、删除、查找操作,写起来也不复杂,甚至...

2020-04-10 18:42:57 7087 2

原创 mysql查询过程

1、mysql基本架构以及查询流程 MySQL拿到一个查询请求后,会先到查询缓存看看,之前是不是执行过这条语句。 只要是你之前执行过的语句,都会在内存里面用key-value形式存储着。查询的时候就会拿着语句先去缓存中查询,如果能够命中就返回缓存的value,如果不命中就执行后面的阶段。 只要对表有任何的更新,这个表的所有查询缓存就会全部被清空 缓存在MySQL8....

2020-04-10 15:24:01 428

原创 核心线程数的设置

1.https://blog.csdn.net/qq_17045385/article/details/798208472.https://www.cnblogs.com/dangjunhui/p/5481435.html

2020-04-08 00:03:24 1777

原创 redis 哨兵机制

1,什么是redis sentinel(哨兵)哨兵在redis集群架构中是一个非常重要的组件,其主要功能有下面这些:集群监控,即时刻监控着redis的master和slave进程是否是在正常工作。 故障自动转移,如果redis master 节点宕机了的话,它就会将请求转到slave 节点上,slave升为master。 消息通知,就是说当它发现有redis实例有故障的话,就会发送消息...

2020-04-06 16:27:09 358

转载 Kafka架构原理

1、篇章介绍最终大家会掌握 Kafka 中最重要的概念,分别是 Broker、Producer、Consumer、Consumer Group、Topic、Partition、Replica、Leader、Follower,这是学会和理解 Kafka 的基础和必备内容。2、定义:Kafka 是一个分布式的基于发布/订阅模式的消息队列(Message Queue),主要应用与大数据实时处理领...

2020-03-16 11:35:40 292

原创 各种消息中间件对比与总结

一:消息中间件ActiveMq,RabbitMq,RocketMq,Kafka优劣对比面试时可以从单机吞吐量,时效性,架构可靠性,消息可靠性,支持的功能等方面去讲 ActiveMq RabbitMq RocketMq Kafka 单机吞吐量 每秒万级 每秒万级 10万级 10万级 时效性 毫秒级 微秒级 毫秒级 ...

2020-03-15 22:17:21 3174

原创 nginx配置文件nginx.conf之server及server_name的意义

1.server { listen ip:端口; # 当listen出现了ip时,server_name就失去了意义。所以不配置也罢了。 #server_name 域名; access_log 日志地址1; error_log 日志地址2; location / {...

2020-03-14 16:28:22 1633

原创 统一异常处理介绍及实战

背景软件开发过程中,不可避免的是需要处理各种异常,就我自己来说,至少有一半以上的时间都是在处理各种异常情况,所以代码中就会出现大量的try {...} catch {...} finally {...}代码块,不仅有大量的冗余代码,而且还影响代码的可读性。比较下面两张图,看看您现在编写的代码属于哪一种风格?然后哪种编码风格您更喜欢?丑陋的 try catch 代码块...

2020-03-14 16:27:39 569

原创 Docker学习

1、可以先执行 root $ docker exec -it 0b4d0ae681c7bash ,通过exec可以进入一个运行的容器。这样进去nginx容器里面。因为nginx镜像是建立在linux上的。所有bash在nginx容器是可用的。2、进入nginx容器内部,你就可以同ls,cat等等去看nginx容器内部的文件系统了。这个方式也是适用于当你想知道tomcat容器,要拷贝本地文件到...

2020-03-13 17:18:03 139

转载 Docker入门实战

Host(Docker 宿主机)安装了Docker程序,并运行了Docker daemon的主机。Docker daemon(Docker 守护进程):运行在宿主机上,Docker守护进程,用户通过Docker client(Docker命令)与Docker daemon交互。Images(镜像):将软件环境打包好的模板,用来创建容器的,一个镜像可以创建多个容器。Contain...

2020-03-13 11:59:26 132

转载 CAP和BASE理论

1. CAP理论2000年7月,加州大学伯克利分校的Eric Brewer教授在ACM PODC会议上提出CAP猜想。2年后,麻省理工学院的Seth Gilbert和Nancy Lynch从理论上证明了CAP。之后,CAP理论正式成为分布式计算领域的公认定理。CAP理论为:一个分布式系统最多只能同时满足一致性(Consistency)、可用性(Availability)和分区容错性(Par...

2020-03-12 16:10:30 176

原创 synchronized/volatile/ReentrantLock/ThreadLocal介绍

1、https://blog.csdn.net/qq_38545713/article/details/800354822、https://blog.csdn.net/qq_38545713/article/details/797791633、总结一下

2020-03-10 18:39:43 330

原创 rocketmq如何保证消息可靠性

1、可以从三个方面来分析rocket的消息可靠性2、Producer端消息丢失首先消息分为普通消息(同步,异步,单向发送),定时延时消息,顺序消息(不能保证全局有序,只能保证同一个quen中有序),事物消息 producer端防止消息发送失败,可以采用同步阻塞式的发送(也就是发送同步消息),同步的检查Brocker返回的状态是否持久化成功,发送超时或者失败,则会默认重试2次,rocker...

2020-03-09 18:18:40 4552

原创 liunx命令查看cpu使用率和负载情况

1、先top -c查看资源使用情况第一行tasks表示第一行: 系统时间 + 系统运行时间 + 几个用户 + 1/5/15分钟系统平均负载第二行:进程总数(total) + 正在运行进程数(running) + 睡眠进程数(sleeping) + 停止的进程数(stopped)+ 僵尸进程数(zombie)第三行:用户空间CPU占比(us) + 内核空间CPU占比(sy...

2020-03-09 16:07:41 2389

原创 mysql分区表

1、当mysql单表的数据库过大时,数据库的访问速度会下降,“数据量大”问题的常见解决方案是“水平切分”2、mysql常见的水平切分方式有哪些?答:分库分表,分区表3、什么是mysql的分库分表?答:把一个很大的库(表)的数据分到几个库(表)中,每个库(表)的结构都相同,但他们可能分布在不同的mysql实例,甚至不同的物理机器上,以达到降低单库(表)数据量,提高访问性能的目的。分库分表往往...

2020-03-04 16:21:32 246

原创 计算机网络模型

1、OSI7层网络模型,自底向上:物理层,数据链路层,网络层,传输层,会话层,表示层,应用层2、tcp/ip4层网络模型,自底向上:数据链路层(以太网协议),网络层(ip协议),传输层(tcp协议),应用层(http协议)3、两台计算机是如何通信的呢?首先两台计算机想要通信最底层都是通过以太网协议用mac地址来确定电脑,而ip地址的作用其实就是为了寻找接收方电脑的mac地址才引入的ip...

2020-03-04 11:19:29 1214

原创 二叉树总结

1、二叉查找树特点:二叉查找树的特点就是左子树的节点值比父亲节点小,而右子树的节点值比父亲节点大。如图: 查找:基于二叉查找树的这种特点,我们在查找某个节点的时候,可以采取类似于二分查找的思想,快速找到某个节点。 时间复杂度:n 个节点的二叉查找树,正常的情况下,查找的时间复杂度为O(logn)。之所以说是正常情况下,是因为二叉查找树有可能出现一种极端的情况,例如: 这种情况也...

2020-02-24 17:04:20 607

原创 面试题收集

1、spring 启动时bean循环依赖原理和如何解决2、spring boot和tomcat的启动流程

2020-02-21 22:40:56 120

注解配置多数据源代码.zip

注解形式多数据源动态切换代码,数据库读写分离,连接多种数据库切换,亲测有效

2019-05-31

分布式任务调度框架elastic-job-lite

elastic-job-lite是一款当当网开源的分布式任务调度demo,idea导入亲测可用

2019-05-18

钉钉生成用户名默认头像01

当用户没有上传头像时,像钉钉app一样可以根据用户名字生成用户名后两位的默认头像,颜色大小都可在工具类里自定义,需要的jar包和操作说明文档里面有说明,此代码是java代码,其他语言的谨慎下载

2019-04-28

使用递归循环读取省市区json文件数据,并保存到数据库中

使用递归方法循环读取省市区的json文件数据,并保存到数据库中,经测试可以直接使用,代码里包含省市区的json文件,递归读取方法,可用作系统省市区数据初始化作用

2017-12-01

钉钉生成用户名默认头像

当用户没有上传头像时,像钉钉app一样可以根据用户名字生成用户名后两位的默认头像,颜色大小都可在工具类里自定义

2017-12-01

java微信企业付款接口

java微信企业付款接口,代码夹示例

2017-08-14

solr+IK分词集成tomcat实现全文检索

压缩包内含有solr+ik如何配置的详细介绍以及solr+ik的安装包,省去了自己去找地址下载的麻烦,经测试使用完全可以在电商电商项目中实现全文检索

2017-06-30

上传文件时截取首页图片+上传文件到ftp文件服务器

可以实现像道客巴巴网站一样实现上传文件的同时截取文件的首页图片保存为缩略图,用以展示在页面上,上传文件到ftp服务器的工具类

2017-06-30

solr+IK分词集成tomcat实现电商项目的全文检索

压缩包内含有solr+ik如何配置的详细介绍以及solr+ik的包,省去了自己去找地址下载的麻烦,经测试使用完全可以在电商电商项目中实现全文检索

2017-06-30

Java短信验证+demo

Java短信验证码的调用接口以及案例

2017-06-30

solr全文检索+IK分词器

solr全文检索整合ik中文分析器的配置实现搜索引擎,已在项目中使用过,可以共用

2017-06-30

Base64和AjaxUpload上传文件代码实例

文档讲解两种上传方式的不通点,以及上传的源代码示例

2017-06-10

空空如也

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

TA关注的人

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