自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(14)
  • 资源 (38)
  • 收藏
  • 关注

原创 MySql面试题集

1、一张表,里面有 ID 自增主键,当 insert 了 17 条记录之后, 删除了第 15,16,17 条记录,再把 Mysql 重启,再 insert 一条记 录,这条记录的 ID 是 18 还是 15 ?答:如果表的类型是MyISAM,那么是18。因为MyISAM表会把自增主键的最大ID记录到数据文件里,重启MySql自增主键的最大ID也不会丢失。如果表的类型是InnoDB,那么是15。InnoDB表只是把自增主键的最大ID记录到内存中,所以重启数据库或者是对表进行OPIMIZE操作,都会导致最

2020-06-28 17:39:18 651

原创 Redis高并发分布式锁详解

Redis高并发分布式锁的实现1.分布式锁介绍在计算机系统中,锁作为一种控制并发的机制无处不在。单机环境下,操作系统能够在进程或线程之间通过本地的锁来控制并发程序的行为。而在如今的大型复杂系统中,通常采用的是分布式架构提供服务。分布式环境下,基于本地单机的锁无法控制分布式系统中分开部署客户端的并发行为,此时分布式锁就应运而生了。一个可靠的分布式锁应该具备以下特性:互斥性:作为锁,需要保证任何时刻只能有一个客户端(用户)持有锁可重入: 同一个客户端在获得锁后,可以再次进行加锁高可用:获取

2020-06-21 23:06:46 630

原创 Redis--Set结构及其应用场景

前言集合(set)类型也是用来保存多个 字符串元素,但和列表类型不一样的是,集合中 不允许有重复元素, 并且集合中的元素是无序的, 不能通过索引下标 获取元素。Set数据结构Set应用场景微信抽奖小程序如下:用户18888,18889,18890参与抽奖用set命令SADD key userId,用SMEMBERS key可以查看参与抽奖的所有用户,SRANDMENBER act:1008 2 在所有参与抽奖的用户中随机抽取两个,SRANDMENBER act:1008 1 在所有参.

2020-06-20 11:22:31 736 1

原创 Redis--Hash&List介绍和使用场景

1.Hash数据结构Hash类型是String类型的field和value映射表,或者说是一个String集合,它特别适合存储对象,相比较而言,将一个对象类型存储在Hash类型里要比存储在String类型类,占用更小的内存空间,并方便存取整个对象。在Redis中,哈希类型是指键值本身又是一个键值对结构,形如:value={{field1,value1},{field2,value2},{fieldN,valueN}}Redis键值对和哈希类型二者的关系,如下图所示:Hash结构...

2020-06-19 23:41:20 4160

原创 Redis之String应用场景

NOSQL之RedisRedis是一款由key-value存储的软件。说起NOSQL,有文档型、键值型、列型存储、图形数据库。其中,在简单的读写性能来说,键值型是最快的。Redis作为目前市面上使用最多的键值型数据存储软件,内置了多种类型的数据结构,并且提供了高可用解决方案,使用方便快捷。市面上有很多语言的库可以调用Redis服务器。Redis的核心数据结构主要有以下五种:String,Hash,List,Set ZsetString介绍string是以一种纯字符串作为value的形式存在的。

2020-06-17 17:03:31 957

原创 Volatile原子性分析

Volatile原子性可通过下面例子来说明每个线程都对共享变量num做了1000++,一共有10个线程多次运行上面程序得到的结果num<=10000,而不是理想中的num=10000那究竟是什么原因呢?通过下图说明,假设线程1和线程2同时从主内存将num变量read读取出来,再load载入工作内存,use使用线程执行代码,线程1和线程2都对num++操作,此时线程1和线程2的num值都为1,线程1和线程2都对变量进行assign赋值操作,更改工作内存里num的值为1,此时假设线程1先

2020-06-16 14:56:05 757

原创 Volatile可见性底层实现原理

CPU多级缓存主内存(RAM):也就是所谓的内存条,一般当数据写入电脑磁盘的时候需要先写入主内存,然后再写入磁盘。系统主线:连接系统cpu和主内存的系统主线,就比如台式电脑连接主板上连接cpu和内存条的主线。如下图所示最简单的高速缓存的配置,数据的读取和存储都经过高速缓存,CPU核心与高速缓存有一条特殊的快速通道;主存和高速缓存都连在系统总线上,这条总线还用于其他组件的通信。高速缓存出现不久,系统变得越来越复杂,高速缓存与主存之间的速度差异被拉大,直到加入了另一级缓存,新加入的这级缓

2020-06-15 17:29:15 1321

原创 JVM调优案例详解及面试题

JVM调优目的减少STW (Stop The Work),减少full gc的次数和缩短full gc的时间一个4核8G的订单系统,假设给JVM运行内存为3个G,按照上图比例老年代可分2G,Eden 800M,S0,S1各100M,线程运行每秒产生60M对象,大概运行13秒就会占满Eden区,前12秒产生的对象在做一个minor gc后被当作垃圾对象处理掉,第13秒产生的对象不是垃圾对象,会被放到S0区第13秒产生的60M对象大于S0区的50%会被放到老年代old,参考如下1.4对象动态年龄判断,因

2020-06-14 16:33:20 2988

原创 JDK体系及JVM架构详解

JDK体系结构1. 栈 (线程)每当启动一个新线程的时候,java虚拟机都会为它分配一个java栈。java栈主要用来存储局部变量,如下图当执行main方法时,就启动了一个线程,java虚拟机都会为它分配一个栈内存区域用来存储局部变量a,b,cjava以栈帧为单位保存线程的运行状态。虚拟机只会对java栈执行两种操作:以栈帧为单位的压栈或者出栈。遵循栈的先进后入原则FILO...

2020-06-14 00:13:41 952 3

原创 JVM指令手册

栈和局部变量操作将常量压入栈的指令aconst_null 将null对象引用压入栈iconst_m1 将int类型常量-1压入栈iconst_0 将int类型常量0压入栈iconst_1 将int类型常量1压入栈iconst_2 将int类型常量2压入栈iconst_3 将int类型常量3压入栈iconst_4 将int类型常量4压入栈iconst_5 将int类型常量5压入栈lconst_0 将long类型常量0压入栈lconst_1 将long类型常量1压入栈fconst_0

2020-06-13 10:50:53 157

原创 MySQL存储引擎索引实现解析

MySQL存储引擎是表的存储引擎1.Myisam存储引擎1.1.Myisam存储引擎底层表的存储结构如下user.frm 文件存储表的表结构user.MYD 文件存储表的数据行记录user.MYI 文件存储表的索引字段1.2 Myisam底层SQL查询过程假如查找col1=49,先判断col1是否是索引字段,如果是索引字段,就在MYI文件查找磁盘文件地址针,根据B+树的特点查找磁盘文件地址针,并一次性定位到MYD文件的行元素2.InnoDB存储引擎 *2.1.InnoDB

2020-06-12 00:14:01 203

原创 二叉树,红黑树,B Tree,B+Tree详解

二叉树:二叉树是每个节点最多有2个子树的一种数据结构。二叉树的最高层就是根节点,下面又有很多的子节点,25是15的父节点,而15又是25的子节点,其实就是一个相互的关系, 而15和44又是兄弟节点,但是有一点我们需要注意的地方就是叶子节点, 叶子节点则是红框里面的节点,就是没有子节点的我们就称它为叶子节点。而在二叉树中,我们还要理解一个概念,这个概念就是“树的深度”树深度:从根节点开始(深度为0)自最高层往下递增,在上面的图中我们可以知道,25的深度是0, 15和44深度是1,10,20,21和27

2020-06-11 16:24:27 1018

原创 Socket 简介及面试题

Socket 简介1.什么是Socket?Socket是对TCP/IP 协议的抽象,是操作系统对外开放的接口。socket起源于Unix,而Unix/Linux基本哲学之一就是“一切皆文件”,都可以用“打开open –> 读写write/read –> 关闭close”模式来操作。我的理解就是Socket就是该模式的一个实现,socket即是一种特殊的文件,一些socket函数就是对其进行的操作(读/写IO、打开、关闭).2.Socke...

2020-06-09 16:22:35 5341

原创 OSI七层协议模型、TCP/IP四层模型学习笔记

OSI七层协议模型、TCP/IP四层模型学习笔记OSI七层和TCP/IP四层的关系1.1 OSI引入了服务、接口、协议、分层的概念,TCP/IP借鉴了OSI的这些概念建立TCP/IP模型。1.2 OSI先有模型,后有协议,先有标准,后进行实践;而TCP/IP则相反,先有协议和应用再提出了模型,且是参照的OSI模型。1.3 OSI是一种理论下的模型,而TCP/IP已被广泛使用,成为网络互联事实上的标准。 TCP:transmission control protocol 传输控制协议 UDP:use

2020-06-08 16:40:28 169

apollo分布式配置中心资料

apollo分布式配置中心资料

2023-05-02

ruby安装包下载 - ruby环境搭建

ruby安装包下载 | ruby环境搭建

2023-02-22

基于springboot,springcloud, gradle的天气预报管理系统

基于springboot,springcloud, gradle的天气预报管理系统

2023-02-15

kafka + zookeeper 集群jar包

kafka_2.12-2.2.1.tgz zookeeper-3.4.14.tar.gz

2023-02-11

高可用的并发解决方案nginx+keepalived资料

nginx-1.23.3.tar.gz keepalived-2.2.7.tar.gz apache-tomcat-8.5.85.tar.gz

2023-02-07

elastic-job相关资料下载

elastic-job-lite-console-3.0.0.M1-SNAPSHOT.tar.gz netcat-win32-1.12.zip ZooInspector.zip zookeeper-3.4.9.tar.gz cron表达式详解.doc

2023-02-03

shardingJdbc 小demo 源码下载

Apache ShardingSphere 是一套开源的分布式数据库解决方案组成的生态圈。 组成部分: JDBC、Proxy 和 Sidecar(规划中)这 3 款既能够独立部署,又支持混合部署配合使用的产品组成。 功能特性:它们均提供标准化的数据水平扩展、分布式事务和分布式治理等功能,可适用于如 Java 同构、异构语言、云原生等各种多样化的应用场景。

2023-01-30

activemq-5.16.5-bin.zip

Apache ActiveMQ是Apache软件基金会所研发的开放源代码消息中间件;由于ActiveMQ是一个纯Java程序,因此只需要操作系统支持Java虚拟机,ActiveMQ便可执行。

2023-01-20

docker源码及资料

docker源码及资料

2022-07-22

Java面试题虚拟机片源码资料

Java面试题虚拟机片源码资料

2022-07-10

JAVA面试题并发篇源码及资料

JAVA面试题并发篇源码及资料

2022-07-08

java面试题基础篇源码及资料

java面试题基础篇源码及资料

2022-07-07

品达通权限管理系统第一天资料及源码

品达通权限管理系统第一天资料及源码

2022-06-22

springcloud第二天源码及资料

springcloud第二天源码及资料

2022-06-21

springcloud第一天源码和资料

springcloud第一天源码和资料

2022-06-20

与dubbo 相关的源码

与dubbo 相关的源码

2022-06-19

zookeeper.rar

zookeeper 压缩包下载,包含linux和windows版本

2022-06-17

svn工具软件及相关文档

svn客户端和服务器端及相关资料

2022-05-02

linux mysql 5.7 64位 rpm包

linux mysql 5.7 64位 rpm包

2022-04-04

tomcat 8.5 linux版本

tomcat 8.5 linux版本

2022-04-04

linux JDK1.8 64位

linux JDK1.8 64位

2022-04-04

Ajax相关源码jar包下载

Ajax相关源码jar包下载

2022-03-31

sybase连接驱动jconn4.jar

sybase连接驱动jconn4.jar

2022-03-28

web综合练习页面及jar包

web综合练习页面及jar包

2022-03-23

发邮件客户端,服务端,jar包

java发邮件所需的客户端,服务端,jar包

2022-03-19

随机生成验证码工具jar包

验证码工具jar包,随机生成验证码

2022-02-13

VSCodeUserSetup-x64-1.55.2.rar

Visual Studio Code(简称“VS Code” [1] )是Microsoft在2015年4月30日Build开发者大会上正式宣布一个运行于 Mac OS X、Windows和 Linux 之上的,针对于编写现代Web和云应用的跨平台源代码编辑器, [2] 可在桌面上运行,并且可用于Windows,macOS和Linux。

2021-05-03

tensquare_parent.rar

tensquare_parent源码,Jenkins+Docker+SpringCloud微服务持续集成demo

2021-05-01

sonarqube.rar

sonar (SonarQube)是一个开源平台,用于管理源代码的质量 Sonar 不只是一个质量数据报告工具,更是代码质量管理平台

2021-04-26

jenkins-2.190.3-1.1.noarch.rar

Jenkins自动化部署可以解决集成、测试、部署等重复性的工作,工具集成的效率明显高于人工操作;并且持续集成可以更早的获取代码变更的信息,从而更早的进入测试阶段,更早的发现问题,这样解决问题的成本就会显著下降:持续集成缩短了从开发、集成、测试、部署各个环节的时间,从而也就缩短了中间出现的等待时间;持续集成也意味着开发、集成、测试、部署得以持续。。

2021-04-25

GitLabProjects2020.zip

GitLab 是一个用于仓库管理系统的开源项目,使用Git作为代码管理工具,并在此基础上搭建起来的Web服务。IDEA gitLab Plugin.

2021-03-25

PSCPexe.rar

pscp.exe免费版是属于Putty的重要组件工具之一,同时也可以单独使用,可以通过pscp.exe免费版实现本地windows下的文件下载、上传到linux上,对于一些日常工作中的朋友来说是款不错的软件。

2021-01-03

puttymazb.zip

putty是一个Telnet、SSH、rlogin、纯TCP以及串行接口连接软件。较早的版本仅支持Windows平台,在最近的版本中开始支持各类Unix平台,并打算移植至Mac OS X上。

2021-01-03

installercleanup.exe

Windows Installer CleanUp是微软官方推出的Windows Installer 清理实用工具,可彻底删除由 Windows Installer安装的任何程序,它能够帮助用户轻松的删除某个程序地Windows Installer配置信息,移除选定软件在文件和注册表中保存的相关配置信息,让你的系统更加安全更加干净。 Windows Installer CleanUp

2020-12-13

rabbitmq.rar

RabbitMQ是实现了高级消息队列协议(AMQP)的开源消息代理软件(亦称面向消息的中间件)。RabbitMQ服务器是用Erlang语言编写的,而集群和故障转移是构建在开放电信平台框架上的。所有主要的编程语言均有与代理接口通讯的客户端库。

2020-11-15

vue.js工具开发包

Vue 是一套用于构建用户界面的渐进式框架。与其它大型框架不同的是,Vue 被设计为可以自底向上逐层应用。Vue 的核心库只关注视图层,不仅易于上手,还便于与第三方库或既有项目整合。另一方面,当与现代化的工具链以及各种支持类库结合使用时,Vue 也完全能够为复杂的单页应用提供驱动。

2020-11-13

Git环境安装包.rar

Git是目前世界上最先进的分布式版本控制系统(没有之一)。Git 是一个开源的分布式版本控制软件,用以有效、高速的处理从很小到非常大的项目版本管理。 Git 最初是由Linus Torvalds设计开发的,用于管理Linux内核开发。

2020-10-19

mybatis-3.4.6.zip

MyBatis 是一款优秀的持久层框架,它支持定制化 SQL、存储过程以及高级映射。MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。

2020-09-14

commons-fileupload&&commons-io.rar

springmvc文件上传所需jar包,在Spring MVC中实现文件上传十分方便,它为文件上传提供了直接的支持

2020-09-06

hibernate-validator-6.0.12.Final-dist.zip

Hibernate Validator用Annotations 给类或者类的属性加上约束,在运行期检查属性值是很优雅的.Hibernate Validator就是这样的一个框架.该框架是十分容易的(就像参考文档中宣称的那样),几乎没有什么学习曲线,Validator 是一个验证框架 不需要和Hibernate的其他部分绑定就可以使用

2020-09-06

空空如也

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

TA关注的人

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