- 博客(17)
- 收藏
- 关注
原创 com.microsoft.sqlserver.jdbc.SQLServerException: 该连接已关闭
开发环境:SpringBoot + Sql Server 2008R2。pom 文件配置好之后,启动项目提示【连接已关闭】原因:驱动包版本与SqlServer版本不匹配。
2023-07-06 11:48:31
2875
3
转载 如何将项目工程上传到码云(gitee)
第一步:右击将要上传的文件夹,在右键菜单栏里选择Git Bash Here选项第二步:在弹出的Git命令窗口中输入git init第三步:复制gitee仓库的HTTPS链接第四步:在Git命令窗口中输入git remote add origin+复制出来的仓库的HTTPS链接第五步:在Git命令窗口中输入git pull origin master 并在弹出的窗口中输入码云登陆的对应的账号和密码第六步:输入git add .(.表示所有文件)或者git add + 文
2021-08-10 14:03:24
275
原创 Spring Security SCryptPasswordEncoder 是如何判断两个密码相等的?
首先记得SCryptPasswordEncoder 是采用的hash算法,那么hash算法都有哪些特点呢?1、快2、不可逆3、相同的数据经过hash,得出的值是相等的加密的过程假如我的密码是123456,我为了保证每次的计算结果都不同,我可以加一个随机数,...
2021-08-08 20:42:29
641
原创 Spring Cloud Hystrix 的信号量隔离与线程隔离
先说一下信号量和线程池的概念信号量:Semaphore 是一个并发工具类,用来控制同时并发的线程数量,每次线程执行的时候,都需要通过acquire获得许可,线程执行完毕后,通过release方法释放。线程池:线程池规定的线程数量,每个线程都是可复用的,其他线程是否可以加入需要看线程池满不满,不需要我们自己手动控制信号量和线程池的区别信号量只是规定的线程数量,这些线程都是需要我们手动new出来的,并不参与线程执行的具体逻辑,只不过其他线程想要同时处理请求时,需要查看信号量是否有空余的位置线
2021-08-07 16:18:53
846
原创 三色标记算法
哪三种颜色?黑、灰、白黑色:gc已经将本身和局部变量标记完成,等待回收灰色:gc已经将本身标记完成,但局部变量还没有来得及标记白色:不需要被回收的对象解决了什么问题?解决了漏标的问题漏标是什么?漏标就是将原本不该回收的对象将垃圾回收掉了产生的前提条件是什么?如何产生的?需要同时满足两个条件1、灰色取消了对白色的引用2、黑色增加了对白色的引用如何解决?思路:对引用的增加或删除做监听事件。方案1:黑色在增加对白色的引用时,对黑色重新进行标记.
2021-08-07 01:05:46
102
原创 Spring Cloud Hystrix 熔断、降级、限流的区别
之前一直分不清三者的区别,这篇文章用通俗的语言来加深一下印象。降级:针对降级的处理,可以给出友好的提示,或重定向至页面。可以简单理解为:降低服务质量的等级,原本的计划是要将数据写到数据库内,但是服务响应失败,可以通过降级,先把消息存到mq里面,或给出页面,点击重试按钮。限流:针对限流的处理,可以直接抛出异常,让用户再次请求重试。可以简单理解为:限制某一服务的流量,假如火锅店只有20桌,并且座位上都有人,那其他的用户只能在外边等着,如果不对用户进行处理,都进入到火锅店,也会影响其他用户的服务质量。
2021-08-07 00:34:19
779
原创 zookeeper 是什么?有什么作用?
zookeeper 是什么?zookeeper 是一个分布式协调服务zookeeper 的特征,都保障了什么?1、顺序一致性:客户端的请求按顺序进行相应2、原子性:要么成功要么失败,没有中间商赚差价3、统一视图:无论客户端连接到哪台服务器,都能看到统一的结果视图4、可靠性:一旦服务端数据的状态发生了变化,就会立即存储起来,除非此时有另一个请求对其进行了变更,否则数据一定是可靠的5、及时性(数据一致性):系统的客户视图保证在特定时间范围是最新的zookeeper 的数据结构
2021-08-05 00:11:27
981
原创 Linux 搭建 Zookeeper 集群
环境要求:CentOS6,zookeeper3.5.9,jdkjdk 没有安装可参考:https://blog.csdn.net/qq_37588095/article/details/119384562下载链接:https://mirrors.bfsu.edu.cn/apache/zookeeper/zookeeper-3.5.9/apache-zookeeper-3.5.9-bin.tar.gz将文件导入至linux 服务器并解压# 创建文件夹,导入zookeeper 压缩包mkd.
2021-08-04 15:34:26
107
原创 Linux 搭建java 开发环境
环境要求:CentOS 6,jdk 1.8下载链接:https://www.oracle.com/java/technologies/javase/javase-jdk8-downloads.html#license-lightbox# 将文件传输至linux服务器中,最好定义一个文件夹单独存储mkdir /usr/local/javatar -xvf jdk-8u211-linux-x64.tar.gz# 解压完成后,配置环境变量vi /etc/profile# 在文件最下方插入以
2021-08-04 15:10:59
113
原创 Linux 安装 Redis
环境要求:CentOS-6.5 + Redis5.x(OS6安装redis6 还要更新gcc 版本,太麻烦)wget 安装 普通用户可能无法执行yum命令,可以用root yum install wget(目前是报错的,需要修改一些配置) #编辑vi /etc/yum/pluginconf.d/fastestmirror.conf#修改enable=0 替换源 #替换为官方Vault源wget -O /etc/yum.repos.d/CentOS-Bas
2021-08-02 16:11:41
93
原创 java.lang.StackOverflowError 栈溢出
在JVM内存模型中,每个线程都有对应的JVM Stack(虚拟机栈),栈中存放了方法在运行过程中的栈针(方法),如图所示:在main函数运行的过程中,调用了m方法,此时这个线程的虚拟机栈中就有两个栈针,分别是main()和m()如果m() 为递归方法,就会无限在虚拟机栈中创建栈针,最后导致StackOverflowError 异常,如图:...
2021-07-31 00:35:57
227
原创 JVM 双亲委派机制
在JVM加载Class时,会通过不同的类加载器来进行加载,直接上图:每个类加载器都有负责需要加载的区域1-启动类加载器,负责加载%JAVA_HOME%\bin目录下的所有jar包,或者是-Xbootclasspath参数指定的路径。2-扩展类加载器:负责加载%JAVA_HOME%\bin\ext目录下的所有jar包,或者是java.ext.dirs参数指定的路径。3-应用程序类加载器:负责加载用户类路径上所指定的类库,如果应用程序中没有自定义加载器,那么次加载器就为默认加载器。可
2021-07-31 00:25:08
111
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人