自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Slayer_Zhao的博客

会点算法の前端zzzz~~

  • 博客(102)
  • 收藏
  • 关注

转载 Java面试复习总结——Docker核心概念

目录一 先从认识容器开始1.1 什么是容器?1.2 图解物理机、虚拟机与容器二 再来谈谈Docker的一些概念2.1 什么是Docker?2.2 Docker思想2.3 Docker容器的特点2.4 为什么要用Docker三 容器 VS 虚拟机3.1 两者对比图3.2 容器与虚拟机 (VM) 总结3.3 容器与虚拟机 (VM)两者是可以共存的四 ...

2019-12-26 14:09:34 217

转载 Java面试复习总结(Redis篇7)——Redis分布式锁进化史

目录Redis分布式锁进化史各个版本的Redis分布式锁分布式Redis锁:Redlock总结Redis分布式锁进化史近两年来微服务变得越来越热门,越来越多的应用部署在分布式环境中,在分布式环境中,数据一致性是一直以来需要关注并且去解决的问题,分布式锁也就成为了一种广泛使用的技术,常用的分布式实现方式为Redis,Zookeeper,其中基于Redis的分布式锁的使用...

2019-12-26 13:16:59 83

转载 Java面试复习总结(Redis篇6)——Redis事务浅析与ACID特性介绍

目录事务用法事务中的错误为什么 Redis 不支持回滚(roll back)放弃事务使用 check-and-set 操作实现乐观锁了解WATCH使用 WATCH 实现 ZPOPRedis 脚本和事务redis事务的ACID特性事务MULTI、EXEC、DISCARD和WATCH是 Redis 事务相关的命令。事务可以一次执行多...

2019-12-26 13:14:43 207

转载 Java面试复习总结(Redis篇5)——Redis集群机制及一个Redis架构演进实例

Replication(主从复制)Redis的replication机制允许slave从master那里通过网络传输拷贝到完整的数据备份,从而达到主从机制。为了实现主从复制,我们准备三个redis服务,依次命名为master,slave1,slave2。配置主服务器为了测试效果,我们先修改主服务器的配置文件redis.conf的端口信息1. port 6300配置从服务...

2019-12-26 13:12:39 115

转载 Java面试复习总结(Redis篇4)——浅析Redis主从复制

目录Redis复制概论Redis复制方式复制优点1、高可用性2、高性能3、水平扩展性复制缺点复制实时性和数据一致性矛盾Redis复制原理及特性slave指向master复制过程增量复制免持久化复制slave只读模式半同步复制总结Redis复制概论数据库复制指的是发生在不同数据库实例之间,单向的信息传播的行为,通常由被复制...

2019-12-26 13:08:44 135

转载 Java面试复习总结(Redis篇3)——使用快照和AOF将Redis数据持久化到硬盘中

目录前言快照持久化AOF持久化验证快照文件和AOF文件总结前言我们知道Redis是一款内存服务器,就算我们对自己的服务器足够的信任,不会出现任何软件或者硬件的故障,但也会有可能出现突然断电等情况,造成Redis服务器中的数据失效。因此,我们需要向传统的关系型数据库一样对数据进行备份,将Redis在内存中的数据持久化到硬盘等非易失性介质中,来保证数据的可靠性。将...

2019-12-26 13:05:34 246

转载 Java面试复习总结(Redis篇1)——Redis总结

本文主要对Redis的设计和实现原理做了一个介绍很总结,有些东西我也介绍的不是很详细准确,尽量在自己的理解范围内把一些知识点和关键性技术做一个描述。如有错误,还望见谅,欢迎指出。 这篇文章主要还是参考我之前的技术专栏总结而来的。欢迎查看:重新学习Redishttps://blog.csdn.net/column/details/21877.html使用和基础数据结构(外观)redi...

2019-12-26 12:59:04 108

转载 Java面试复习总结(Redis篇2)——什么是Redis

目录redis 学习笔记redis 是什么?Redis 数据结构Redis 数据类型过期时间应用场景内存优化天下无难试之Redis面试刁难大全redis 学习笔记这篇 redis 学习笔记主要介绍 redis 的数据结构和数据类型,并讨论数据结构的选择以及应用场景的优化。redis 是什么?Redis是一种面向“键/值”对类型数据的分布式...

2019-12-26 12:54:30 91

转载 Java面试复习总结(Mysql篇11)——Mysql主从复制,读写分离,分表分库策略与实践

目录一、MySQL扩展具体的实现方式二、分表实现策略三、分库实现策略四、分库与分表实现策略五、分库分表总结六、总结Mycat实现主从复制,读写分离,以及分库分表的实践Mycat是什么一、分区分表二、Mycat 数据分片的种类三、Mycat 垂直切分、水平切分实战一、MySQL扩展具体的实现方式随着业务规模的不断扩大,需要选择合适的方案去应对...

2019-12-25 14:17:15 169

转载 Java面试复习总结(Mysql篇10)——以Java的视角来聊聊SQL注入

前言靶场准备首先我们来准备一个web接口服务,该服务可以提供管理员的信息查询,这里我们采用springboot + jersey 来构建web服务框架,数据库则采用最常用的mysql。下面,我们来准备测试环境,首先建立一张用户表jwtk_admin,SQL如下:然后插入默认的管理员:这样我们就有了两位系统内置管理员了,管理员密码采用MD5进行Hash,当然这是一个很简单的为了作为研...

2019-12-25 14:13:52 159

转载 Java面试复习总结(Mysql篇9)——MySQL里的那些日志

目录1.MySQL日志文件系统的组成2.错误日志3.InnoDB中的日志4- 慢查询日志5.二进制日志总结同大多数关系型数据库一样,日志文件是MySQL数据库的重要组成部分。MySQL有几种不同的日志文件,通常包括错误日志文件,二进制日志,通用日志,慢查询日志,等等。这些日志可以帮助我们定位mysqld内部发生的事件,数据库性能故障,记录数据的变更历史,用户...

2019-12-25 14:09:10 159

转载 Java面试复习总结(Mysql篇8)——Innodb中的事务隔离级别和锁的关系

目录Innodb中的事务隔离级别和锁的关系事务中的加锁方式MySQL中锁的种类Read Committed(读取提交内容)Repeatable Read(可重读)不可重复读和幻读的区别悲观锁和乐观锁MVCC在MySQL的InnoDB中的实现“读”与“读”的区别Innodb中的事务隔离级别和锁的关系前言:我们都知道事务的几种性质,数据库为了维护...

2019-12-25 14:04:23 115

转载 Java面试复习总结(Mysql篇7)——MySQL的事务隔离级别实战

目录事务的基本要素(ACID)事务的并发问题MySQL事务隔离级别事务的基本要素(ACID)  1、原子性(Atomicity):事务开始后所有操作,要么全部做完,要么全部不做,不可能停滞在中间环节。事务执行过程中出错,会回滚到事务开始前的状态,所有的操作就像没有发生一样。也就是说事务是一个不可分割的整体,就像化学中学过的原子,是物质构成的基本单位。  2、一致性(...

2019-12-25 14:02:21 113

转载 Java面试复习总结(Mysql篇6)——详解MyIsam与InnoDB引擎的锁实现

目录三类常见引擎:如何选择存储引擎:Mysql中的锁MyISAM的锁机制:并发插入锁调度InnoDB锁模式锁的实现方式:何时在InnoDB中使用表锁:死锁:避免死锁:三类常见引擎:MyIsam:不支持事务,不支持外键,所以访问速度快。锁机制是表锁,支持全文索引InnoDB:支持事务、支持外键,所以对比MyISAM,InnoDB的处理...

2019-12-25 13:56:53 111

转载 Java面试复习总结(Mysql篇5)——浅谈MySQL的中事务与锁

目录『浅入深出』MySQL 中事务的实现原子性回滚日志事务的状态并行事务的原子性持久性重做日志回滚日志和重做日志隔离性事务的隔离级别隔离级别的实现锁时间戳多版本和快照隔离隔离性与原子性一致性ACID总结浅谈数据库并发控制 - 锁和 MVCC概述悲观并发控制读写锁两阶段锁协议死锁的处理预防死锁...

2019-12-25 13:42:21 136

转载 Java面试复习总结(Mysql篇4)——Mysql索引实现原理和相关数据结构算法

目录一:Mysql原理与慢查询一个慢查询引发的思考二:索引建立三:浅析explain用法有什么用?怎么使用?参数介绍idselect_typeextrapossible_keyskeykey_lenrefrows四:慢查询优化建索引的几大原则回到开始的慢查询查询优化神器 - explain命令慢查询优化基本步骤...

2019-12-25 13:32:03 221

转载 Java面试复习总结(Mysql篇3)——Mysql索引实现原理和相关数据结构算法

目录MySQL索引一、简介二、语句三、索引类型四、缺点五、注意事项摘要数据结构及算法基础索引的本质B-Tree和B+TreeB-TreeB+Tree带有顺序访问指针的B+Tree为什么使用B-Tree(B+Tree)主存存取原理磁盘存取原理局部性原理与磁盘预读B-/+Tree索引的性能分析MySQL索引实现MyI...

2019-12-25 13:17:18 144

转载 Java面试复习总结(Mysql篇2)——MySQL 和 InnoDB

目录数据库的定义数据库和实例MySQL 的架构数据的存储如何存储表如何存储记录数据页结构索引索引的数据结构聚集索引和辅助索引索引的设计锁并发控制机制锁的种类锁的粒度锁的算法死锁的发生事务与隔离级别几种隔离级别脏读不可重复读幻读总结Innodb与Myisam引擎的区别与应用场景作为一名开发人员,在日常...

2019-12-24 16:51:52 156

转载 Java面试复习总结(Mysql篇1)——MySQL基本命令

前言开始使用我下面所有的SQL语句是基于MySQL 5.6+运行。MySQL 为关系型数据库(Relational Database Management System),一个关系型数据库由一个或数个表格组成, 如图所示的一个表格: 表头(header): 每一列的名称; 列(col): 具有相同数据类型的数据的集合; 行(row): 每一行用来描述某个人/物...

2019-12-24 16:45:50 108

转载 Java面试复习总结(JVM篇10)——再谈四种引用及GC实践

目录一、背景二、简介1.强引用 StrongReference2.弱引用 WeakReference3.软引用 SoftReference4.虚引用 PhantomReference三、小结参考文章一、背景Java的内存回收不需要程序员负责,JVM会在必要时启动Java GC完成垃圾回收。Java以便我们控制对象的生存周期,提供给了我们四种引用方式,引...

2019-12-24 11:12:35 85

转载 Java面试复习总结(JVM篇9)——JVM常用参数以及调优实践

目录调优准备性能分析CPU分析内存分析IO分析其他分析工具性能调优CPU调优内存调优IO调优其他优化建议JVM参数进阶参考资料参考文章对于调优这个事情来说,一般就是三个过程:性能监控:问题没有发生,你并不知道你需要调优什么。此时需要一些系统、应用的监控工具来发现问题。 性能分析:问题已经发生,但是你并不知道问题到底出在哪里。此...

2019-12-24 11:07:47 636 1

转载 Java面试复习总结(JVM篇8)——JVM监控工具与诊断实践

目录一、jvm常见监控工具&指令1、 jps:jvm进程状况工具2、jstat: jvm统计信息监控工具3、jinfo: java配置信息4、jmap: java 内存映射工具5、jhat:jvm堆快照分析工具6、jstack:java堆栈跟踪工具二、可视化工具三、应用1、cpu飙升2、线程死锁2.查看java进程的线程快照信息3、...

2019-12-24 11:04:29 168

转载 Java面试复习总结(JVM篇7)——Java的编译期优化与运行期优化

目录早期(编译期)优化晚期(运行期)优化java与C/C++编译器对比参考文章java语言的编译期其实是一段不确定的操作过程,因为它可以分为三类编译过程: 1.前端编译:把_.java文件转变为_.class文件 2.后端编译:把字节码转变为机器码 3.静态提前编译:直接把*.java文件编译成本地机器代码 从JDK1.3开始,虚拟机设计团队就把对性能的优化集中到了后端的即时编...

2019-12-24 10:59:12 128

转载 Java面试复习总结(JVM篇6)——JNDI,OSGI,Tomcat类加载器实现

目录打破双亲委派模型JNDIJNDI 的理解OSGI1.如何正确的理解和认识OSGI技术?Tomcat类加载器以及应用间class隔离与共享类加载器参考文章打破双亲委派模型JNDIJNDI 的理解JNDI是 Java 命名与文件夹接口(Java Naming and Directory Interface),在J2EE规范中是重要的规范之中的一...

2019-12-24 10:50:10 181

转载 Java面试复习总结(JVM篇5)——深入理解JVM类加载机制

目录一.目标:二.原理 (类的加载过程及其最终产品):三.过程(类的生命周期):加载:校验:准备:解析:初始化:四.类加载器:五.双亲委派机制:参考文章一.目标:1.什么是类的加载?2.类的生命周期?3.类加载器是什么?4.双亲委派机制是什么?二.原理 (类的加载过程及其最终产品):JVM将class文件字节码文件加载到...

2019-12-24 10:43:28 66

转载 Java面试复习总结(JVM篇4)——虚拟机字节码执行引擎

目录1 概述2 运行时栈帧结构2.1 局部变量表2.2 操作数栈2.3 动态连接2.4 方法返回地址2.5 附加信息3 方法调用3.1 解析3.2 分派3.3 动态类型语言的支持4 基于栈的字节码解释执行引擎4.1 解释执行4.2 基于栈的指令集和基于寄存器的指令集总结1 概述执行引擎是java虚拟机最核心的组成部件之一。虚...

2019-12-23 15:37:19 193

转载 Java面试复习总结(JVM篇3)——垃圾回收器详解

目录1 概述2 对象已经死亡?2.1引用计数法2.2可达性分析算法2.3 再谈引用2.4 生存还是死亡2.5 回收方法区3 垃圾收集算法3.1 标记-清除算法3.2 复制算法3.3 标记-整理算法3.4分代收集算法4 垃圾收集器4.1 Serial收集器4.2 ParNew收集器4.3 Parallel Scavenge收集器4....

2019-12-23 14:32:51 94

转载 Java面试复习总结(JVM篇2)——JVM垃圾回收基本原理和算法

目录JVM GC基本原理与GC算法Java关键术语Java HotSpot 虚拟机Java堆内存启动Java垃圾回收各种GC的触发时机(When)GC类型触发时机FULL GC触发条件详解总结什么是Stop the worldJava垃圾回收过程垃圾回收中实例的终结对象什么时候符合垃圾回收的条件?GC Scope 示例程序JVM...

2019-12-23 14:26:55 171

转载 Java面试复习总结(JVM篇1)——JVM内存的结构与消失的永久代

目录前言Java堆(Heap)方法区(Method Area)程序计数器(Program Counter Register)JVM栈(JVM Stacks)本地方法栈(Native Method Stacks)哪儿的OutOfMemoryErrorJDK8-废弃永久代(PermGen)迎来元空间(Metaspace)一、背景1.1 永久代(PermGe...

2019-12-23 14:14:28 91

转载 Java面试复习总结(并发篇15)——Java并发总结

目录线程安全互斥和同步JMM内存模型as-if-Serial,happens-beforevolatilesynchronized和锁优化CAS操作Lock类AQS锁Lock和Conditon并发工具类原子数据类型同步容器阻塞队列线程池类图常用线程池Fork/Join框架线程安全线程安全一般指多线程之间的操作结果...

2019-12-23 13:23:15 106

转载 Java面试复习总结(并发篇14)——JUC中常用的Unsafe和Locksupport

目录前言Unsafe类是啥?为什么叫Unsafe?JAVA高并发—LockSupport的学习及简单使用前言最近在看Java并发包的源码,发现了神奇的Unsafe类,仔细研究了一下,在这里跟大家分享一下。Unsafe类是在sun.misc包下,不属于Java标准。但是很多Java的基础类库,包括一些被广泛使用的高性能开发库都是基于Unsafe类开发的,比如Ne...

2019-12-23 13:18:47 134

转载 Java面试复习总结(并发篇13)——Java 中的 HashMap 和 ConcurrentHashMap 全解析

目录前言Java7 HashMapput 过程分析get 过程分析Java7 ConcurrentHashMap初始化put 过程分析get 过程分析并发问题分析Java8 HashMapput 过程分析get 过程分析Java8 ConcurrentHashMap初始化put 过程分析扩容:tryPresizeget 过程...

2019-12-23 13:01:48 69

转载 Java面试复习总结(并发篇12)——深度解读 java 线程池设计思想及源码实现

目录前言总览Executor 接口ExecutorServiceFutureTaskAbstractExecutorServiceThreadPoolExecutorExecutors总结前言我相信大家都看过很多的关于线程池的文章,基本上也是面试的时候必问的,如果你在看过很多文章以后,还是一知半解的,那希望这篇文章能让你真正的掌握好 Java 线程...

2019-12-23 12:55:12 87

转载 Java面试复习总结(并发篇11)——解读 Java 阻塞队列 BlockingQueue

目录前言BlockingQueueBlockingQueue 实现之 ArrayBlockingQueueBlockingQueue 实现之 LinkedBlockingQueueBlockingQueue 实现之 SynchronousQueueBlockingQueue 实现之 PriorityBlockingQueue总结前言最近得空,想写篇文章好好...

2019-12-23 12:51:30 89

转载 Java面试复习总结(并发篇10)——Java 读写锁 ReentrantReadWriteLock 源码分析

目录使用示例ReentrantReadWriteLock 总览源码分析读锁获取读锁释放写锁获取写锁释放锁降级总结本文内容:读写锁 ReentrantReadWriteLock 的源码分析,基于 Java7/Java8。阅读建议:虽然我这里会介绍一些 AQS 的知识,不过如果你完全不了解 AQS,看本文就有点吃力了。使用示例下面这个例子非常实用,我...

2019-12-23 12:47:24 112

转载 Java面试复习总结(并发篇9)——AQS共享模式与并发工具类的实现

目录前言CountDownLatch使用例子源码分析CyclicBarrierSemaphore总结前言这篇文章是 AQS 系列的最后一篇,第一篇,我们通过 ReentrantLock 公平锁分析了 AQS 的核心,第二篇的重点是把 Condition 说明白,同时也说清楚了对于线程中断的使用。这篇,我们的关注点是 AQS 最后的部分,AQS 共享模式...

2019-12-22 17:24:35 71

转载 Java面试复习总结(并发篇8)——AQS中的公平锁与非公平锁,Condition

目录公平锁和非公平锁Condition1. 将节点加入到条件队列2. 完全释放独占锁3. 等待进入阻塞队列4. signal 唤醒线程,转移到阻塞队列5. 唤醒后检查中断状态6. 获取独占锁7. 处理中断状态* 带超时机制的 await* 不抛出 InterruptedException 的 awaitAbstractQueuedSynchroniz...

2019-12-22 17:22:03 427

转载 Java面试复习总结(并发篇7)——JUC的核心类AQS详解

目录简介AQS 结构线程抢锁解锁操作总结示例图解析简介在分析 Java 并发包 java.util.concurrent 源码的时候,少不了需要了解 AbstractQueuedSynchronizer(以下简写AQS)这个抽象类,因为它是 Java 并发包的基础工具类,是实现 ReentrantLock、CountDownLatch、Semaphore、Fu...

2019-12-22 17:09:06 324

转载 Java面试复习总结(并发篇6)——Java内存模型JMM总结

目录简介一、Java内存区域(JVM内存区域)二、Java内存模型三、as-if-serial语义、happens-before原则3.1 as-if-serial语义3.2 happens-before原则3.3 happens-before定义3.3 happens-before对比as-if-serial3.4 happens-before具体规则...

2019-12-22 17:00:28 160

转载 Java面试复习总结(并发篇5)——JMM中的final关键字解析

目录前言写final域的重排序规则读final域的重排序规则如果final域是引用类型为什么final引用不能从构造函数内“逸出”final语义在处理器中的实现JSR-133为什么要增强final的语义参考文献前言与前面介绍的锁和volatile相比较,对final域的读和写更像是普通的变量访问。对于final域,编译器和处理器要遵守两个重排序规则:...

2019-12-22 16:52:22 77

空空如也

空空如也

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

TA关注的人

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