自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(15)
  • 收藏
  • 关注

原创 juc常用方法,线程状态,锁的原理

多线程cas,分段锁,锁升级,以及线程的常用方法

2023-02-27 12:58:02 119

原创 通过java代码认识zookeeper

zookeeper的代码实现//用于阻塞线程CountDownLatch cc = new CountDownLatch(1);//减一,使线程继续运行cc.countDown//使进程阻塞cc.await()zookeeper基本演示package com.msb.zookeeper;import org.apache.zookeeper.*;import org.apache.zookeeper.data.Stat;import java.util.concurrent.Co

2022-04-01 16:08:28 1716

原创 zookeeper分布式协调

zookeeper分布式协调安装笔记准备 node01~node041、所有虚拟机安装jdk,并设置javahome3、下载zookeeper zookeeper.apache.org3、tar xf zookeeper.*.tar.gz4、mkdir /opt/mashibing5、mv zookeeper /opt/mashibing6、vi /etc/profile​ export ZOOKEEPER_HOME=/mashibing/apache-zooke

2022-04-01 16:07:53 177

原创 底层知识笔记

计算机常识汇编语言汇编语言的本质:机器语言的助记符,气死他就是机器语言计算机通电—>CPU读取内存中程序(电信号输入)—》时钟发生器不断震荡通断电—》推动CPU内部一步一步执行(执行多少取决于指令需要的时钟周期)—》计算完成—》写回(电信号)—》给显卡输出(sout,或者图形)CPU的组成1、PC->Program Counter 程序计数器(记录当前指令地址)2、Register—>暂时存储CPU计算需要用到的数据3、ALU—》Arithmetic&Login Un

2022-03-20 21:04:17 3789

原创 zookeeper底层原理

zookeeper的原理zk的数据状态不在内存,用磁盘来保存日志扩展性observer仅仅是为了放大查询能力设计的,并不参与查询可靠性可靠性可以快速恢复leader,当一个leader挂掉,并没有新的leader确定的时候,并不能对外提供服务,防止错误的数据提供给client,并且其中的底层中用到了paxos算法,和zab广播算法。paxos算法分布式必用到的算法。保证的是在分布式情况下数据的正确与可靠。paxos算法详解paxos算法是通过事务id与投票机制来确定ZAB通过广播

2022-02-24 14:47:21 195

原创 mysql调优3查询优化

查询优化mysql的基本架构图管理连接,权限验证词法分析,语法分析执行计划,索引选择操作引擎,返回结果查询慢的原因网络,CPU,IO,上下文切换,系统调用,生成统计信息,锁等待时间优化数据访问查询性能低下的主要原因是访问的数据太多,某些查询不可避免的需要筛选大量的数据,我们可以通过减少访问数据量的方式进行优化1、确认应用程序是否在检索大量超过需要的数据2、确认mysql服务器层是否在分析大量超过需要的数据行是否向数据库请求了不需要的数据1、查询不需要的记录我们常常会误以为mys

2022-01-22 19:21:44 638

原创 事务的传播特性与原理

事务的特性及其原理事务的特性原子性,隔离性,持久性3种特性共同实现保证的一致性​ ACID:​ 原子性:全部成功执行或者全部不执行​ 一致性:保证了当事务结束后,系统状态是一致的,最核心和最本质的要求​ 隔离性:使得并发执行的事务,彼此无法看到对方的中间状态,锁,mvcc(多版本并发控制)​ 持久性:保证了事务完成后所作的改动都会被持久化 ,redo log​ 数据库的事务隔离级别有四种,分别是读未提交、读已提交、可重复读、序列化,不同的隔离级别下会产生脏读、幻读、不可重复读等相

2022-01-21 18:05:50 784

原创 Mysql调优(2)索引

mysql的索引Mysql索引的数据结构与选择mysql中B+树是mysql索引的最主要的存储结构,因为除了B+树之外还有hash表,只不过针对的存储引擎是不同的,在使用索引的时候,为了提高整体数据的查询效率,尽可能少的从磁盘里读取数据,同时要保证读取的数据要足够有效,不可能一口气把全量数据都读到内存中,所以要分块读取,而在考虑分块读取的时候,要考虑到存储引擎磁盘在和内存交互的时候,他是以页为单位的,而我们在进行数据读取的时候,一般读的都是页的整数倍,像innodb的存储引擎读取的是16k,为什么要使

2022-01-21 17:26:15 876

原创 Mysql调优(1)

性能监控使用show profile查询工具set profileing=1;该工具默认为关闭的,通过该命令打开工具。show profiles;查询所有sql语句的执行时间。并且有一个Query_ID属性,该属性用于后面query用来查看详细信息show profile for query 2;查看query_id为2的sql语句运行详情时间show profile all for query 1:查看最后一条sql的所有性能信息show profile block io for query

2022-01-06 17:11:53 867

原创 设计模式的单例模式

单例模式饿汉式饿汉式类加载到内存后,就实例化一个单例,JVM保证线程安全简单实用,推荐使用唯一缺点:不管是否用到与否,类装载时就完成实例化public class Mgr01 { //2、通过静态常量获取初始化 private static final Mgr01 INSTANCE = new Mgr01(); //1、私有化构造方式,确保其他类创建不了 private Mgr01() { } //3、外部只能通过此方式获取该类对象 public st

2021-12-29 14:46:23 117

原创 源码必备技能,反射

类的加载过程​ Class类的实例表示正在运行的Java应用程序中的类和接口,每个类只会产生一个Class对象,在类加载的时候自动创建当用户想要获取任何一个Class类有三种方式:​ 1、Object→getClass()​ Class clazz = new Emp().getClass();​ 2、任何数据类型都有一个静态的class属性​ Class clazz = Emp.class;​ 3、通过Class.forName()​ Class clazz = Class.forN

2021-12-29 14:34:46 126

原创 excel的poi和EasyExcel的基本读写

java操作excel的读写操作excel详情excel中的属性03版本07版本excelPOIeasyExcel读和写填充excel详情excel中的属性1、工作簿:一个excel就是一个工作簿workbook2、工作表:就是一个sheet,一个工作簿可以有多个工作表3、行:row4、列:cell根据属性创建对象03版本行数:65536行,java对象:HSSFWorkbook();后缀名:xls优点:过程写入缓存,不操作磁盘,最后一次写入磁盘,速度快07版本excel

2021-12-29 14:29:23 457

原创 Redis

Redis(单机,单进程,缓存,数据库)redis是单进程,单线程,单实例redis里面分了16个分区,我们通过自己的需要进行分区的设置二进制安全:与外界交互,只拿字节流启动时在redis-cli启动时添加–raw,会对编码格式化,可以拿出汉语不变化,不添加默认16进制获取flushall:清库expire:过期命令expireat:定时,指定时间过期redis安装:utlis下的install_server.sh安装配置文件地址在/etc/redis/里面日志文件/var/log/r

2021-12-29 14:28:00 368

原创 ssm框架的整合

ssm框架整合前言一、使用步骤1.创建一个maven项目,并且把项目添加为web项目2.加入pom依赖3、配置web.xml4、配置spring.xml文件5、配置springmvc.xml文件6、mybatis的配置总结前言虽然现在都在使用springboot开发,springboot也是基于ssm之后做的简化整合时的配置都是大同小异的,为了方便以后万一用到ssm框架,做个笔记方便以后搭建提示:以下是本篇文章正文内容,下面案例可供参考一、使用步骤1.创建一个maven项目,并且把项目添加

2021-10-24 15:27:42 69

原创 java8特性笔记

Java8特性java8后接口的变化Lambda表达式函数式接口java8后接口的变化 在了解java8特性之前,需要了解java8之后接口的变化。java8之前的接口中有哪些东西?1、常量(public static final)2、抽象方法(public abstract)java8之后接口的变化1、默认方法默认方法遵循的原则类优先原则:一旦父类中的方法和接口中的默认方法冲突,接口中的那个方法就会忽略,调用父类中的方法当实现的多个接口中有同一个默认方法,实现类必须重写该方法,调用

2021-08-12 19:43:42 80

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除