- 博客(10)
- 收藏
- 关注
原创 搭建Redis的sentinel模式
sentinel是Redis的一大特性,即哨兵模式。是指在Redis主从模式中,如果主节点宕机时,整个集群会推选出一位新主节点的一种高可用模式。 下面以三台机器进行部署,如图: 部署三台Redis节点 01、在主节点上部署Redis节点 (1)编写当前节点的信息文件:/hand/hap/redis/master.conf cluster-announce-ip 192.168.100.234 c...
2020-04-27 11:04:38
1002
原创 使用nginx转换HTTPS流量
背景 公司卖了一个产品给甲方,甲方要求部署后,要以https来访问。甲方提供了证书信息和私钥,记录一下部署过程。 实现 1、思路 在我们产品服务器上部署一个nginx、证书信息也放在这个服务器上。外界的https经过nginx变成http协议,大致思路如下: 2、安装过程 (1)上传证书、私钥到服务器 证书server.pem放于/hand/certificate/server.pem; 私钥...
2020-04-14 21:38:05
1027
原创 G1垃圾回收器
垃圾回收器的发展历程 背景 01、G1解决的问题 G1垃圾回收器是04年正式提出,12开始正式支持,在17年作为JDK9默认的垃圾处理器。 在04年的时候,java程序堆的内存越来越大,从而导致程序中可存活的活对象越来越多,因此GC的STW时间越来越长。这是G1要解决的主要问题:STW带来的停顿时间太长了。 CMS在此之前效率也很高,但活对象数量一多,STW时间也很长。而且CMS无法解决内存...
2020-04-10 16:42:25
916
原创 GC垃圾回收器
垃圾回收算法 01、垃圾回收的过程 在分代收集算法下: 当JVM内存不足时,就会触发年轻代得GC; 首先,会通过可达性分析来判断哪些对象垃圾对象; 接着,将这些对象放入死亡队列,进行对象得死亡判断与回收; 如果上述GC后,内存还不够。就会触发老年代GC。如果内存还不够,就会触发Full GC。 02、三种GC (1)Minor GC 在年轻代进行垃圾回收; 这种GC速度快、效率高、回收率高;...
2020-04-10 14:39:54
898
原创 JVM类加载过程详细分析
双亲委派加载模型 为什么需要双亲委派加载模型 主要是为了安全,避免用户恶意加载破坏JVM正常运行的字节码文件,比如说加载一个自己写的java.util.HashMap.class。这样就有可能造成包冲突问题。 类加载器种类 启动类加载器:用于加载jdk中rt.jar的字节码文件 扩展类加载器:用于加载jdk中/jre/lib/ext文件夹下的字节码文件 应用程序类加载器:加载classPath...
2020-04-10 14:27:25
949
原创 JVM基础结构与字节码执行引擎
JVM基础结构 JVM内部结构如下:栈、堆。 栈 JVM中的栈主要是指线程里面的栈,里面有方法栈、native方法栈、PC寄存器等等;每个方法栈是由栈帧组成的;每个栈帧是由局部变量表、操作数栈等组成。 每个栈帧其实就代表一个方法 堆 java中所有对象都在堆中分配;堆中对象又分为年轻代、老年代等等,不同代的对象使用不同垃圾回收算法。 -XMs:启动虚拟机预留的内存 -Xmx:最大的堆内存 ...
2020-04-10 14:18:16
831
原创 ConcurrentHashMap源码分析
1、它实现了ConcurrentMap接口,该接口定义了一些原子操作约定 2、线程安全 完全的并发读和高并发写 读操作完全无锁,牺牲了一致性;写操作部分有锁 它与HashTable、Collections.synchronizedMap HashMap支持null,ConcurrentHashMap、HashTable不支持null 3、java7 分段锁 哈希表/链表 4、java8 ...
2020-04-10 13:49:46
691
原创 HashMap源码与相关面试题
一、哈希表 哈希表是一种可以快速定位得数据结构。哈希表可以做到平均查找、插入、删除时间是O(1),当然这是指不发生Hash碰撞得情况。而哈希表最大得缺陷就是哈希值得碰撞(collision)。 Hash碰撞:就是指hash桶有多个元素了。常见解决哈希碰撞得方法就是在hash桶后面加个链表 这里就引入第一个问题:为什么Map的底层设计要采用哈希表的这种数据结构? HashMap设计时,要求其...
2020-04-10 13:37:06
929
原创 02、vs Code 如何设置网页代码实时预览
在写前端代码的时候,每次写完代码后,都需要我们保存,然后在游览器刷新查看效果,不断重复,很浪费时间。如何让 vsCode 在我们保存代码后,游览器就自动刷新呢? 在扩展下搜索live Server,点击安装 安装后,编译器下面会有Go Live,点击即可 这时候,我们修改 msg 的值,只需要保存,游览器就会自动刷新 ...
2019-03-29 20:45:13
13590
1
原创 01、将 vs Code 中的 html 代码在游览器中显示
vs code 是一款轻量型软件,本身是不支持将 html 代码在游览器中展示。这里需要下载第三方插件。 在 扩展下搜索 open in browser,点击安装 安装后,在 html 文件右击选择 Open in Default Browser,即可 游览器,即可显示 ...
2019-03-29 20:43:28
896
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人