![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java
文章平均质量分 88
皓月v
这个作者很懒,什么都没留下…
展开
-
面试:奇奇怪怪算法题
一、概率相关67. 总结篇:面试中随机数"等概率"vs"不等概率"生成问题[random generator with equal or unequal probability]原创 2021-05-15 20:44:37 · 264 阅读 · 0 评论 -
面试:系统设计问题
占位符原创 2021-05-08 19:01:14 · 857 阅读 · 0 评论 -
Mybatis基础知识
占位符原创 2021-05-08 18:59:21 · 168 阅读 · 0 评论 -
消息队列基础知识
占位符原创 2021-05-08 18:58:23 · 756 阅读 · 0 评论 -
Netty基础知识
占位符原创 2021-05-08 18:57:22 · 106 阅读 · 0 评论 -
高并发、高可用下数据一致性问题分析
随着业务量的增加,目前的系统都朝着高并发、高可用的方向发展,同时带来了分布式数据的一致性问题。例如:数据库主从架构、读写分离,存在访问时的数据一致性问题为了进一步提高并发量,在数据库上层又引入一层缓存。现在又产生了缓存与数据库中的数据一致性问题然后为了缓存的高并发,缓存也采用主从架构,缓存间进行主从复制,访问时又有数据一致性问题以下就上述问题进行分析讨论,缓存此处默认为redis。相关内容分布在其他的文章中,在此对其进行集中整合下。面试:MySQL基础知识——六、3主从复制面试:redis基原创 2021-05-08 13:33:04 · 1241 阅读 · 0 评论 -
JVM基础知识
这方面的知识推荐看《深入理解Java虚拟机》一、JVM垃圾收集器Serial收集器(复制算法): 新生代单线程收集器,标记和清理都是单线程,优点是简单高效;ParNew收集器 (复制算法): 新生代收并行集器,实际上是Serial收集器的多线程版本,在多核CPU环境下有着比Serial更好的表现;Parallel Scavenge收集器 (复制算法): 新生代并行收集器,追求高吞吐量,高效利用 CPU。吞吐量 = 用户线程时间/(用户线程时间+GC线程时间),高吞吐量可以高效率的利用CPU时间,原创 2021-05-06 16:58:03 · 165 阅读 · 0 评论 -
RPC基础知识
一、基于HTTP的远程调用方案(包含了接口规范、序列化反序列化等) 和使用RPC的远程调用方案有什么不同。有了前者,为什么还要有后者?从技术发展进程来讲,先有RPC后有HTTPRPC在1984年就被人用来做分布式系统的通信,Java在1.1版本提供了Java版本的RPC框架(RMI),而HTTP协议在1990年才开始作为主流协议出现,而且HTTP发明的场景是用于web架构,而不是分布式系统间通信,这导致了在很长一段时间内,HTTP都是浏览器程序和后端web系统通信用的东西,上面的文档格式都是HTML(非原创 2021-05-05 22:12:19 · 261 阅读 · 0 评论 -
分布式相关理论知识
主要内容出自:cs-notes一、CAP二、BASE三、Paxos四、Raft五、分布式锁参考本人另一篇博文:面试:redis基础知识六、分布式事务七、一致性Hash参考本人另一篇博文:面试:redis基础知识转载 2021-05-05 14:51:45 · 258 阅读 · 0 评论 -
多分支条件下Switch为什么比if-else快
一、问题背景在做语句块级别的动态插桩工具时,需要获取方法中的控制流信息,需要解析jvm指令。像for、while等循环,解除语法糖后会变成if、goto语句,这其中比较难解析的是tableSwitch与lookupswitch指令,他们对应Java语法中的Switch语句。二、指令分析这两个字节码指令后都会跟0-3个nop空白填充,目的是为了让操作数能够4字节对齐其中tableSwitch对齐填充后会跟三个32位有符号整数,即default地址、low值、high值。再然后会跟high-low+原创 2021-05-05 11:54:39 · 213 阅读 · 0 评论 -
面试:redis基础知识
主要内容出自:Java知识体系最强总结(2020版)一、Redis数据类型及应用场景数据类型可以存储的值操作string字符串、整数或者浮点数对整个字符串或者字符串的其中一部分执行操作对整数和浮点数执行自增或者自减操作list列表从两端压入或者弹出元素对单个或者多个元素进行修剪,只保留一个范围内的元素set无序集合添加、获取、移除单个元素检查一个元素是否存在于集合中计算交集、并集、差集从集合里面随机获取元素hash包含键值对的无序散列表添加、获取、原创 2021-03-25 22:15:48 · 898 阅读 · 0 评论 -
面试:Spring全家桶
主要内容出自:Java知识体系最强总结(2020版)一、Spring Beans1、容器中bean的生命周期2、bean的作用域Spring框架支持以下五种bean的作用域:singleton : bean在每个Spring ioc 容器中只有一个实例。prototype:一个bean的定义可以有多个实例。request:每次http请求都会创建一个bean,该作用域仅在基于web的Spring ApplicationContext情形下有效。session:在一个HTTP Sessio原创 2021-03-24 22:34:12 · 285 阅读 · 0 评论 -
面试:计算机网络
1、url输入的过程发生了什么dns->http->tcp->解析http->响应html->返回html->浏览器展示浏览器缓存->hosts缓存->路由缓存->本地域名服务器->根域名服务器->顶级域名服务器->域域名服务器...原创 2021-03-23 21:44:44 · 120 阅读 · 0 评论 -
面试:Java多线程基础知识
主要内容来自:Java-concurrencyJavaGuide一、线程状态及基本操作1、创建线程的方式继承Thread类,重写run()方法实现Runable接口实现Callable接口实现 Runnable 接口和 Callable 接口的区别:Runnable 接口不会返回结果或抛出检查异常,但是Callable 接口可以。2、线程状态转换3、线程间的通信、协作interrupted中断可以理解为线程的一个标志位,它表示了一个运行中的线程是否被其他线程进行了中断操作。原创 2021-03-14 17:44:49 · 462 阅读 · 1 评论 -
面试:MySQL基础知识
主要内容来源:JavaGuideCS-Notes一、存储引擎1、InnoDB是 MySQL 默认的事务型存储引擎,只有在需要它不支持的特性时,才考虑使用其它存储引擎。实现了四个标准的隔离级别,默认级别是可重复读(REPEATABLE READ)。在可重复读隔离级别下,通过多版本并发控制(MVCC)+ Next-Key Locking 防止幻影读。主索引是聚簇索引,在索引中保存了数据,从而避免直接读取磁盘,因此对查询性能有很大的提升。内部做了很多优化,包括从磁盘读取数据时采用的可预测性读、能够原创 2021-03-12 16:28:54 · 481 阅读 · 1 评论 -
面试:Java基础知识点
记录Java中的一些小知识点。1、泛型相关Java泛型类型擦除以及类型擦除带来的问题JAVA 泛型中的通配符 T,E,K,V,?2、==、equals与hashcode基本数据类型==比较的是值,引用数据类型==比较的是内存地址Object.equals()等价于"==",对地址进行判断public boolean equals(Object obj) { return (this == obj);}对象内容判断是否相等,需要重写equals()方法。String已原创 2021-03-08 15:59:33 · 378 阅读 · 0 评论 -
字符串常量池、class常量池、运行时常量池的联系与区别
为防止网站失效,在此将内容复制下来原文链接1、全局字符串池(string pool也有叫做string literal pool)全局字符串池里的内容是在类加载完成,经过验证,准备阶段之后在堆中生成字符串对象实例,然后将该字符串对象实例的引用值存到string pool中(记住:string pool中存的是引用值而不是具体的实例对象,具体的实例对象是在堆中开辟的一块空间存放的。)。在HotSpot VM里实现的string pool功能的是一个StringTable类,它是一个哈希表,里面存的是驻转载 2021-03-03 20:27:53 · 400 阅读 · 2 评论 -
Spring异步调用传递Request对象问题分析
问题描述:近期在实验室做了个动态插桩工具,在对甲方项目测试过程中,发现对含有线程池异步调用的方法进行插桩时,子线程会报空指针异常。问题原因:动态插桩工具向待测软件注入的代码中包含了如下语句,利用spring提供的方法获取Request与Response对象。ServletRequestAttributes sra$2 = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes();HttpServletRequest r原创 2020-10-27 22:12:01 · 3024 阅读 · 1 评论 -
Springboot自己遇到的问题汇总
1、@Autowired与@Component使用时,Autowired注释的对象为null解决:使用spring进行依赖注入时,不能new对象原创 2020-05-11 00:00:44 · 376 阅读 · 0 评论