摘要:
一、CAS机制 1.CAS(Compare-and-Swap),即比较并替换,java并发包中许多Atomic的类的底层原理都是CAS。 2.CAS需要有3个操作数: 1)需要读写的内存值 V 2)进行比较的预期值 A 3)拟写入的新值 B。 CAS指令执行时,当且仅当内存值V与预期值A相等时,将内 阅读全文
摘要:
一、高并发优化思路: 1.前端页面:用户点击按钮后置灰,禁止用户重复提交请求。动静分离 2.js层:限制用户在x秒之内只能提交一次请求。 3.服务层:缓存异步处理。消息队列和Redis。限流 阅读全文
摘要:
一、Elasticsearch概述 Elasticsearch 是一个基于Lucene的分布式搜索引擎。 搜索引擎三大过程:爬取内容、进行分词、建立反向索引。 二、Elasticsearch如何快速索引:倒排索引或反向索引 将key映射value,改为value映射key。 倒排索引:即把文件ID对 阅读全文
摘要:
一、装箱与拆箱 1.装箱:自动将基本数据类型转换为包装器类型。Integer的valueOf(int)方法 2.拆箱 :自动将包装器类型转换为基本数据类型。Integer的intValue()方法。 二、基本类型对应的包装类型 阅读全文
摘要:
参考:GC垃圾收集器分类 一、垃圾回收算法 1.标记-清除算法 2.复制算法 3.标记-整理算法 二、按垃圾收集器所处区域分类 1.新生代收集器:Serial(复制算法)、ParNew、Parallel Scavenge; 2.老年代收集器:Serial Old(标记-整理)、Parallel Ol 阅读全文
摘要:
一、实现原理 1.插入内存屏障,禁止指令重排序。编译器和处理器(cpu) 2.保证共享变量对所有线程的可见性。 阅读全文
摘要:
一、 “==” 和 equals()的区别 参考:“==” 和 equals()的区别 1. == :比较. 基本数据类型比较的是值;. 引用类型比较的是地址值。 2. equals(Object o):1)不能比较基本数据类型,基本数据类型不是类类型;2)a.比较引用类型时(该方法继承自Objec 阅读全文