永刚的点滴成长

导航

 

2021年7月21日

摘要: 1、HashMap是无序的。 基于Hash表的原理,所有要保存到容器的键值对都是拿key取hash码先和size做位运算,看数据应该存储再那个槽里,如果两个key的hash值相同则采取链表的方式存储(著名的计算机学家高德纳提供了一个常数1640531527,自增常数0x61c88647)关键方法 h 阅读全文
posted @ 2021-07-21 00:22 永刚的点滴成长 阅读(220) 评论(0) 推荐(0) 编辑
 

2020年9月1日

摘要: 一致性问题: 1、多个主体无法对同一份数据达成共识; 2、包括分布式一致性问题和并发问题; 3、特点是场景多问题复杂难以察觉,需要严密的思考甚至数学论证。 一致性问题的解决办法: 1、排对(例如:锁,互斥量,管程,屏障); 2、投票(例如:Paxos,Raft) 以上两个都有额外开销,避免的方式可以 阅读全文
posted @ 2020-09-01 20:41 永刚的点滴成长 阅读(165) 评论(0) 推荐(0) 编辑
 

2020年5月24日

摘要: Mybatis一级缓存: 默认是开启一级缓存的,目的是降低数据库的压力。 一级缓存的命中原则: 1、statementId,技术脚本和条件参数一致,statementId不一样同样不会命中。 2、要求传递给sql的最终参数相同。 3、分页参数的条件如果不同依然不能命中。 4、sql语句相同。 5、执 阅读全文
posted @ 2020-05-24 11:29 永刚的点滴成长 阅读(148) 评论(0) 推荐(0) 编辑
 

2020年5月14日

摘要: Synchronized的作用: 能够保证在同一时刻最多只有一个线程执行该段代码,以达到保证并发安全的效果。 并发编程的地位: 关键字,被java原生支持,实现互斥的基本手段、是研究高并发的基础。 不使用并发手段会有什么样的后果: 例如i++的操作,如果不使用同步的话会线程不安全。 Synchron 阅读全文
posted @ 2020-05-14 15:12 永刚的点滴成长 阅读(164) 评论(0) 推荐(0) 编辑
 

2019年10月10日

摘要: 浏览器窗口键入 http://www.baidu.com会有怎样的网络事件发生? 1:DNS解析 浏览器会依据url逐层查询DNS服务器缓存,解析url中的域名所对应的IP地址,DNS缓存由近及远依次是浏览器缓存,系统缓存,路由器缓存,IPS服务器缓存,根域名服务器缓存,顶级域名服务器缓存。 2:建 阅读全文
posted @ 2019-10-10 15:35 永刚的点滴成长 阅读(267) 评论(0) 推荐(0) 编辑
 

2019年9月9日

摘要: 围绕Handler开发 数据Model 页面View SpringMVC的运行流程: 1、用户发送一个请求,所有的请求都会映射到DispatcherServlet(中央控制器的servlet,该servlet会拦截所有的请求) 2、默认会用到DefaultAnnoationHandlerMappin 阅读全文
posted @ 2019-09-09 23:08 永刚的点滴成长 阅读(108) 评论(0) 推荐(0) 编辑
 
摘要: 什么时Restful? 兴起于Rails,一种优雅的url表达式,资源的状态或者转移。 友好示例:Get /seckill/list 、Post /seckill/{seckillid}/execution 、Delete /seckill/{seckillid}/delete/ 不友好的例子:Po 阅读全文
posted @ 2019-09-09 21:30 永刚的点滴成长 阅读(106) 评论(0) 推荐(0) 编辑
 

2019年8月24日

摘要: 编程范式概览:面向过程,面向对象,函数式编程,事件驱动编程,面向切面等, AOP是什么? Spring AOP是采用面向切面编程的编程范式,而非编程语言,它只能解决特定问题,而非所有问题,它与OOP不是替代关系,而是补充。 AOP的初衷: DRY Don't Repeat Yourself SoC 阅读全文
posted @ 2019-08-24 13:16 永刚的点滴成长 阅读(164) 评论(0) 推荐(0) 编辑
 

2019年8月14日

摘要: 编程模型 1、面向对象编程OOP 2、面向切面编程AOP Java静态接口,Java动态代理,字节码提升。 面向切面的两个方面: 拦截判断:方法,注解,参数,异常 拦截执行:前置,后置,返回,异常 3、面向元数据编程: 泛型、反射、注解 4、面向函数编程FOP 函数式接口,默认方法,方法引用 编程思 阅读全文
posted @ 2019-08-14 18:24 永刚的点滴成长 阅读(322) 评论(0) 推荐(0) 编辑
 

2019年8月11日

摘要: 两条规定: 1、线程对共享变量所有的操作都必须在自己的工作内存中进行,不能直接从主内存中读取。 2、不同线程之间无法直接访问其他线程工作内存中的变量,线程间变量值的传递需要通过主内存来进行。 voltaile实现内存的可见性 深入来说是通过加入内存屏障和禁止重排序优化来实现的 1、对volatile 阅读全文
posted @ 2019-08-11 20:09 永刚的点滴成长 阅读(187) 评论(0) 推荐(0) 编辑