摘要:
此篇博客中所有图片均来自elasticSearch官网以及官方发送的邮件 ES认证徽章 阅读全文
摘要:
package com.cmit.budget.strategy; import org.apache.commons.lang3.StringUtils; import org.springframework.stereotype.Component; import java.util.Map; 阅读全文
摘要:
一、FastDFS简介 FastDFS是一个轻量级的开源分布式文件系统,纯C实现,所以在Linux中部署时要引入C语言包 主要解决了大容量的文件存储和高并发访问的问题,文件存取时实现了负载均衡。 支持服务器在线扩容。支持相同内容的文件只保存一份,节约磁盘空间。 FastDFS没有官网,只有论坛:ht 阅读全文
摘要:
一、性能指标 1Byte(字节)=8bit(比特) 1Kb=1024Byte 1Mb=1024Kb 1Gb = 1024Mb 1Tb=1024Gb 注意:表示数据量的时候1k=1024,表示速度或速率时1k=1000 1、速率:每秒传输100bit数据的速率(简称bps) 1kb/s=1000b/s 阅读全文
摘要:
一、什么是分布式事务 分布式事务:涉及多个数据库或服务的事务 二、场景举例 下单:商品下单调用订单服务-->订单服务调用库存服务查看库存数量-->库存够-->DB-1-->返回订单服务信息-->订单服务DB中订单量+1 若库存DB数量-1成功,而订单DB数量+1失败,会导致整个下单流程出现异常。库存 阅读全文
摘要:
一、ThreadLocal 在ThreadLocal中设置的值是当前线程独有的。往当前线程中设置的值只有当前线程可以访问 Thread.currentThread.map(ThreadLocal,对象) 每个线程往ThreadLocal中设置的值都是往当前线程的map中设置的,不同的线程设置值在不同 阅读全文
摘要:
一、常见垃圾回收器组合参数设定 1、-XX: UseConcMarkSweepGC = ParNew + CMS + Serial Old 2、-XX: Use[arallelGC = Parallel Scavenge + Parallel Old(1.8默认)【PS + SerialOld】 3 阅读全文
摘要:
一、Runtime Data Area 1、包括 Program Counter:PC,存放指令的位置。 取PC中的位置,找到对应位置的指令-->执行该指令-->指令++ Direct Memory:JVM可以直接访问的内核空间的内存。NIO,提高效率,直线零拷贝 method area:被所有线程 阅读全文
摘要:
一、硬件层数据一致性 L0、L1、L2三层在一个CPU中,其余为共享空间 若x、y在主存中,主存将x、y加载到L3中。每个cpu都会缓存L3中数据,若此时cpu1将x变为1,cpu2将x变为2。则会造成数据不一致情况 解决办法:加总线锁,当cpu1操作x时,cpu2不能操作L3。以此来保证数据一致性 阅读全文
摘要:
一、JVM基础 1、JVM是一种半解释半编译的语言 编译:java文件-->javac编译-->class文件 解释:JVM去解释为二进制文件,交给操作系统去执行 2、JVM、JRE、JDK之间的关系 JRE=JVM+一些java的类库(String.class、Object.class等) JDK 阅读全文
摘要:
一、用户态和内核态 内核态:能访问所有指令 用户态:只能访问用户允许访问的指令,JVM工作在用户态 synchronized重量级锁:JVM要向某个资源加锁,要通过用户态向内核态申请资源 二、对象的内存布局 8字节的markword,记录了锁信息,gc信息,hashcode 4字节的类型指针,通过指 阅读全文