自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

wtopps的专栏

当你的才华满足不了你的野心时,你应该滚去学习 https://wtopps.github.io

原创 闲谈JVM(四):浅谈CodeCache与JIT
原力计划

文章目录前言CodeCacheCodeCache参数配置InitialCodeCacheSizeReservedCodeCacheSizeXmaxjitcodesizeCodeCacheMinimumFreeSpace 前言 在前几篇中,我们对JVM最主要区域的常用参数的配置进行了介绍了解,涵盖了...

2020-07-02 16:18:56 19 0

原创 闲谈JVM(三):浅析本地元空间参数配置
原力计划

文章目录前言永生代Perm永生代Perm参数配置PermSizeMaxPermSize本地元空间(MetaSpace)MetaspaceSizeMaxMetaspaceSizeCompressedClassSpaceSizeInitialBootClassLoaderMetaspaceSizeMe...

2020-06-08 18:59:34 85 0

原创 闲谈JVM(二):浅析新老生代参数配置
原力计划

前言 在上一篇中,我们介绍了JVM中Heap区的基本参数设置,可以参见:闲谈JVM(一):浅析JVM Heap参数配置 在Heap区中,又被划分为几个区域,分别为新生代与老生代,而我们知道,绝大多数的对象都是“朝生夕死”的,在新生代阶段就会被回收掉,由此可以看出,新生代是非常重要的一个区域,本篇,...

2020-05-29 18:36:22 110 0

原创 闲谈JVM(一):浅析JVM Heap参数配置
原力计划

文章目录前言JVM内存模型堆(Heap)配置Xms与InitialHeapSizeXmx与MaxHeapSizeHeap的缺省配置Default Heap SizeClient JVM Default Initial and Maximum Heap SizesServer JVM Default...

2020-05-22 18:01:00 90 2

原创 悲观锁ReentrantLock ReentrantReadWriteLock VS 乐观锁Stampedlock
原力计划

文章目录前言ReentrantLockReentrantReadWriteLockStampedLockReentrantLock VS ReentrantReadWriteLock VS StampedLock结语 前言 在JDK的J.U.C包中,提供了丰富类型的锁(Lock)的能力,它们均实现...

2020-05-18 21:57:23 73 0

原创 Redis 6.0新特性
原力计划

文章目录总览Redis 6.0新特性多线程IO(Threaded I/O)那么为什么不能采用多线程操作命令?为什么引入多线程IO?多线程IO启用多线程IO香吗?RESP3协议ACLsSSL支持客户端缓存(Client side caching)Redis Cluster proxy 总览 在刚刚过...

2020-05-08 19:46:14 164 0

原创 浅入浅出Mybatis:(四)SQL执行过程
原力计划

前言 在前几篇中,我们对MyBatis的源码进行了简单分析,大体了解了MyBatis的工作流程,以及MyBatis是如何去加载Mapper配置文件的,那么,我们又有了新的疑问,MyBatis是如何执行一条SQL的呢?本篇,我们就来解开这个问题。 MyBatis SQL执行流程 我们在使用MyBat...

2020-04-26 21:26:43 46 0

转载 HBase最佳实践

文章目录HBase最佳实践Schema设计七大原则RowKey设计三大策略1)salting2)Hashing3)reverse key预分区读性能优化 HBase最佳实践 Schema设计七大原则 1)每个region的大小应该控制在10G到50G之间; @ 2)一个表最好保持在 50到100个...

2020-03-27 16:11:14 68 0

原创 Navicat Premium 12连接MySQL数据库出现Authentication plugin 'caching_sha2_password' cannot be loaded

问题 在登陆自己的ECS的docker mysql时,本地的Navicat Premium客户端连接数据库时抛出Authentication plugin 'caching_sha2_password' cannot be loaded的异常,经过一通查资料,一顿操作猛如虎后,...

2020-03-22 14:34:12 109 0

原创 浅入浅出Mybatis:(三)Mapper关联SQL配置加载过程

前言 在上一篇中,我们介绍了在SpringBoot容器中,Mybatis加载mapper interface的过程,但对于mapper加载的全过程,这仅仅完成了50%,剩下的50%就是mapper的关联XML配置文件的加载过程,本篇,我们将围绕下面两个问题进行展开: 1、mapper的关联XML配...

2020-01-18 17:43:41 234 0

原创 MySQL update select更新

问题 在使用MySQL时,我们有时候会遇见这样的情况,希望将A表的某些记录的某个字段更新为指定某条记录的某个字段,在Oracle中,我们可以这样: update student t1 set t1.xx = (select t2.xx from student t2 where t2.id = 1...

2020-01-16 17:21:08 77 0

原创 麻省理工公开课算法导论(二):Insertion Sort and Merge Sort

文章目录IntroductionInsertion Sort and Merge SortWhy Sorting?Insertion SortBinary Insertion SortMerge SortSummary Introduction 本篇来自于笔者学习MIT的公开课算法导论的学习笔记,...

2020-01-15 20:50:58 121 0

原创 浅入浅出Mybatis:(二)Mapper interface加载过程

前言 在上一篇中,我们对MyBatis的整体项目结构进行了大览,本篇,开始正式进入源码分析的第一篇,来一起了解一下MyBatis的mapper interface与XML配置文件的加载过程。 本篇源代码基于SpringBoot 1.5x,Mybatis-spring 1.3x、Mybatis 3....

2020-01-13 21:32:10 307 0

原创 浅入浅出Mybatis:(一)Mybatis架构总览

前言 说到MyBatis,如果您是Java开发者,对于其一定不陌生,MyBatis 是一款优秀的持久层框架,它支持定制化 SQL、存储过程以及高级映射。MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。MyBatis 可以使用简单的 XML 或注解来配置和映射原生类型、...

2020-01-08 11:03:49 124 0

原创 麻省理工公开课算法导论(一):peak finder

文章目录前言Peak FinderLecture OverviewPeak FinderOne-dimensional Version(一维版本)Two-dimensional Version(二维版本) 前言 本篇来自于笔者学习MIT的公开课算法导论的学习笔记,仅仅是我个人接受课程教育后,进行的...

2020-01-06 21:12:00 170 1

转载 Linux free 命令详解

文章目录前言Linux free输出简介buff/cachefree 与 available交换空间(swap space)/proc/meminfo 文件结语 前言 在Linux中,free命令是我们使用频度最高之一的命令,free命令输出的字段比较简单,但是真正的理解这些字段的含义,还是需要深...

2020-01-05 13:30:47 67 0

原创 闲聊MySQL(十):浅析主从同步

前言 在前面的系列文章中,我们对MySQL内部组成结构、索引结构、查询解析等进行了分析与了解,本篇,作为本系列文章的终篇,我们来聊聊MySQL中比较重要的一个机制,数据同步机制,也就是我们常说的,主从同步。 本篇基于MySQL 8.x版本。 Replication Between Master a...

2019-12-28 14:52:02 66 0

原创 SpringBoot @Retryable注解

背景 在调用第三方接口或者使用MQ时,会出现网络抖动,连接超时等网络异常,所以需要重试。为了使处理更加健壮并且不太容易出现故障,后续的尝试操作,有时候会帮助失败的操作最后执行成功。一般情况下,需要我们自行实现重试机制,一般是在业务代码中加入一层循环,如果失败后,再尝试重试,但是这样实现并不优雅。在...

2019-12-25 20:45:03 620 0

原创 闲聊MySQL(九):浅析SQL执行计划

文章目录前言SQL执行计划Explain输出字段idselect_typetablepartitionstypepossible_keyskeykey_lenrefrowsfilteredExtra 前言 在上一篇中,我们对MySQL中SQL的执行流程与SQL的优化进行了了解,我个人提倡的观点是多...

2019-12-18 14:50:47 96 0

原创 如何为线上正在运行的服务的某个类加条日志?

前言 请您思考这样一个问题:如何为线上服务的某个类加条日志? 您可能说,这还不简单,在代码里加条日志,Git一提交,发布一下不就搞定了! 但是如果这个服务特别重要,你没办法随意重启,你该怎么办呢? 本篇,我们就来聊一聊这个“头疼的问题”。 如何为正在飞驰的汽车换轮子 你有没有遇见过这样的场景,一个...

2019-12-14 13:01:21 85 0

原创 闲聊MySQL(八):查询优化

前言 在上几篇中,我们对MySQL的InnoDB引擎进行深入了解,对其内部架构实现进行了分析,了解了InnoDB内部机制,也同时需要掌握高效SQL的编写技巧,才能发挥出更加出色的性能。本篇,我们就来聊一下SQL的查询优化。 查询优化 MySQL逻辑架构 说起SQL的查询优化,我们就不得不从一条SQ...

2019-12-12 22:07:39 86 0

原创 每天学一个Linux命令(四):tail与head

文章目录前言tail语法选项参数最常用方式head语法选项参数常用方式结语 前言 上一篇中,我们学习了文件操作命令more与less的使用,本篇,我们继续学习文件操作的常用的命令——tail与head。 tail tail命令用于输入文件中的尾部内容。tail命令默认在屏幕上显示指定文件的末尾10...

2019-12-12 19:58:09 76 0

原创 每天学一个Linux命令(三):more与less

文章目录前言more语法选项参数最常用方式实例less语法选项参数最常用方式结语 前言 上一篇中,我们学习了grep命令的相关使用,在日常开发运维中,文本文件操作是我们最高频进行的操作之一。 本篇我们继续学习文件文本操作的相关命令——more和less。 more more命令是一个基于vi编辑器...

2019-12-11 11:47:56 77 0

原创 SQL执行慢的原因分析

前言 我们在日常开发中,一定遇见过一条SQL执行较慢的情况,我们俗称“慢SQL”,如果你对系统的接口性能要求较高的话,一定不会放过这种SQL,肯定会想办法进行解决,那么,导致慢SQL出现的原因,究竟都有哪些呢? 这是一道来自腾讯的面试题,最初在CSDN上看到有博友分享面试经验,觉得很有趣,决定来研...

2019-12-07 12:48:10 136 0

原创 闲聊MySQL:(七)InnoDB之索引结构

前言 在前面的几篇文章中,我们对MySQL InnoDB引擎进行了详尽的介绍,请参见: XX XX XX 本篇,我们继续聊InnoDB,深入了解一下InnoDB中非常重要的索引的背后实现。 InnoDB索引结构 索引的定义 MySQL官方对索引的定义为:索引(Index)是帮助MySQL高效获取数...

2019-12-04 21:53:13 176 0

原创 闲聊MySQL:(六)深入分析InnoDB之锁类型

前言 在前几篇中,我们对MySQL的内部结构进行了介绍,对InnoDB的内部结构和核心机制进行了了解,本篇,我们继续深入InnoDB引擎,对InnoDB的锁机制进行简要的介绍。 InnoDB锁类型 在前面的文章中,我们介绍过,为了高性能的支持,InnoDB实现了标准的行级锁。行级锁的意思代表着仅对...

2019-11-25 21:40:37 119 0

转载 10道极为棘手的Java面试题

10道题目如下: 1.为什么等待和通知是在 Object 类而不是 Thread 中声明的? 2.为什么Java中不支持多重继承? 3.为什么Java不支持运算符重载? 4.为什么 String 在 Java 中是不可变的? 5.为什么 char 数组比 Java 中的 String 更适合存储...

2019-09-03 14:01:57 104 0

原创 闲聊MySQL:(五)深入分析InnoDB之硬盘存储架构

前言 在上一篇中,我们对MySQL InnoDB的内部架构模型进行了简单的介绍,主要分析了InnoDB的内存结构,我们用下图一起来回顾一下: 本篇,我们继续聊聊InnoDB,了解一下上图的右半部分,其硬盘存储架构。 ...

2019-07-18 21:23:24 184 0

原创 FastJson JSONObject 转换后key排序问题

问题描述 在使用fastjson时,使用JSONObject.parseObject()对一个json的字符串进行转换成JSONObject时,默认的情况下,key的排列顺序是无需的,但是某些场景下,我们是希望key可以有序的排列。 解决办法 JSONObject.parseObject()中,支...

2019-07-09 19:51:17 3377 0

原创 每天学一个Linux命令(二):grep

文章目录grep语法选项常见用法递归搜索文件 grep grep差不多可以说是我们日常中最常用的命令之一,它的全称是“global search regular expression(RE) and print out the line,全面搜索正则表达式并把行打印出来”,是一种强大的文本搜索工具...

2019-07-04 16:12:34 87 0

原创 每天学一个Linux命令(一):sort与uniq

文章目录2019.07.04sort语法选项参数实例uniq语法选项实例利用sort和uniq求两个文件的并集,交集和差集 2019.07.04 sort sort命令是在Linux里非常有用,它将文件进行排序,并将排序结果标准输出。sort命令既可以从特定的文件,也可以从stdin中获取输入。 ...

2019-07-04 15:08:06 108 0

原创 ElasticSearch部署趟坑指北

前言 本文是一篇流水文,主要记录一下在Linux部署ElasticSearch过程中出现的问题。 本文环境基于CentOS 6.5,ElasticSearch版本为5.5.1 一、OpenJDK 64-Bit Server VM warning: INFO: os::commit_memory(0...

2019-06-28 16:14:06 83 0

原创 闲聊MySQL:(四)深入分析InnoDB之内存架构

在前两篇中,我们对MySQL的存储引擎InnoDB进行了简要分析,可以点击这里查看: [闲聊MySQL:(三)深入分析InnoDB之多版本控制MVCC](https://blog.csdn.net/wtopps/article/details/91629298) [闲聊MySQL:(二)存储引...

2019-06-21 20:47:13 229 0

原创 Redis服务器远程无法连接

问题描述 在自己的腾讯云服务器上,部署了redis,部署成功后,使用本机连接服务器redis,提示端口不通的情况。 问题排查 1、服务器是使用的腾讯云,首先想到的是安全组的端口白名单是否未打开,在安全组配置中进行检查: 默认的情况下,腾讯云安全组的配置,3306的端口是未打开的,因此将3306...

2019-06-17 19:35:16 1287 0

原创 闲聊MySQL:(三)深入分析InnoDB之多版本控制MVCC

前言 在上一篇中,我们介绍了MySQL的核心存储引擎InnoDB,对其特性进行了简单的介绍,本篇,我们继续对InnoDB进行分析,了解一下其内部的重要的机制之一,多版本控制MVCC。 InnoDB多版本控制(MVCC) 什么是多版本控制(MVCC)? 多版本控制指的是一种提高并发的技术。最早的数...

2019-06-12 21:35:29 152 0

原创 闲聊MySQL:(二)存储引擎之InnoDB浅析

前言 上一篇中,对MySQL中支持的引擎列表进行了简要介绍,本篇,我们来浅析一下MySQL中最为常用,也是最为重要的引擎——InnoDB。 本篇主要基于MySQL官方文档,InnoDB引擎篇,官方文档地址:https://dev.mysql.com/doc/refman/5.5/en/innodb...

2019-06-05 20:45:09 108 0

原创 Git 撤销push的commit操作

问题: 我在Git中提交了错误的文件。我该如何撤销那一次commit呢? 原问题地址: How do I undo the most recent local commits in Git? 解决办法: $ git commit -m "Something terribly misgui...

2019-05-17 14:06:13 1170 0

转载 Linux系统性能分析 sar命令详解

前言 sar是System Activity Reporter(系统活动情况报告)的缩写。sar工具将对系统当前的状态进行取样,然后通过计算数据和比例来表达系统的当前运行状态。 它的特点是可以连续对系统取样,获得大量的取样数据;取样数据和分析的结果都可以存入文件,所需的负载很小。 sar是目前Li...

2019-04-26 16:46:50 114 0

原创 闲聊MySQL:(一)MySQL存储引擎简述

前言 数据库存储引擎是数据库底层软件组织,数据库管理系统(DBMS)使用数据引擎进行创建、查询、更新和删除数据。不同的存储引擎提供不同的存储机制、索引技巧、锁定水平等功能,使用不同的存储引擎,还可以获得特定的功能。 在MySQL中,支持多种存储引擎,本篇,我们就来聊一聊MySQL中的存储引擎。 本...

2019-04-13 14:30:55 215 0

转载 Redis面试题汇总

1、什么是Redis? Redis本质上是一个Key-Value类型的内存数据库,很像memcached,整个数据库统统加载在内存当中进行操作,定期通过异步操作把数据库数据flush到硬盘上进行保存。因为是纯内存操作,Redis的性能非常出色,每秒可以处理超过 10万次读写操作,是已知性能最快的K...

2019-04-06 14:29:18 200 0

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