自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

残冬十九

跟大家分享一些技术

  • 博客(19)
  • 收藏
  • 关注

原创 2020-08-29:请描述tomcat加载springmvc项目时,做了哪些操作?

2020-08-29:请描述tomcat加载springmvc项目时,做了哪些操作?前言请描述tomcat加载springmvc项目时,做了哪些操作?前言每日一题专栏请描述tomcat加载springmvc项目时,做了哪些操作?1,basePacke包扫描,找到特殊注解的类;2,将找到的类实例化,并放置IOC容器中;3,处理bean之间的依赖关系;4,路径映射处理;...

2020-08-29 23:05:54 44

原创 2020-08-28:Spring AOP和AspectJ AOP有什么区别?

2020-08-28:Spring AOP和AspectJ AOP有什么区别?前言Spring AOP和AspectJ AOP有什么区别?前言每日一题专栏Spring AOP和AspectJ AOP有什么区别?AspectJ和Spring AOP都是对目标类增强,生成代理类。AspectJ是在编译期间将切面代码编译到目标代码的,属于静态代理;Spring AOP是在运行期间通过代理生成目标类,属于动态代理。AspectJ是静态代理,故而能够切入final修饰的类,abstract修饰的类;S

2020-08-28 23:24:10 299

原创 2020-08-27:Mysql复制中有哪些复制模式?

2020-08-27:Mysql复制中有哪些复制模式?前言Mysql复制中有哪些复制模式?前言每日一题专栏Mysql复制中有哪些复制模式?1)异步复制主库执行完Commit后,在主库写入Binlog日志后即可成功返回客户端,无需等Binlog日志传送给从库。在MySQL5.5之前,MySQL的复制是异步操作,主库和从库的数据之间存在一定的延迟,这样存在一个隐患:当在主库上写人一个事务并提交成功,而从库尚未得到主库推送的Binlog日志时,主库宕机了,例如主库可能因磁盘损坏、内存故障等造成主库

2020-08-27 23:44:36 261

原创 2020-08-26:CAS实现原子操作的三大问题?

2020-08-26:CAS实现原子操作的三大问题?前言CAS实现原子操作的三大问题?前言每日一题专栏CAS实现原子操作的三大问题?ABA问题:因为CAS需要在操作值的时候,检查值有没有发生变化,如果没有发生变化则更新,但是如果一个值原来是A,变成了B,又变成了A,那么使用CAS进行检查时会发现它的值没有发生变化,但是实际上却变化了。循环时间长开销大:自旋CAS如果长时间不成功,会给CPU带来非常大的执行开销。只能保证一个共享变量的原子操作:当对一个共享变量执行操作时,我们可以使用循环

2020-08-26 23:33:42 163

原创 2020-08-25:要实现一个Redis的分布式锁要注意什么?

2020-08-24:大型互联网架构中为什么要做动静分离?前言大型互联网架构中为什么要做动静分离?前言每日一题专栏大型互联网架构中为什么要做动静分离?互斥性,同一时刻,智能有一个客户端持有锁。防止死锁发生,如果持有锁的客户端崩溃没有主动释放锁,也要保证锁可以正常释放及其他客户端可以正常加锁。防止误删,加锁和释放锁必须是同一个客户端。高可用,如果只有Redis服务端负责加锁,这个Redis挂了怎么办?...

2020-08-25 23:33:40 208

原创 2020-08-24:大型互联网架构中为什么要做动静分离?

2020-08-24:大型互联网架构中为什么要做动静分离?前言大型互联网架构中为什么要做动静分离?前言每日一题专栏大型互联网架构中为什么要做动静分离?因为tomcat本身处理静态效率不高,还会带来资源开销.所以使用动静分离,将静态由Nginx处理, 动态由PHP处理或Tomcat处理...

2020-08-24 23:24:38 218

原创 2020-08-23:大促场景下你的系统可能会有哪些问题?

2020-08-23:大促场景下你的系统可能会有哪些问题?前言大促场景下你的系统可能会有哪些问题?前言每日一题专栏大促场景下你的系统可能会有哪些问题?1,某一时间片刻系统流量异常高,系统濒临阀值;2,服务器CPU,内存爆满,磁盘IO繁忙3,系统雪崩...

2020-08-23 22:13:51 39

原创 2020-08-22:互联网分布式锁方案有哪些?各有什么优缺点呢?

2020-08-22:互联网分布式锁方案有哪些?各有什么优缺点呢?前言互联网分布式锁方案有哪些?各有什么优缺点呢?前言每日一题专栏互联网分布式锁方案有哪些?各有什么优缺点呢?1,利用Mysql数据库自身提供的锁机制实现,要求数据库支持行级锁;实现简单,稳定可靠,但性能差,无法适应高并发场景,容易出现死锁的情况;无法优雅的实现阻塞式锁;不可重入;2,利用redis缓存的CAS机制实现,保证对缓存操作序列的原子性,性能较好,但实现相对较复杂 ,有出现死锁的可能性;无法优雅的实现阻塞式锁;不可重入;

2020-08-22 22:57:24 173

原创 2020-08-21:Spring在Bean创建过程中是如何解决循环依赖的?

2020-08-21:Spring在Bean创建过程中是如何解决循环依赖的?前言Spring在Bean创建过程中是如何解决循环依赖的?前言每日一题专栏Spring在Bean创建过程中是如何解决循环依赖的?循环依赖只会存在在单例实例中,多例循环依赖直接报错。A类实例化后,把实例放map容器中,A类中有一个B类属性,A类实例化要进行IOC依赖注入,这时候B类需要实例化,B类实例化跟A类一样,实例化后方map容器中。B类中有一个A类属性,接着B类的IOC过程,又去实例化A类,这时候实例化A类过程中从

2020-08-21 23:17:50 163

原创 2020-08-20:在分布式环境中如何实现乐观锁?

2020-08-20:在分布式环境中如何实现乐观锁?前言在分布式环境中如何实现乐观锁?前言每日一题专栏在分布式环境中如何实现乐观锁?分布式环境实现乐观锁一般有两种方案,第一种是基于数据库实现,只要数据库支持行级锁,就可以使用版本号或者状态位的方式实现乐观锁;第二种借助redis、mongodb或者memcached这样的内存数据库也能实现,比如redis利用watch指令在redis事务中提供乐观锁的能力,而memcached通过CAS实现了乐观锁...

2020-08-20 22:57:52 215

原创 2020-08-19:索引优化的几点原则

2020-08-19:索引优化的几点原则前言索引优化的几点原则前言每日一题专栏索引优化的几点原则尽量全值匹配如果你使用了复合索引,而你查询的列是索引列,不要使用select * 而用索引列最佳左前缀法则创建复合索引的时候,要考虑索引的使用场景,比如创建复合索引key(a,b,c) 在出现where条件的时候一定要出现a,只有a,b,c同时出现在where条件里,这个索引才是最高效的。不在索引列上做任何操作比如各种函数等,不要再索引列上使用范围条件放最后在sql中经常

2020-08-19 08:02:53 186

原创 2020-08-18:什么是程序计数器?为什么JVM需要它?

2020-08-18:什么是程序计数器?为什么JVM需要它?前言Redis底层数据结构?前言每日一题专栏Redis底层数据结构?程序计数器记录当前线程正在执行的字节码的地址或行号。JVM中存在线程切换,主要作用是为了确保多线程情况下JVM程序的正常执行。...

2020-08-19 08:00:13 280

原创 2020-08-17:为什么HashMap中数组的容量为2的次幂?

2020-08-17:为什么HashMap中数组的容量为2的次幂?前言为什么HashMap中数组的容量为2的次幂?前言每日一题专栏为什么HashMap中数组的容量为2的次幂?因为在插入元素时,元素定位的数组位置时把hashCode和容量进行按位与计算。使用2的次幂进行计算时可以减少碰撞的发生,并且让散列尽可能的均匀分布。...

2020-08-19 07:58:40 104

原创 2020-08-16:Redis底层数据结构?

2020-08-16:Redis底层数据结构?前言Redis底层数据结构?前言每日一题专栏Redis底层数据结构?简链字跳整 压快压SDS simple synamic string:简单动态字符串。支持自动动态扩容的字节数组 。list :链表 。双端链表。dict :字典。使用双哈希表实现的, 支持平滑扩容的字典 。zskiplist :跳跃表。附加了后向指针的跳跃表 。intset :整数集合。用于存储整数数值集合的自有结构 。ziplist :压缩列表。一种实现上类似于TLV

2020-08-16 23:19:35 54

原创 2020-08-15:什么是多线程中的上下文切换?

2020-08-15:什么是多线程中的上下文切换?前言什么是多线程中的上下文切换?前言每日一题专栏什么是多线程中的上下文切换?多线程会共同使用一组计算机上的CPU,而线程数大于给程序分配的CPU数量时,为了让各个线程都有执行的机会,就需要轮转使用CPU。不同的线程切换使用CPU发生的切换数据等就是上下文切换。...

2020-08-15 23:16:39 147

原创 2020-08-14:HashMap 和 HashTable 有什么区别?

2020-08-14:HashMap 和 HashTable 有什么区别?前言HashMap 和 HashTable 有什么区别?前言每日一题专栏HashMap 和 HashTable 有什么区别?一、 HashMap 是线程不安全的,HashTable 是线程安全的;二、由于线程安全,所以 HashTable 的效率比不上 HashMap;三、HashMap最多只允许一条记录的键为null,允许多条记录的值为null,而 HashTable 不允许;四、HashMap 默认初始化数组的大

2020-08-14 23:40:25 151

原创 2020-08-13:公平锁和非公平锁有什么区别?

2020-08-13:公平锁和非公平锁有什么区别?前言公平锁和非公平锁有什么区别公平锁非公平锁前言每日一题专栏公平锁和非公平锁有什么区别公平锁公平锁:线程按照申请的顺序获取到所,申请的线程进入一个队列去排队,永远都是队里第一位获取到锁。优点:所有的线程都可以获取到锁资源,不会在队列中拿不到资源缺点:吞吐量下降,除了队列第一个线程,其他线程会进行阻塞,唤醒阻塞线程开销很大非公平锁非公平锁:多个线程去获取锁的时候,会直接去尝试获取,获取不到,再去进入等待队列,如果能获取到,就直接获取到锁。

2020-08-14 06:37:51 152

原创 2020-08-12:Redis单线程为什么这么快?

2020-08-12:Redis单线程为什么这么快?前言为什么单线程的Redis这么快前言每日一题专栏为什么单线程的Redis这么快一、 redis采用了纯内存的操作进行处理数据二、 redis是单线程操作,避免了频繁切换上下文的损耗三、 redis使用的的是非阻塞的IO多路复用机制四、 redis使用的RESP协议简单(一)纯内存操作(二)单线程操作,避免了频繁的上下文切换(三)采用了非阻塞I/O多路复用机制(四)RESP协议简单...

2020-08-12 22:57:25 103

原创 2020-08-11:高并发场景下为什么要限流

2020-08-11:高并发场景下为什么要限流前言什么叫限流?高并发场景下什么访问需要限流?前言每日一题专栏什么叫限流?限流本质上是减少流量的访问,而服务的处理能力不变高并发场景下什么访问需要限流?一、 大量用户高频率访问情况下,导致服务器承受不住压力而宕机。二、 恶意请求高频率访问服务器,导致服务器造成宕机。三、 对于网页爬虫请求,我们需要对访问进行限流互联网项目与传统项目不同的互联网项目是暴露在互联网中,面向的是全体网民,这时候可能出现以下两种访问形式需要我们采取一些必要措施对我们

2020-08-11 23:46:06 277

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除