自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 clickhouse集群部署方案分析

常见的三种集群架构方案

2021-10-28 21:45:32 1793

原创 Springboot集成Swagger2示例

Swagger2示例目前swagger比较流行,抽了点时间做了个示例,也感受一把swagger的便利性。示例功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入目前swagger比较流行,抽了点时间做了个示例,也感受一把swagger

2020-06-26 10:38:39 258

原创 高并发操作MongoDB性能优化

高并发操作MongoDB性能优化一,代码层级优化采用批量数据方式操作MongoDB。将数据信息存放在消息队列中进行缓存,然后定时定量的去获取队列消息,触发连接MongoDB获取查询结果。 所谓定时定量是指每一段时间或消息队列达到某一数值。示例:每10秒或队列消息数达到200时提交一次统计事件。优点:减少网络传输的IO,同时减少SQL语句解析的次数。降低MongoDB日志刷盘的数据量和频率...

2019-10-30 15:13:00 3744

转载 Antlr简单学习

简单的四则运算 Antlr的实现https://blog.csdn.net/weixin_33851604/article/details/88216826

2019-08-10 23:34:57 155

原创 查找算法(部分)总结

查找算法package com.search;public class SearchTest { /** * 1.顺序查找 * @param arr * @param value * @return */ public static int sequenceSearch(int[] arr, int value){ ...

2019-08-03 21:08:18 103

转载 排序算法(部分)总结

排序算法1、冒泡排序(Bubble Sort)比较相邻的元素。如果第一个元素比第二个大,就交换它们两个;对每一对相邻元素做同样的工作,从开始第一队到结尾的最后一对,这样在最后的元素应该会是最大的数;针对所有的元素重复以上达到步骤,除了最后一个;重复1~3,直到排序完成。代码实现public static void bubbleSort(int[] arr) { int len...

2019-08-03 10:08:17 99

原创 排序算法

算法

2019-08-01 17:50:27 108

原创 IOC容器源码解读

2019-07-09 09:30:45 152

原创 MySQL执行计划详解

EXPLAINID列:1)id相同:执行顺序由上至下2)id不同:id值越大优先级越高,越先被执行3)id相同不同:既有相同又有不同的情况,按1、2规则看select_type列:SIMPLE:简单select查询,查询中不包含子查询或者UNIONPRIMARY:查询中若包含任何复杂的子部分,最外层查询则被标记为PRIMARYSUBQUERY:在select或where列表中包含...

2019-06-30 01:57:01 177

原创 MySQL存储引擎总结

一、MyISAMMySQL5.5之前默认的存储引擎。1)表压缩 myisampack -b -f /usr/local/mysql/data/mall/testmysam.MYI 注:压缩后只能读取数据,再往表里面新增数据就新增不了。2)使用场景:非事务型应用(数据仓库,报表,日志数据)只读类应用空间类应用(空间函数,坐标)由于现在innodb越来越强大,myisa...

2019-06-21 16:03:57 297

原创 MySQL锁表解决方案(亲测)

1,MySQL5.6版本之前的解决方案:查询表锁定的SQL语句:SELECT r.trx_id waiting_trx_id, r.trx_mysql_thread_id waiting_thread, r.trx_query waiting_query, b.trx_id blocking_trx_id, b.trx_mysql_thread_id blocking_th...

2019-06-21 11:30:59 336

原创 MySQL5.7单实例安装及开机启动配置(亲测)

安装环境:CentOS版本:CentOS7.6.1810MySQL版本:5.7.9软件目录:/softcp /soft/mysql-5.7.9-linux-glibc2.5-x86_64.tar.gz /usr/local/解压mysql到/usr/local目录解压:tar -zxvf mysql-5.7.9-linux-glibc2.5-x86_64.tar.gz安装需要的...

2019-06-20 16:08:38 561

原创 MySQL5.7多实例安装及开机启动配置(亲测)

安装环境:CentOS版本:CentOS7.6.1810MySQL版本:5.7.9以前一些很low的方法是,解压两个mysql,分别放到不同文件夹,其实在mysql中已经考虑到了多实例安装的情况。也有相应的脚本命令的支持。现在安装两个mysql 一个3307,3308新建 /etc/my.cnf 配置如下:[mysqld_multi]mysqld = /usr/local/mysql...

2019-06-20 14:57:26 1914 2

转载 Java笔记:成员变量,局部变量,类变量,实例变量以及注意事项

局部变量:方法中定义的变量。成员变量(类似C中的全局变量):成员变量定义在方法体和语句块之外。成员变量就概括描述了类中的变量,不区分static。是以下变量的统称。类变量(静态变量):独立于方法之外的变量,属于类本身。需要static修饰,事实上,类变量就是以static修饰的独立于方法之外的成员变量。类变量必须在方法、构造方法和语句块之外。无论一个类创建了多少个对象,类只拥有类变量的一份...

2019-05-27 19:07:36 209

原创 dubbo理解(四)

Dubbo SPISPI扩展过程入口:ExtensionLoader.getExtensionLoader(接口 interface).getAdaptiveExtension();ExtensionLoader通过SPI获取接口实现类过程:ExtensionLoader -->>> getExtensionLoader(接口 interface) —>>&g...

2019-05-16 11:19:56 197

原创 dubbo理解(三)

Dubbo的启动过程服务端初始化:DubboNamespaceHandler.init() —>>>ServiceBean.afterPropertiesSet() -->>export() —>>>super.export()—>>>ServiceConfig.export() —>>>doExport(...

2019-05-09 15:56:58 160

原创 dubbo理解(二)

Dubbo启动检查<dubbo:consumer check=“false” />1、check=true,检测到某接口没有提供者时,抛异常,阻止系统启动, reference对象置null在系统测试阶段,开启可快速发现问题。reference对象为空,则即使后续补进了provider,也不能补救2、 check=false,不检测接口是否有提供者,直接为reference生...

2019-05-09 15:10:07 318

原创 dubbo理解(一)

无dubbo情况下,RPC普遍存在的问题:1,rpc调用需要定制开发,很多额外的工作量2,分布式服务中,服务达到几百上千时,相互之间的调用错综复杂,相互依赖严重3,对集群性的服务,需要负载策略4,对集群性的服务,需要能动态扩展节点dubbo介绍:1,一个分布式、高性能、透明化的RPC服务框架。2,提供服务自动注册、自动发现等高效服务治理方案。3,其功能主要包括:高性能NIO通讯及多...

2019-05-09 14:58:18 369

原创 分析工具类Semaphore的实现

Semaphore的构造函数中,默认会把Sync对象创建为NonfairSync对象,这被称为“非公平锁”;而另一个构造函数Semaphore(int permits, boolean fair)传入参数为true时将会把Sync对象创建为“公平锁”(FairSync);首先看非公平模式主要看两个方法:acquire(int permits)、release(int permits)acqu...

2019-05-03 18:52:56 196

原创 JAVA并发编程总结

1,进程和线程2,CPU核心数和线程数的关系3,CPU时间片轮转机制基本概念:wait()notify()、notifyAll()interrupt()、interupted()、isInterrupted()stop、resume、destroy、suspend...

2019-04-28 15:47:47 99

原创 IO

BIO同步阻塞如果使用单个socket连接时,使用BIO更合适,此时BIO相比NIO更高效。阻塞:在单线程的环境之下,如果IO操作没有完成,那么当前线程不能进行其他操作。NIO同步非阻塞NIO的闪光点是用来处理更多的socket连接,此时NIO相比BIO更高效。AIO异步非阻塞...

2019-04-11 20:10:27 128

原创 消息中间件学习

kafka消息重复解决方案概念:消费偏移量,kafka在设计上不同于其他JMS队列的地方是生产者的消息不需要消费者确认,而消息在分区中又都是顺序排列的,那么必然就可以通过一个偏移量(offset)来确定每一条消息的位置。kafka中有一个叫作_consumer_offset的特殊主题用来保存消息在每个分区的偏移量,消费者每次消费时都会往这个主题中发送消息,消息包含每个分区的偏移量。如果所提...

2019-04-09 18:43:24 246

原创 jvm学习之路(规划)

1,jvm深入学习(内存结构,垃圾收集,类加载机制,双亲委托机制,JVM调优,JMM内存管理)2,jdk juc包下的类源码学习

2019-02-28 09:55:54 274

转载 四张图带你了解Tomcat系统架构

四张图带你了解Tomcat系统架构转:https://blog.csdn.net/xlgen157387/article/details/79006434

2019-02-25 16:29:33 191

原创 MySQL事务学习

MySQL事务:1、事务特性:原子性,一致性,隔离性,持久性**原子性:对一些操作,要么同时成功,要么同时失败。一致性:对一些操作,处理结果必须一致的,比如转账:A转给B,那么A账户减少100元,则B账户必须增加100元。隔离性:多个事务操作数据的表或者行,如果没有隔离机制,那么不同的事务操作相同的数据时,就会产生相互干扰,影响数据结果。持久性:对数据的修改或者操作,是永久的操作,比如...

2019-01-13 18:37:50 155

原创 SpringMVC运行原理解读

一,初始化1)扫描(通过读取配置文件,获取扫描路径下的所有类文件)2)实例化(将扫描的所有带相应注解的类文件通过反射机制进行实例化,然后放到IOC容器中)3)自动注入(轮询IOC容器中类文件,判断类中需要注入的属性并进行实例化)4)路径方法映射(IOC容器中,根据方法上注解获取请求路径,然后将路径和当前方法进行匹配,放到handlerMapping中)二,业务逻辑1)实现Dispatc...

2019-01-11 10:41:40 139

转载 HashMap, ConcurrentHashMap 原理及源码,一次性讲清楚!

HashMap, ConcurrentHashMap 原理及源码,一次性讲清楚!转载地址:https://mp.weixin.qq.com/s?__biz=MzI3ODcxMzQzMw==&amp;amp;mid=2247487963&amp;amp;idx=1&amp;amp;sn=e2a492f26825457034476a85aa41db64&amp;amp;chksm=eb5394eddc241dfb269abf63...

2018-12-21 14:37:27 506

原创 Spring事物注解实现的原理?

Spring事物注解实现的原理?答:Spring事物注解是基于Spring Aop实现的,而Spring Aop是基于JDK动态代理实现的。JdkDynamicAopProxy.java是整个Spring Aop编程的入口。动态代理有两种实现机制:1)JDK动态代理实现机制2)CGLib动态代理实现机制两种动态代理机制最大区别:CGLib实现动态代理时是不需要指定接口的,而JDK动态代...

2018-12-21 14:14:25 1529 1

原创 JDK动态代理

一,代理模式定义:给目标对象提供一个代理对象,并由代理对象控制对目标对象的引用;二,目的:1)通过引入代理对象的方式来间接方法目标对象,防止直接访问目标对象给系统带来的不必要复杂性;2)通过代理对象对原有的业务增强;三,代理三大要素:1,抽象对象(接口类):声明了真实对象和代理对象的公共接口2,真实对象(接口实现类):代理对象所代表的真实对象,最终被引用的对象3,代理对象(Prox...

2018-12-21 10:01:40 126

原创 java发展史

java发展史java语言前身:Oak(橡树)1995年5月23日,Oak语言改名为java,并在SunWorld大会上正式发布java1.0版本。1996年1月23日,JDK1.0发布,java语言有了第一个正式版本的运行环境。...

2018-12-19 19:44:29 155

原创 Mybatis运行原理(带你三步走)

Mybatis运行原理官网地址:http://www.mybatis.org/mybatis-3/zh/getting-started.html每个基于 MyBatis 的应用都是以一个 SqlSessionFactory 的实例为中心的。SqlSessionFactory 的实例可以通过 SqlSessionFactoryBuilder 获得。而 SqlSessionFactoryBuild...

2018-12-18 20:01:10 150

转载 转载:从 0 开始手写一个Tomcat,7 步搞定

从 0 开始手写一个Tomcat,7 步搞定https://mp.weixin.qq.com/s/cFztjzQttMwBQJqAowUZ2A

2018-12-18 09:21:39 455

原创 dubbo泛化调用简单示例

参考官方文档,写个简单示例泛化引用:http://dubbo.apache.org/zh-cn/docs/user/demos/generic-reference.html泛化实现:http://dubbo.apache.org/zh-cn/docs/user/demos/generic-service.htmlpackage com.dubbodemo;import com.aliba...

2018-12-14 10:23:21 877

原创 深入理解java虚拟机知识整理

深入理解java虚拟机知识整理

2018-11-23 15:06:08 156

原创 java.io.IOException: Unreasonable length = 1486176问题解决

环境:JDK版本:1.7.0_80zookeeper版本:3.4.8问题:2018-11-13 18:33:23.598 [localhost-startStop-1-SendThread(mt-zookeeper-vip.100.idc:2181)] WARN org.apache.zookeeper.ClientCnxSession closed, press ENTER to s...

2018-11-14 15:39:34 5460

原创 java FullGC问题解决示例

java FullGC问题解决示例环境JDK版本:jdk1.7.45操作系统:linux问题背景某系统(后面称:系统A)接入监控平台之后,收到java虚拟机持久代FullGC报警通知。对此我们对这个问题进行了分析,分析过程如下:查看JVM持久代统计信息:执行命令:ps -ef|grep java, jmap -permstat 8698JVM持久代类信息如下(部分数据):持...

2018-11-14 14:56:22 1114

转载 logback--日志在windows上可以打印,在linux上不能打印的问题

解决问题方法:本人遇到的问题,属于jar包冲突问题。本人加入的jar包如下:slf4j-api-1.7.5.jarslf4j-log4j12-1.7.5.jarlogback-core-1.0.1.jarlogback-classic-1.0.1.jar问题原因是:slf4j-api-1.7.5.jar 和 slf4j-log4j12-1.7.5.jar 会发生冲突,因为我...

2018-05-11 15:32:36 1561

原创 Dubbo调用过程

服务消费方发起请求demoService实例其实是代理工厂生产的代理对象(大家可以参考代理那部分生成的伪代码),在代码中调用demoService.sayHello(“world!”)时,1.    将方法名方法参数传入InvokerInvocationHandler的invoke方法中,对于Object中的方法toString, hashCode, equals直接调用invoker的对应方法(...

2018-04-23 20:55:50 5363

JDK1.8 API 中文 高清完整CHM版

JDK1.8 API 中文谷歌翻译版 java帮助文档 JDK API java 帮助文档 谷歌翻译 Java最新帮助文档 本帮助文档是使用谷歌翻译,非人工翻译。准确性不能保证,请与英文版配合使用

2019-04-01

java反编译软件

这是一款java反编译软件,所有java class文件都能查看,很好使的

2014-08-04

空空如也

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

TA关注的人

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