Fork me on GitHub
升级MySQL8问题总结

升级MySQL8问题总结

mysql 8驱动变更Loading class com.mysql.jdbc.Driver'. This is deprecated. The new driver class iscom.mysql.cj.jdbc.Driver’. The driver is automatically registered via the SPI and manual loading of t...

SpringCloud-----Ribbon异常java.net.UnknownHostException

如何解决Feign/Ribbon第一次请求失败的问题?** Spring Cloud中,Feign和Ribbon在整合了Hystrix后,可能会出现首次调用失败的问题,要如何解决该问题呢? 造成该问题的原因 Hystrix默认的超时时间是1秒,如果超过这个时间尚未响应,将会进入fallback代码。而首次请求往往会比较慢(由于Ribbon是懒加载的,在首次请求时,才会开始初始化相关类),这个...

微服务简介

什么是微服务架构近年来,在软件开发领域关于微服务的讨论呈现出火爆的局面,有人倾向于在系统设计与开发中采用微服务方式实现软件系统的松耦合、跨部门开发,被认为是IT软件架构的未来方向,Martin Fowler也给微服务架构极高的评价;同时,反对之声也很强烈,持反对观点的人表示微服务增加了系统维护、部署的难度,导致一些功能模块或代码无法复用,同时微服务允许使用不同的语言和框架来开发各个系统模块,...

阿里面试题:为什么Map桶中个数超过8才转为红黑树

这是笔者一个好友面试阿里时,被问及的一个问题,应该不少人看到这个问题都会一面懵逼。因为,大部分的文章都是分析链表是怎么转换成红黑树的,但是并没有说明为什么当链表长度为8的时候才做转换动作。笔者第一反应也是一样,只能初略的猜测是因为时间和空间的权衡。要弄明白这个问题,我们首先要明白为什么要转换,这个问题比较简单,因为Map中桶的元素初始化是链表保存的,其查找性能是O(n),而树结构能将查找性能...

Druid连接池加密

Druid连接池加密

一、什么是druidDruid是阿里的一个开源项目,首先是一个数据库连接池,类似于c3p0,但它不仅仅是一个数据库连接池,它还包含一个ProxyDriver,一系列内置的JDBC组件库,一个SQL Parser。 二、密码加密首先看druid的数据库连接池配置: 1234567891011121314151617181920212223<bean id="dataSource" cla...

为什么我们做分布式使用 Redis ?

为什么我们做分布式使用 Redis ?

摘要: 原创出处 https://my.oschina.net/u/3971241/blog/2221560 「Ala6」欢迎转载,保留摘要,谢谢! 绝大部分写业务的程序员,在实际开发中使用 Redis 的时候,只会 Set Value 和 Get Value 两个操作,对 Redis 整体缺乏一个认知。这里对 Redis 常见问题做一个总结,解决大家的知识盲点。 1、为什么使用 Redis...

手把手使用SonarQube分析、改善项目代码质量

手把手使用SonarQube分析、改善项目代码质量

TIPS 本文基于SonarQube 7.9.1,理论支持6.0及更高版本。 SonarQube是一个开源的代码质量管理系统,可用来快速定位代码中的Bug、漏洞以及不优雅的代码。它支持几乎所有的常见编程语言,例如Java、JavaScript、TypeScript、Kotlin、Ruby、Go, Scala等。并且还有插件机制,利用插件,可以让SonarQube更加强大,例如可以整合Fi...

聊聊Spring家族中的那几百个注解

查找所有注解 首先,我们来创建一个项目,使用SPRING INITIALIZR生成一个引入Spring各种组件的项目模板,然后引入如下工具包: 12345<dependency> <groupId>org.reflections</groupId> <artifactId>reflections</artifactId>...

分库分表之后,id 主键如何处理?

面试题分库分表之后,id 主键如何处理? 面试官心理分析其实这是分库分表之后你必然要面对的一个问题,就是 id 咋生成?因为要是分成多个表之后,每个表都是从 1 开始累加,那肯定不对啊,需要一个全局唯一的 id 来支持。所以这都是你实际生产环境中必须考虑的问题。 面试题剖析数据库自增 id这个就是说你的系统里每次得到一个 id,都是往一个库的一个表里插入一条没什么业务含义的数据,然后获取一个...