![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
技术整理
lovelyesz
没有我干不黄的公司
展开
-
feign-spring4的RPC路由方案
前言最近接手了一个为前端提供api的restful服务,前端框架是使用vue.js开发的,初略的查看一下发现前端框架依赖两个后端服务,通过vue的route配置进行分发这也是现在最常见的交互方案了,但这种方案也存在了一些缺点1.提供api的两个服务必须有比较明确的识别度,比如:一个服务是/user/**格式,另一个是/product/**格式2.后端服务无法统一的管理api,加...原创 2020-01-04 12:35:47 · 693 阅读 · 0 评论 -
JavaAgent使用笔记
JavaAgent的原理来源这里就不多说了,有兴趣的同学请参考一下两篇文章:https://www.cnblogs.com/beautiful-code/p/6424931.html https://www.jianshu.com/p/4e34d0ab47d1这篇文章主要时为了讲述JavaAgent在使用中的一些细节。对JavaAgent有所了解的人都知道,JavaAgent有两种启动...原创 2019-06-26 11:34:33 · 1302 阅读 · 0 评论 -
OKHTTP自动次数重试方案与连接池
连接池最近在工作中开始使用okhttp,详细的研究了一下源码,发现了关于连接池的部分与我之前的理解有些不符new OkHttpClient().newBuilder().connectionPool(new ConnectionPool(100,1,TimeUnit.MILLISECONDS))使用过okhttp的人都知道在构建client的时候就声明了连接池new Conne...原创 2019-06-20 18:28:34 · 6331 阅读 · 0 评论 -
JAVA线程池原理
java线程池在平时的开发中应用的很广,也会经常被人问到,今日我发现以前自己学习到的线程池的知识有些出入,所以特意的整理一下线程池构造方法中的参数我就不一一介绍了,这篇文章的主要目的是分析这些参数在运行期间的作用我们可以把线程池的结构想向成三个部分:1.核心线程池 2.缓存队列 3.非核心线程池我们想像这样一个场景,一间屋子里有成“吕”字型上下摆放的两个暖气片中间用一根管子链接,从下向...原创 2019-03-13 16:32:02 · 196 阅读 · 0 评论 -
mybatis一级缓存和二级缓存的优先级
大部分开发都知道mybatis存在两种缓存--一级缓存和二级缓存一级缓存作用于sqlsession默认是开启的,但在spring环境需要开启事务才能使用,开启事务后执行到第二个dao的时候不会新建sqlsession,不开启事务及时是同一个方法中连续调用两次同一个dao同样的参数都不会触发一级缓存的二级缓存作用于namespase,默认是关闭的,并且不建议开启,集群环境会有bug的哦,单机...原创 2019-03-04 17:17:22 · 1693 阅读 · 3 评论 -
Spring中的那些钩子hook--InitializingBean和PostProcessor
InitializingBeanpublic class MyAware implements InitializingBean { @Override public void afterPropertiesSet() throws Exception { System.out.println("InitializingBean.afterProperties...原创 2019-02-20 17:10:57 · 242 阅读 · 0 评论 -
Spring中的那些钩子hook--Aware
Aware中文的意思是”感知“很抽象,用本人的理解来解释这一类接口的意思是,让你在你自己定义的bean中获取到spring容器中使用的一些属性比如BeanName,BeanFactory,ApplicationContext等BeanNameAwarepublic class MyAware implements BeanNameAware{ @Override publ...原创 2019-02-20 15:57:51 · 1668 阅读 · 0 评论 -
Spring中的那些钩子hook--ImportBeanDefinitionRegistrar
spring作为最为经典的架构之一最大的优势就是基于AOP设计和IOC容器,使得框架具有很好的可扩展性。那当我们将另一个框架与spring结合时我需要怎么做呢?这时候就需要使用spring为我们提供的各种各样的钩子(hook)了。ImportBeanDefinitionRegistrar@Configuration@Import(MyImportBeanDefinitionRegi...原创 2019-02-20 14:44:28 · 715 阅读 · 0 评论 -
Java技术学习整理
前几天在交流群里有些小伙伴问面试相关的试题,当时给出了一些问题,苦于打字太累就没写下去了,但觉得这是一个很不负责任的表现,于是下来整理了一下近几年的私藏,特分享给大家!此套面试题适用于Java开发的各个阶段面试,不过更偏向初级和中级开发人员!由于每一个问题的答案不唯一且都可以在网上搜索到答案,这里只给出问题,不列出参考答案,有兴趣的可以留言讨论,也欢迎大家的补充!一、基础篇1.1、Ja...转载 2019-02-20 10:18:35 · 127 阅读 · 0 评论 -
redis个人感悟
redis是一款内存操作的基于K-V结构的高性能数据库,支持5中数据结构string、list、hash、set、zset,平时听很多人说redis是单线程的,其实这样描述是不准确的,单线程仅仅指的是redis的网络请求模块,内部其他的模块使用了很多多线程,一切都是以性能为优先的redis使用了IO多路复用epoll,这有点不好理解,涉及到了一些异步阻塞IO的知识;redis中使用了类似Has...原创 2019-02-25 11:24:56 · 177 阅读 · 0 评论 -
JAVA中的那些锁的概念
java中的锁的分类有很多,大多数都是根据锁的某项功能或者特性进行分类,所以在项目中选择哪种锁是门大学问乐观锁和悲观锁乐观锁乐观的认为不会有线程同时执行,最常见的就是sql中的,update table set a=更改值 where a=更改前的值;悲观锁悲观的认为肯定会有线程同时执行,在更新数据的时候先把资源锁住,当其他线程执行时会等待前一个线程释放锁,sql中的selec...原创 2019-02-25 10:51:57 · 161 阅读 · 0 评论