- 博客(38)
- 资源 (2)
- 收藏
- 关注
原创 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
原创 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;mid=2247487963&amp;idx=1&amp;sn=e2a492f26825457034476a85aa41db64&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.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版
2019-04-01
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人