自定义博客皮肤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)
  • 收藏
  • 关注

原创 log4J2和logback冲突和共存解决方法

一个在线编辑器调试打印日志功能,需要提供logback和log4j2不同日志框架的日志功能供使用方自由选择。

2023-04-12 11:17:25 1484

原创 @MapperScan annotationClass属性自定义注解不生效的原因分析

先上结论:自定义的注解没加元注解@Retention,默认的是CLASS运行时通过反射是拿不到的,设置为runtime就解决了。mybatis自动生成接口实现的扫描注解@MapperScan可以自定义自己的注解,这样的话就可以在多数据源情境下来区分扫描不同的包了,这里不介绍细节仅仅贴下代码实例。@Configuration@MapperScan(basePackages = "xxx.dao",sqlSessionFactoryRef = "oneSqlSessionFactory",annotati

2021-04-27 00:05:57 3038 1

转载 mysql索引建立原则简介

1.选择唯一性索引唯一性索引的值是唯一的,可以更快速的通过该索引来确定某条记录。例如,学生表中学号是具有唯一性的字段。为该字段建立唯一性索引可以很快的确定某个学生的信息。如果使用姓名的话,可能存在同名现象,从而降低查询速度。2.为经常需要排序、分组和联合操作的字段建立索引经常需要ORDER BY、GROUP BY、DISTINCT和UNION等操作的字段,排序操作会浪费很多时间。如果为其建立索引,可以有效地避免排序操作。3.为常作为查询条件的字段建立索引如果某个字段经常用来做查询条件,那么该字段的

2021-04-19 17:31:42 157

原创 jvm对象何时进入老年代以及何种情况下会触发fullgc回收老年代

1.躲过15次GC之后进入老年代系统刚启动时,创建的各种各样的对象,都是分配在年轻代里。随着慢慢系统跑着跑着,年轻代满了,就会出发MinorGC ,可能1%的少量存活对像转移到空着的Survivor区中然后系统继续运行,继续在Eden区里分配对象.............类似静态变量等引用的对象,可能存活时间会久一些,无论年轻代中怎么垃圾回收,类似这种对象都不会被回收掉。而此对象每次在年轻代里躲过一次MinorGC被转移到一块Survivor区域中,他的年龄就会增加一岁默认的..

2021-03-02 17:33:29 5023 1

原创 JVM参数配置详解

JVM参数配置详解默认设置-Xms为JVM启动时申请的最小内存,默认为操作系统物理内存的1/64但小于1G-Xmx为JVM可申请的最大内存,默认为物理内存的1/4但小于1G,默认当空余堆内存小于40%时,JVM会增大Heap到-Xmx指定的大小,可通过-XX:MinHeapFreeRation来指定这个比列;当空余堆内存大于70%时,JVM会减小heap的大小到-Xms指定的大小,可通过XX:MaxHeapFreeRation来指定这个比列。堆大小设置JVM 中最大堆大小有三方面限制:相关操作系

2021-03-02 16:14:54 671

原创 java nio 示例代码

1.服务端package io.netty.example.nio;import java.io.IOException;import java.net.InetSocketAddress;import java.nio.ByteBuffer;import java.nio.channels.*;import java.util.Iterator;import java.util.Scanner;public class NioService { private static Sel

2020-09-02 17:43:12 201

原创 zookeeper客户端Curator分布式锁InterProcessMutex的实现

前面介绍了如何用redis来构建分布式锁 ,今天来介绍下如何通过zookeeper来实现分布式锁。Curator是zookeeper的一个高级客户端操作API,在Curator中实现了分布式锁,主节点选举等功能。其中分布式锁实现的关键是通过zookeeper创建的节点来实现,稍后会通过代码来说明是如何实现的。那么设想这样一个场景,我有三台独立的机器连接了有5台服务器组成的zookeeper集群,...

2020-08-26 17:32:48 384

原创 k8s单master两工作节点搭建

k8s单master两工作节点搭建1.准备配置3台Centos(本次使用3台虚拟机) 至少2核CPU+2G内存+20G硬盘Master:192.168.140.128Worker1:192.168.140.129Worker2:192.168.140.130Kubernetes版本1.18.0 docker版本1.13.02.禁用防火墙 #开启路由转发,每台都需要systemctl stop firewalld & systemctl disable firewalldecho “

2020-05-27 17:25:10 621

原创 动手搭建公司Git服务器

因为公司的版本管理有点混乱,现在的状况是使用SVN但是除了提交更新都没有其他的操作,用了和没用区别不大,版本管控完全落到开发人员的身上,还需要开发人员手动记代码清单,使用比较工具去提交代码,我实在是忍受不了这种行为了,费时耗力,还错误百出,严重影响工作效率和上班心情划水摸鱼。废话不多说现在开始搭建git服务器。1.安装gitlib服务端直接使用git服务端也能搭建git服务器但是相比较而言比较...

2019-07-28 20:10:57 2310

转载 基于Redis构建分布式锁进阶-RedLock(真分布)

本文转载自简书作者:谢随安链接:https://www.jianshu.com/p/ed53f19c3a1e前言在之前的《基于单机版redis的分布式锁设计实现》文章中,介绍并实现了两种常见的redis分布式锁。但这种方式仅能保证在一个单节点的、保证永不宕机的环境下没有任何问题。在redis集群中,若遇到极端特殊场景会出现一些问题。为什么说之前的分布式锁设计有问题?用Redis来实现分...

2019-07-20 15:13:42 2831

转载 基于单机版redis的分布式锁设计实现

本文转载自简书作者:谢随安链接:https://www.jianshu.com/p/20c5282c1df7分布式锁介绍分布式并发环境下,为了保证事务操作的原子性,需要引入分布式锁来保证一连串行为是原子性操作。例如经典的自增1操作 value = get(a); set(a, value+1);假设当前有两个线程要执行上面的操作,要保证线程a在保存新值之前,线程b不会读取到旧...

2019-07-20 14:47:39 2566

原创 curator框架的基本使用

Apache Curator是Apache ZooKeeper的Java / JVM客户端库,Apache ZooKeeper是一种分布式协调服务。Curator是在ZooKeeper原有的客户端基础上封装的更加易于使用的客户端,使用时比原生的客户端更加简单快捷,下面先简单介绍下Curator的基本操作。1.创建客户端实例一般创建客户端有两种方式一种直接CuratorFrameworkFact...

2019-07-18 21:45:35 3155

原创 100行代码理解dubbo RPC核心原理

最近也是在阅读dubbo的源码,说实话刚上手的时候有点摸不到头脑,本来平时用的时候主要配置弄好了,服务暴露也是复制粘贴前面的配置,服务引用也是如此,对于业务系统来说dubbo基本是零入侵。按照惯例我先去官网仔细看了一遍各种文档说明,然后对照服务暴露入口、服务引用入口走了一遍,走完一遍发现还是一脸么懵逼,对于RPC还是停留在远程接口调用的英文翻译阶段,这个到底是怎么实现的呢?什么原理呢?带着这一脸懵...

2019-07-17 20:47:49 3410

原创 本地虚拟机搭建zookeeper集群

1.下载安装虚拟机 建议使用14版本的,因为破解版的比较容易找到。下载centos7系统,虚拟机安装和Linux系统安装就不说了。先在一台上安装好zookeeper 另外两台可以直接复制已经安装Linux快照修改下配置文件。以下命令都是对于centos7系统下2.去官网下载zookeeper 我下的是3.5版本的 下载bin.tar.gz结尾的二进制包不要下载源码包3.我的安装目录 cd /o...

2019-07-16 20:48:11 3063

原创 springMVC接收参数方式总结

**springMVC接收参数方式总结**欢迎使用Markdown编辑器你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown的基本语法知识。新的改变我们对Markdown编辑器进行了一些功能拓展与语法支持,除了标准的Markdown编辑器功能,我们增加了如下几点新功能,帮助你用它写...

2019-07-15 23:31:23 3305

空空如也

空空如也

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

TA关注的人

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