- 博客(98)
- 资源 (12)
- 收藏
- 关注
转载 关于IDEA不能实时编译的一个临时解决办法
首先是我想找的是自动编译,所以发现了idea 12 的一个新特性,make project automatically 据官方说设置了是可以自动编译的,但是我自己本地设置了,测试不成功,也不知道是咋整的,没有更多的信息,接下来我用make project automatically作为关键词搜索,发现老外也有关于自动编译的问题。。虽然他成没成功我不知道,但是他最后给我们提供了一个 录制宏的 解决方...
2019-05-20 11:03:27 881
原创 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 1803
原创 redis集群存储机制
redis说明: 一: 首先,在redis的每一个节点上,都有这么两个东西,一个是插槽(slot)可以理解为是一个可以存储两个数值的一个变量这个变量的取值范围是:0-16383。还有一个就是cluster我个人把这个cluster理解为是一个集群管理的插件。当你往Redis Cluster中加入一个Key时,redis会根据crc16的算法得出一个结果,然后把结果对16384 求余...
2019-04-27 13:51:01 5013 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 3854
原创 Tomcat类加载机制
图解Tomcat类加载机制(阿里面试题)_xiaobao5214的博客-CSDN博客双亲委派模型要求除了顶层的启动类加载器之外,其余的类加载器都应当由自己的父类加载器加载。Tomcat的类加载机制是违反了双亲委托原则的,对于一些未加载的非基础类(Object,String等),各个web应用自己的类加载器(WebAppClassLoader)会优先加载,加载不到时再交给commonClassLoader走双亲委托。1、既然 Tomcat 不遵循双亲委派机制,那么如果我自己定义一个恶意
2021-09-20 12:17:41 341
原创 maven依赖冲突
目录一:依赖冲突的表现二:依赖冲突发生的原因三:依赖原则优先级四:依赖冲突排查五:Maven命令排查六:Maven helper命令排查七:解决方案一:依赖冲突的表现例1:当服务启动或者调用发生如下异常时,NoSuchMethodError,ClassNotFoundException 等。则一般是因为jar包冲突引起的,如最近项目中遇到的一个问题,就是因为com.alipay.common包发生了版本冲突,项目中实际编译打包的com.alipay.common:tr
2021-06-26 16:24:05 1144
转载 多线程之CompletableFuture使用
一、简单介绍CompletableFuture是java8新增的并发工具类,继承了FutureTask的同步任务的特点,同时新增了异步调用的特点(其中异步的方法名称都带有Async),换而言之同步获取方法的返回值的方式可以用CompletableFuture完成,与此同时,想要异步获取方法的返回值也可以使用CompletableFuture来完成。异步带Async,并且底层执行的线程由ForkJoinPool支持。于此同时还多了异常处理(执行任务的时候可能会发生异常,以前使用FutureTask的
2021-06-22 10:19:56 3828
转载 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 208
原创 mysql日志
一: mysql日志日志是 mysql 数据库的重要组成部分,记录着数据库运行期间各种状态信息。mysql日志主要包括错误日志、查询日志、慢查询日志、事务日志、二进制日志几大类。 在这其中,我们重点需要关注的是 binlog (主从同步 ) redo log(重做日志) undo log(回滚日志),接下来详细介绍这三种日志。逻辑日志和物理日志首先按照日志的记录方式分为:逻辑日志和物理日志逻辑日志:可以简单理解为记录的就是sql语句 。 物理日志:mysql 数据最终是保存在数据页中的,物
2021-06-20 16:00:39 4981
原创 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 363
原创 使用Redis Key失效事件实现定时任务
1、业务场景在开发中我们可能会遇到下面这样的场景,比如: 当一个用户下单之后后一段时间不支付订单会自动关闭,但每个订单的创建时间又不一样怎么保证30分钟不支付就取消订单呢? 当用户的优惠券或者积分等等快要过期的时候需要提前一天或者几个小时或者30分钟的时候发消息提醒用户,或者去做一些其他的业务处理 那么针对上述场景我们怎么去实现呢?估计很多人首先会想到用定时任务每隔一段时间去执行任务判断吧,这种方式完全可行,但是如果是需要比较精确的提醒呢?就比如我就需要过期前一个小时或者30分钟的时候去提醒,那怎
2020-05-30 18:12:02 1656
原创 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 1168
原创 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 2410
原创 jvm性能优化到底在优化什么?
1、jvm中的stop the world我们要知道jvm中的stop the world是指什么?我们都知道当程序运行的时候,创建的对象等数据是放在jvm堆内存上的 当堆内存满了之后,jvm是会进行垃圾回收的,就是当jvm进行垃圾回收时会发生stop the world会停止其他的工作线程 不能jvm一边回收着垃圾,工作线程那边创建着对象去占用内存吧,所以stw是会导致系统对用户来说产生...
2020-05-07 10:35:14 681
原创 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 257
原创 SpringBean的生命周期
1、注意:即使你定义了ApplicationContextAware 接口,但是有时候并不会调用,这要根据你的IoC 容器来决定。我们知道, Spring IoC 容器最低的要求是实现BeanFactory 接口,而不是实现ApplicationContext 接口。对于那些没有实现ApplicationCont巳xt 接口的容器,在生命周期对应的ApplicationContextAw...
2020-04-27 18:18:22 308 1
原创 HTTPS原理
大家都知道 HTTPS 比 HTTP 安全,也听说过与 HTTPS 协议相关的概念有 SSL 、非对称加密、 CA 证书等。 但对于以下灵魂三拷问可能就答不上了:为什么用了 HTTPS 就是安全的?HTTPS 的底层原理如何实现?用了 HTTPS 就一 定安全吗?HTTPS 的实现原理: 大家可能都听说过 HTTPS 协议之所以是安全的是因为 HTTPS 协...
2020-04-27 13:55:34 248 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 3783
原创 Redis中存值是Hash冲突怎么解决的
Redis 中的 Hash和 Java的 HashMap 更加相似,都是数组+链表的结构.当发生 hash 碰撞时将会把元素追加到链表上 我们先来了解下 hash 的内部结构.第一维是数组,第二维是链表.组成一个 hashtable. 在 Java 中 HashMap 扩容是个很耗时的操作,需要去申请新的数组,扩容的成本并不低,因为需要遍历一个时间复杂度为O(n)的数组,并且为其中的每个enr...
2020-04-14 11:35:15 7868
转载 redis的zset结构跳表
跳表:为什么 Redis 一定要用跳表来实现有序集合?上几篇主要是学习二分查找算法,但是二分查找底层依赖的是数组随机访问的特性,所以只能用数组来实现。如果数据存储在链表中,就没办法使用二分查找了吗?此时跳表出现了,跳表(Skip list)实际上就是在链表的基础上改造生成的。跳表是一种各方面性能都比较优秀的动态数据结构,可以支持快速的插入、删除、查找操作,写起来也不复杂,甚至...
2020-04-10 18:42:57 7210 2
原创 mysql查询过程
1、mysql基本架构以及查询流程 MySQL拿到一个查询请求后,会先到查询缓存看看,之前是不是执行过这条语句。 只要是你之前执行过的语句,都会在内存里面用key-value形式存储着。查询的时候就会拿着语句先去缓存中查询,如果能够命中就返回缓存的value,如果不命中就执行后面的阶段。 只要对表有任何的更新,这个表的所有查询缓存就会全部被清空 缓存在MySQL8....
2020-04-10 15:24:01 472
原创 核心线程数的设置
1.https://blog.csdn.net/qq_17045385/article/details/798208472.https://www.cnblogs.com/dangjunhui/p/5481435.html
2020-04-08 00:03:24 1852
原创 redis 哨兵机制
1,什么是redis sentinel(哨兵)哨兵在redis集群架构中是一个非常重要的组件,其主要功能有下面这些:集群监控,即时刻监控着redis的master和slave进程是否是在正常工作。 故障自动转移,如果redis master 节点宕机了的话,它就会将请求转到slave 节点上,slave升为master。 消息通知,就是说当它发现有redis实例有故障的话,就会发送消息...
2020-04-06 16:27:09 466
转载 Kafka架构原理
1、篇章介绍最终大家会掌握 Kafka 中最重要的概念,分别是 Broker、Producer、Consumer、Consumer Group、Topic、Partition、Replica、Leader、Follower,这是学会和理解 Kafka 的基础和必备内容。2、定义:Kafka 是一个分布式的基于发布/订阅模式的消息队列(Message Queue),主要应用与大数据实时处理领...
2020-03-16 11:35:40 311
原创 各种消息中间件对比与总结
一:消息中间件ActiveMq,RabbitMq,RocketMq,Kafka优劣对比面试时可以从单机吞吐量,时效性,架构可靠性,消息可靠性,支持的功能等方面去讲 ActiveMq RabbitMq RocketMq Kafka 单机吞吐量 每秒万级 每秒万级 10万级 10万级 时效性 毫秒级 微秒级 毫秒级 ...
2020-03-15 22:17:21 3308
原创 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 1753
原创 统一异常处理介绍及实战
背景软件开发过程中,不可避免的是需要处理各种异常,就我自己来说,至少有一半以上的时间都是在处理各种异常情况,所以代码中就会出现大量的try {...} catch {...} finally {...}代码块,不仅有大量的冗余代码,而且还影响代码的可读性。比较下面两张图,看看您现在编写的代码属于哪一种风格?然后哪种编码风格您更喜欢?丑陋的 try catch 代码块...
2020-03-14 16:27:39 610
原创 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 175
转载 Docker入门实战
Host(Docker 宿主机)安装了Docker程序,并运行了Docker daemon的主机。Docker daemon(Docker 守护进程):运行在宿主机上,Docker守护进程,用户通过Docker client(Docker命令)与Docker daemon交互。Images(镜像):将软件环境打包好的模板,用来创建容器的,一个镜像可以创建多个容器。Contain...
2020-03-13 11:59:26 160
转载 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 201
原创 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 374
原创 rocketmq如何保证消息可靠性
1、可以从三个方面来分析rocket的消息可靠性2、Producer端消息丢失首先消息分为普通消息(同步,异步,单向发送),定时延时消息,顺序消息(不能保证全局有序,只能保证同一个quen中有序),事物消息 producer端防止消息发送失败,可以采用同步阻塞式的发送(也就是发送同步消息),同步的检查Brocker返回的状态是否持久化成功,发送超时或者失败,则会默认重试2次,rocker...
2020-03-09 18:18:40 4688
原创 liunx命令查看cpu使用率和负载情况
1、先top -c查看资源使用情况第一行tasks表示第一行: 系统时间 + 系统运行时间 + 几个用户 + 1/5/15分钟系统平均负载第二行:进程总数(total) + 正在运行进程数(running) + 睡眠进程数(sleeping) + 停止的进程数(stopped)+ 僵尸进程数(zombie)第三行:用户空间CPU占比(us) + 内核空间CPU占比(sy...
2020-03-09 16:07:41 3269
原创 mysql分区表
1、当mysql单表的数据库过大时,数据库的访问速度会下降,“数据量大”问题的常见解决方案是“水平切分”2、mysql常见的水平切分方式有哪些?答:分库分表,分区表3、什么是mysql的分库分表?答:把一个很大的库(表)的数据分到几个库(表)中,每个库(表)的结构都相同,但他们可能分布在不同的mysql实例,甚至不同的物理机器上,以达到降低单库(表)数据量,提高访问性能的目的。分库分表往往...
2020-03-04 16:21:32 298
原创 计算机网络模型
1、OSI7层网络模型,自底向上:物理层,数据链路层,网络层,传输层,会话层,表示层,应用层2、tcp/ip4层网络模型,自底向上:数据链路层(以太网协议),网络层(ip协议),传输层(tcp协议),应用层(http协议)3、两台计算机是如何通信的呢?首先两台计算机想要通信最底层都是通过以太网协议用mac地址来确定电脑,而ip地址的作用其实就是为了寻找接收方电脑的mac地址才引入的ip...
2020-03-04 11:19:29 1288
原创 二叉树总结
1、二叉查找树特点:二叉查找树的特点就是左子树的节点值比父亲节点小,而右子树的节点值比父亲节点大。如图: 查找:基于二叉查找树的这种特点,我们在查找某个节点的时候,可以采取类似于二分查找的思想,快速找到某个节点。 时间复杂度:n 个节点的二叉查找树,正常的情况下,查找的时间复杂度为O(logn)。之所以说是正常情况下,是因为二叉查找树有可能出现一种极端的情况,例如: 这种情况也...
2020-02-24 17:04:20 770
钉钉生成用户名默认头像01
2019-04-28
使用递归循环读取省市区json文件数据,并保存到数据库中
2017-12-01
solr+IK分词集成tomcat实现全文检索
2017-06-30
solr+IK分词集成tomcat实现电商项目的全文检索
2017-06-30
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人