![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
面试
文章平均质量分 66
x-working
这个作者很懒,什么都没留下…
展开
-
netty 底层原理
https://blog.csdn.net/qq36846776/article/details/110263106原创 2021-05-23 22:53:11 · 260 阅读 · 0 评论 -
一文读懂threadlocal
https://zhuanlan.zhihu.com/p/158684233ThreadLocal为啥要用弱引用?不知道执墨人公众号@石的三次方22 人赞同了该文章今天呢,和大家聊一下ThreadLocal。❝ 文章已经同步到Github上,有需自提:https://github.com/StackInk/MakerStack.git❞1. 是什么?JDK1.2提供的的一个线程绑定变量的类。「他的思想就是:给每一个使用到这个资源的线程都克隆一份,实现了不同线程使用不原创 2021-05-12 12:20:55 · 187 阅读 · 0 评论 -
Kafka和RabbitMQ的异同点和使用场景
https://blog.csdn.net/caozhengtao1213/article/details/106751537一、异同点1.架构模型RabbitMQ遵循AMQP协议,RabbitMQ的broker由Exchange,Binding,queue组成,其中exchange和binding组成了消息的路由键;客户端Producer通过连接channel和server进行通信,Consumer从queue获取消息进行消费(长连接,queue有消息会推送到consumer端,consumer循原创 2021-05-11 19:39:33 · 701 阅读 · 0 评论 -
spring5 新特性
新特性:spring5基于java8, 兼容jdk9;spring5 框架自带通用的日志封装 已经移除了Log4jConfigListener 官方建议使用 log4j2;log4j2 项目中使用:1. 引入jar包2. 创建log4j2.xml文件函数式风格创建对象,将对象放入spring ioc 容器测试方面的改进:spring5整合junit4spring5 支持整合junit5spring5 web_flux:是spring5添加的...原创 2021-04-18 16:43:38 · 248 阅读 · 0 评论 -
spring基础 ioc aop jdbctemplate spring事务
1. spring对象管理spring 可以通过编写xml文件的方式将对象放入spring的ioc容器中进行管理; 后期优化的可以通过注解的方式放入spring ioc容器中 比如: @compment @mapper @controller 等原创 2021-04-14 20:59:57 · 136 阅读 · 0 评论 -
大厂面试3
执行顺序: 正常情况下 环绕通知前代码, 前置通知, 环绕通知后代码, 后置通知, 返回通知执行顺序: 异常情况下 环绕通知前代码, 前置通知, 异常通知, 后置通知原创 2021-04-02 11:40:12 · 73 阅读 · 0 评论 -
jvm内存结构
元空间设置:使用Java 8以后,关于元空间的JVM参数有两个:-XX:MetaspaceSize=N和 -XX:MaxMetaspaceSize=N,对于64位JVM来说,元空间的默认初始大小是20.75MB,默认的元空间的最大值是无限。MaxMetaspaceSize用于设置metaspace区域的最大值,这个值可以通过mxbean中的MemoryPoolBean获取到,如果这个参数没有设置,那么就是通过mxbean拿到的最大值是-1,表示无穷大。由于调整元空间的大小需要Full GC,这是非常原创 2021-03-24 16:45:45 · 60 阅读 · 0 评论 -
es优化与进阶
https://www.cnblogs.com/qmillet/p/12565723.htmlES在数据量很大的情况下如何提高查询效率?一、性能优化的杀手锏——filesystem cache你往es里写的数据,实际上都写到磁盘文件里去了,查询的时候,操作系统会将磁盘文件里的数据自动缓存到filesystem cache里面去。es-search-processes 的搜索引擎严重依赖于底层的filesystem cache,你如果给filesystem cach...原创 2020-10-09 21:33:09 · 3267 阅读 · 0 评论 -
对网关和整个系统的理解
为什么大型互联网都需要网关服务?前言假设你正在开发一个电商网站,那么这里会涉及到很多后端的微服务,比如会员、商品、推荐服务等等。那么这里就会遇到一个问题,APP/Browser怎么去访问这些后端的服务? 如果业务比较简单的话,可以给每个业务都分配一个独立的域名(https://service.api.company.com),但这种方式会有几个问题:每个业务都会需要鉴权、限流、权限校验等逻辑,如果每个业务都各自为战,自己造轮子实现一遍,会很蛋疼,完全可以抽出来,放到一个统一的地方去.原创 2020-07-09 13:03:17 · 968 阅读 · 0 评论 -
谷歌、facebook第三方登录
比较靠谱:https://www.cnblogs.com/lngg057/p/5020192.html原创 2019-12-30 10:56:15 · 651 阅读 · 0 评论 -
分布式事务及使用场景
LCN强一致分布式事务:原理?使用场景:用户积分兑换商品。要求时效性和一致性。为什么不能使用补偿性分布式事务?因为补偿式分布式事务可能出现积分重新购买。消息队列补偿式分布式事务:流程图?使用场景:用户注册成功发积分、交易成功发短息、推送消息;...原创 2019-10-28 21:04:19 · 1139 阅读 · 0 评论 -
Redision解决分布式锁
面试问题Redis锁的过期时间小于业务的执行时间该如何续期?问题分析首先如果你之前用Redis的分布式锁的姿势正确,并且看过相应的官方文档的话,这个问题So easy.我们来看很多同学在用分布式锁时,都是直接百度搜索找一个Redis分布式锁工具类就直接用了,其实Redis分布式锁比较正确的姿势是采用redisson这个客户端工具如何回答默认情况下,加锁的时间是30...转载 2019-09-26 16:50:40 · 1038 阅读 · 0 评论 -
面试:解决重点问题,计算两个时间段是否有交集的算法及其应用实例
1、通过 if 判断语句进行判断,if(endTime1 > startTime2 && endTime2 > startTime1) 那么这两个时间段有交集,一个时间段的结束时间大于另一个时间段的开始时间,如果成立那么两个时间段有交集。应用:业务:某一个系统需要安排会展,要求任意时间段最多安排6家会展步骤:1、插入数据时,首先从数据库筛选与所插入数据有交集...原创 2018-11-23 10:26:33 · 2316 阅读 · 0 评论 -
volatile关键字
计算机在执行程序时,每条指令都是在CPU中执行的,而执行指令过程中,势必涉及到数据的读取和写入。由于程序运行过程中的临时数据是存放在主存(物理内存)当中的,这时就存在一个问题,由于CPU执行速度很快,而从内存读取数据和向内存写入数据的过程跟CPU执行指令的速度比起来要慢的多,因此如果任何时候对数据的操作都要通过和内存的交互来进行,会大大降低指令执行的速度。因此在CPU里面就有了高速缓存。所以:当程...原创 2018-12-12 21:03:55 · 60 阅读 · 0 评论 -
Java中的锁
悲观锁、乐观锁、redis实现分布式锁 无序(每个处理共享资源的线程不会挂起而是循环获取锁,避免cpu挂起、激活,并发能力强,浪费cpu性能)、zookeeper实现分布式锁 有序(zookeeper 依据观察者模式A线程完成之后通知B线程,节省cpu性能,并发能力差)、CAS无锁算法、可重入锁 Java对CAS操作的支持?在JDK1.5之前,如果不编写明确的代码就无法执行CAS操作,在J...原创 2018-12-13 13:01:00 · 90 阅读 · 0 评论 -
公司算法之小时:分钟:秒倒计时
业务:已知某活动的终止日期和当前日期,按照 时:分:秒 计算当前倒计时算法:从后台获取终止时间和当前时间的差值(单位秒),前端,每秒执行一次:总秒数减去1,然后将得到的结果,计算其对应的时、分、秒在前端展示。...原创 2018-12-06 20:28:05 · 652 阅读 · 0 评论 -
网关与Nginx的路由实质
网关和Nginx路由的本质按照配置路由规则重新包装request请求发送到目标路径。nginx中每个server都是路由的一个服务,nginx的配置文件中可以配置多个server。比如Nginx配置文件中配置:server{ listen 8880; server_name 127.0.0.1; charset utf-8; locat...原创 2018-12-07 13:57:24 · 6928 阅读 · 1 评论 -
集合List、Set、Map详解
List、Set、Map是否继承自Collection接口?List、Set是map不是,List是线性结构的容器,底层使用数组实现,使用于按数值索引访问元素的情形;Set存储零散的元素且不允许有重复的元素(类似数学中的集合);Map存储的是key-value键值对。阐述ArrayList、Vector、LinkedList的存储性能和特性?共同点:ArrayList、LinkedLi...原创 2018-12-12 11:24:32 · 865 阅读 · 0 评论 -
当公司人员反馈请求响应慢后台工作人员工作分析
步骤:请求响应慢,首先将问题划分为三部分:服务器部分、代码部分、数据库部分;分别从这三个方面进行分析解决。如果所有请求响应都慢,着重从服务器层面解决问题、如果部分请求响应慢,着重从代码层面和数据库层面,针对特定方法,解决问题;服务器层面:1、网络,检查服务器网络是否正常;2、内存,使用free -h命令查看服务器剩余可以使用的内存,主要查看free参数;通过top命令查看cpu...原创 2019-01-17 10:46:16 · 601 阅读 · 0 评论 -
java中对象池的使用
https://blog.csdn.net/xlxxcc/article/details/52402931概念 对象池(ObjectPool): 掌管对象的生命周期,获取,激活,验证,钝化,销毁等 池对象(PooledObject): 被创建在池中的对象,自己可以有一些附加信息 池对象工厂(PooledObjectFactory): 池中对象各个生命周期的具体实现,怎么创...转载 2019-06-21 16:40:05 · 1455 阅读 · 0 评论 -
DDD设计模式
等待完善原创 2019-07-11 14:00:31 · 1263 阅读 · 0 评论 -
分布式定时任务elastic-job
https://blog.csdn.net/fanfan_v5/article/details/61310045转载 2019-08-01 22:38:21 · 112 阅读 · 0 评论 -
开发中遇到的问题
调用第三方数据,插入数据库乱码?问题排查:数据库编码方式?idea编码方式?resttemplete编码?逐一排查,resttemplet默认使用的不是utf-8,指定其 MessageConverter的编码方式。秒杀功能...原创 2019-08-21 12:01:35 · 71 阅读 · 0 评论