6 wtopps

尚未进行身份认证

当你的才华满足不了你的野心时,你应该滚去学习

等级
TA的排名 1w+

闲谈JVM(一):浅析JVM Heap参数配置

文章目录前言JVM内存模型堆(Heap)配置Xms与InitialHeapSizeXmx与MaxHeapSizeHeap的缺省配置Default Heap SizeClient JVM Default Initial and Maximum Heap SizesServer JVM Default Initial and Maximum Heap Sizes堆(Heap)的动态调整Heap大小配置建议结语前言JVM是Java语言的核心基石所在,它为Java提供了强大的跨平台能力,关于JVM的内部结构,想

2020-05-22 18:01:00

悲观锁ReentrantLock ReentrantReadWriteLock VS 乐观锁Stampedlock

文章目录前言ReentrantLockReentrantReadWriteLockStampedLockReentrantLock VS ReentrantReadWriteLock VS StampedLock结语前言在JDK的J.U.C包中,提供了丰富类型的锁(Lock)的能力,它们均实现了Lock接口,并扩展了不同类型的锁的实现,其中我们比较常见的锁有ReentrantLock、ReentrantReadWriteLock、StampedLock,本篇,我们就对这三种类型的锁进行横向比较,来分析其

2020-05-18 21:57:23

Redis 6.0新特性

文章目录总览Redis 6.0新特性多线程IO(Threaded I/O)那么为什么不能采用多线程操作命令?为什么引入多线程IO?多线程IO启用多线程IO香吗?RESP3协议ACLsSSL支持客户端缓存(Client side caching)Redis Cluster proxy总览在刚刚过去的5.1长假中,Redis的作者antirez在个人博客宣布Redis 6.0.0 stable版本release(http://antirez.com/news/132)。在新版本中,增加了诸多的特性,其中最令

2020-05-08 19:46:14

浅入浅出Mybatis:(四)SQL执行过程

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

2020-04-26 21:26:43

HBase最佳实践

文章目录HBase最佳实践Schema设计七大原则RowKey设计三大策略1)salting2)Hashing3)reverse key预分区读性能优化HBase最佳实践Schema设计七大原则1)每个region的大小应该控制在10G到50G之间; @2)一个表最好保持在 50到100个 region的规模;3)每个cell最大不应该超过10MB,如果超过,应该有些考虑业务拆分,如果实...

2020-03-27 16:11:14

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的异常,经过一通查资料,一顿操作猛如虎后,终于解决,在此记录一下。环境:CentOS7MySQL版本:8.0部署方式:docker客户端:Navicat P...

2020-03-22 14:34:12

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

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

2020-01-18 17:43:41

MySQL update select更新

问题在使用MySQL时,我们有时候会遇见这样的情况,希望将A表的某些记录的某个字段更新为指定某条记录的某个字段,在Oracle中,我们可以这样:update student t1 set t1.xx = (select t2.xx from student t2 where t2.id = 1);但是在MySQL中,你会得到这样的结果:You can't specify target t...

2020-01-16 17:21:08

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

文章目录IntroductionInsertion Sort and Merge SortWhy Sorting?Insertion SortBinary Insertion SortMerge SortSummaryIntroduction本篇来自于笔者学习MIT的公开课算法导论的学习笔记,仅仅是我个人接受课程教育后,进行的学习笔记,可能理解并不到位,仅供参考。课程视频地址:Lectur...

2020-01-15 20:50:58

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

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

2020-01-13 21:32:10

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

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

2020-01-08 11:03:49

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

文章目录前言Peak FinderLecture OverviewPeak FinderOne-dimensional Version(一维版本)Two-dimensional Version(二维版本)前言本篇来自于笔者学习MIT的公开课算法导论的学习笔记,仅仅是我个人接受课程教育后,进行的学习笔记,可能理解并不到位,仅供参考。课程视频地址:Lecture 1: Introduction...

2020-01-06 21:12:00

Linux free 命令详解

文章目录前言Linux free输出简介buff/cachefree 与 available交换空间(swap space)/proc/meminfo 文件结语前言在Linux中,free命令是我们使用频度最高之一的命令,free命令输出的字段比较简单,但是真正的理解这些字段的含义,还是需要深入的理解Linux操作系统,本篇,就来详解一下free命令。本篇环境基于CentOS 7。Linu...

2020-01-05 13:30:47

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

前言在前面的系列文章中,我们对MySQL内部组成结构、索引结构、查询解析等进行了分析与了解,本篇,作为本系列文章的终篇,我们来聊聊MySQL中比较重要的一个机制,数据同步机制,也就是我们常说的,主从同步。本篇基于MySQL 8.x版本。Replication Between Master and Slave一说到MySQL的主从同步,你的脑海中肯定第一反应会是binlog,没有错,我们日常...

2019-12-28 14:52:02

SpringBoot @Retryable注解

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

2019-12-25 20:45:03

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

文章目录前言SQL执行计划Explain输出字段idselect_typetablepartitionstypepossible_keyskeykey_lenrefrowsfilteredExtra前言在上一篇中,我们对MySQL中SQL的执行流程与SQL的优化进行了了解,我个人提倡的观点是多用explain检查SQL的执行效率,那么怎么定义一条SQL的执行效率的优劣呢?本篇,我们就来聊一下e...

2019-12-18 14:50:47

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

前言请您思考这样一个问题:如何为线上服务的某个类加条日志?您可能说,这还不简单,在代码里加条日志,Git一提交,发布一下不就搞定了!但是如果这个服务特别重要,你没办法随意重启,你该怎么办呢?本篇,我们就来聊一聊这个“头疼的问题”。如何为正在飞驰的汽车换轮子你有没有遇见过这样的场景,一个接口的逻辑非常之复杂,涉及到大量的接口调用与内部多层次逻辑嵌套处理,好似这样:突然某一天,产品来找...

2019-12-14 13:01:21

闲聊MySQL(八):查询优化

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

2019-12-12 22:07:39

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

文章目录前言tail语法选项参数最常用方式head语法选项参数常用方式结语前言上一篇中,我们学习了文件操作命令more与less的使用,本篇,我们继续学习文件操作的常用的命令——tail与head。tailtail命令用于输入文件中的尾部内容。tail命令默认在屏幕上显示指定文件的末尾10行。如果给定的文件不止一个,则在显示的每个文件前面加一个文件名标题。如果没有指定文件或者文件名为“-”...

2019-12-12 19:58:09

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

文章目录前言more语法选项参数最常用方式实例less语法选项参数最常用方式结语前言上一篇中,我们学习了grep命令的相关使用,在日常开发运维中,文本文件操作是我们最高频进行的操作之一。本篇我们继续学习文件文本操作的相关命令——more和less。moremore命令是一个基于vi编辑器文本过滤器,它以全屏幕的方式按页显示文本文件的内容,支持vi中的关键字定位操作。more名单中内置了若...

2019-12-11 11:47:56

查看更多

勋章 我的勋章
  • 专栏达人
    专栏达人
    授予成功创建个人博客专栏的用户。专栏中添加五篇以上博文即可点亮!撰写博客专栏浓缩技术精华,专栏达人就是你!
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv2
    勤写标兵Lv2
    授予每个自然周发布4篇到6篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。
  • 学习力
    学习力
    《原力计划【第二季】》第一期主题勋章 ,第一期活动已经结束啦,小伙伴们可以去参加第二期打卡挑战活动获取更多勋章哦。
  • 原力新人
    原力新人
    在《原力计划【第二季】》打卡挑战活动中,成功参与本活动并发布一篇原创文章的博主,即可获得此勋章。