自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

时光钟摆

一点一点

原创 虚拟机redis集群安装rvm+ruby

https://www.cnblogs.com/tomasman/p/8288569.html 这个里面就是运行到rvm 和 ruby安装时,就一直运行不下去了 https://blog.51cto.com/8999597/2383622?source=dra 这个里面就是下载tar.gz之...

2020-04-24 16:45:28 73 0

原创 redis集群部署

[root@park redis_cluster]# ./redis-trib.rb create --replicas 1 172.16.135.186:7001 172.16.135.186:7002 172.16.135.186:7003 172.16.135.190:7004 172.16...

2020-05-09 15:16:21 65 0

转载 rabbitmq 和redis 用作消息队列的区别

将redis发布订阅模式用做消息队列和rabbitmq的区别: 可靠性 redis :没有相应的机制保证消息的可靠消费,如果发布者发布一条消息,而没有对应的订阅者的话,这条消息将丢失,不会存在内存中; rabbitmq:具有消息消费确认机制,如果发布一条消息,还没有消费者消费该队列,那么这条消...

2020-03-26 19:23:04 94 0

原创 Mybatis 源码分析5

io Resources 通过classLoader 来访问资源 VFS,DefaultVFS,JBoss6VFS 通过应用服务的简单API 来访问资源 ClassLoaderWrapper ResolverUtil lang UsesJava7,UsesJava8 parsin...

2019-12-18 15:46:26 66 0

原创 Mybatis 源码分析4

executor (1)Executor (2)BaseExecutor (3)BatchExecutor,ResueExecutor,SimpleExecutor (4)CacheingExecutor (5)BatchResult (6)ResultExtractor (7)Ex...

2019-12-18 15:03:33 58 0

原创 Mybatis 源码分析3

cursor (1)Cursor 指针接口 isOpen 指针是否打开 isConsumed 是否被消费 getCurrenIndex 获取当前索引 cursor.default (1)DefaultCurcor mybatis 的 Cursor 接口的默认实现 这个实现不是线程...

2019-12-12 16:36:33 60 0

原创 Redis数据结构和对象(1):字符串、链表

11

2019-12-11 14:36:50 65 0

原创 Mybatis 源码分析2

上图是mybatis 3.4.5版本jar的 结构图,接下来这个系列会顺着这个包的模块进行源码分析。 目录 cache cache.impl cache.decorators cache (1)Cache 缓存的基本接口 (2)CacheException 定义缓存业务异常,继承...

2019-12-11 11:56:48 130 0

原创 Mybatis 源码分析1

上图是mybatis 3.4.5版本jar的 结构图,接下来这个系列会顺着这个包的模块进行源码分析。 目录 annotations binding builder annotations 这个包下面的类都是 @interface 修饰的注解。 (1)Arg 参数注解 (2)Aut...

2019-12-09 21:50:37 77 0

原创 nginx 的if 判断,多条件如何处理

nginx 的配置文件中if 条件不支持&& 和 | ,所以要实现这个功能必须要换一个方式。 通过设置一个开关变量,提前赋值。 set $flag 0; if ( $request_uri ~ 'yq-acs/acs' ) { set $fl...

2019-11-20 10:01:04 36 0

转载 Java 正则表达式

目录 1.字母:匹配单个字符 2.一组字符:任意匹配里面的一个单个字符 3.边界匹配:在以后编写JavaScript的时候使用正则中用到 4.简写表达式:每一位出现的简写标记也只表示一位 5.数量表示:之前所有的正则都只是表示一位,如果要表示多位,则就需要数量表示 6.逻辑表示:与、或...

2019-11-19 14:42:33 28 0

转载 从零手写 IOC容器(通俗易懂)

目录 概述 1.Component注解定义 2.Reject注解定义 3.User对象定义 4.UserService实现 5.UserController实现 6.IocContext ioc bean容器 7.IocUtils ioc的依赖注入 8.模拟调用UserContr...

2019-11-12 21:29:13 85 0

转载 Spring中核心的概念

1. BeanFactory(IOC容器管理Bean) BeanFactory,以Factory结尾,表示它是一个工厂类(接口),用于管理Bean的一个工厂。 在Spring中,BeanFactory是IOC容器的核心接口,它的职责包括:实例化、定位、配置应用程序中的对象及建立这些对象间的依赖...

2019-11-11 21:15:51 34 0

原创 分布式、高并发、多线程

目录 1、什么是分布式? 2、什么是高并发? 3、什么是多线程? 衡量一个接口是否能够支撑高并发,我们最先想到的就是他的QPS是多少,影响QPS大小的关键因素是你的系统是否支持分布式、高并发,当提起这几三个词的时候,是不是很多人都认为分布式=高并发=多线程? 在一开始接触的时候,不少人都...

2019-10-21 11:12:44 112 0

原创 一个.java文件是如何转为Spring能识别的bean

java文件在经过编译器编译后会生成.class 文件。.class文件会包含类的一些基本信息,比如类名,构造函数,属性,方法等。 .class 文件会由jvm 加载到jvm。至于这个类是如何加载到jvm的,是遵从类的加载机制:双亲委任原则。 类加载到jvm后,在spring 的环境下,会统一...

2019-10-18 12:02:11 58 0

转载 理解http的幂等性

目录 理解http的幂等性 幂等性的定义 分布式事务 VS 幂等设计 http的幂等性 总结 理解http的幂等性 基于HTTP 协议的Web API是时下最为流行的一种分布式服务提供方式。无论是在大型互联网应用还是企业级架构中,我们都见到了越来越多的SOA或RESTful的...

2019-10-14 10:33:06 50 0

原创 Spring 的几种注入方法

目录 1.setter 方法注入 2.构造函数注入 3.注解注入 Spring 中的IOC 就是控制bean的容器,各个bean 之间会存在相互的引用,那在各个bean之间如何引用就显得尤为重要。 Spring 中常见的注入方法主要有:setter方法注入,构造函数注入,注解注入。 1...

2019-10-14 09:40:43 51 0

原创 Java 中如何避免循环引用,解决相互依赖的问题

spring中通过依赖注入的方法来解决类的相互依赖问题!!! spring中通过依赖注入的方法来解决类的相互依赖问题!!! spring中通过依赖注入的方法来解决类的相互依赖问题!!! 只要不是构造函数注入就不会产生循环引用的问题。 这是因为: spring 容器对构造函数配置Bean...

2019-10-12 17:28:03 782 0

转载 什么时候用静态方法?什么时候用单例模式?(推荐)

目录 一、静态方法常驻内存,非静态方法只有使用的时候才分配内存? 二、静态方法和非静态方法的区别? 三、为什么要有非静态方法? 从这三点我们得出的结论如下: 一、 什么时候用静态方法,什么时候使用非静态方法? 二、 为什么使用单例模式而不用静态方法? 三、 其他 我们在编程中最常用...

2019-10-12 16:35:11 232 0

原创 一文汇总Java 修饰符

目录 修饰符 注解和接口(Annotation & Interface) 访问修饰符(Access Modifier) 万能的final(Omni-final) 互斥修饰符(Mutually Exclusive Modifiers) 修饰符的申明顺序(Declaration O...

2019-10-11 17:44:36 76 0

原创 介绍几个Python中重要的库

目录 Numpy Pandas MatplotLib Ipython Scipy Seaborn Sockit-Learn Statsmodels Keras Tensorflow Numpy Numpy(Numerical Python)是Python科学计算的基础包 ...

2019-10-10 12:02:23 70 0

转载 一文读懂监控系统

目录 1.监控系统的功能 2.监控系统的分类 日志类 调用链类 度量类 3.监控系统的分层 4.流行的监控系统 Zabbix Prometheus(普罗米修斯) 5.总结 由于业务的多样性,这些平台和系统也变得异常的复杂。如何对其进行监控和维护是我们 IT 人需要面对的重要问...

2019-10-09 15:34:38 90 0

原创 批量删除redis 有相同前缀的命令

使用redis 自带的命令,只能一次删除一个key 比如:del key 如果一次需要批量删除多个有相同前缀或后缀的,则需要借助于linux 的 xargs 命令 在任意目录下执行,不需要使用redis-cli 先登录 redis-cli -a abc KEYS "subscr...

2019-09-19 14:41:24 1226 0

原创 Java 图片处理汇总

java 中的图片处理,都是得到图片的byte[],得到图片的byte[] ,就可以对这个图片进行随意操作了。 在前端传过来的图片主要是3种 1.传图片的base64 字符串,这个需要我们将这个字符串转为byte[] if(imageStr.contains("image/jpe...

2019-09-05 11:41:50 280 0

转载 【Java 核心知识体系】(3)

目录 8.字节增强 8.1JPDA 8.1.1概念 8.1.2原理 8.1.3实现 8.2 热替换 8.2.1概念 8.2.2原理 8.2.3实现 9.总结 8.字节增强 我们从类加载的应用介绍了热部署和类隔离两大应用场景,但是基于类加载器的技术始终只是独立于JVM内核功能...

2019-09-04 22:26:46 70 0

转载 【Java 核心知识体系】(2)

目录 5.内存管理 5.1内存结构 5.1.1逻辑分区 5.1.2内存模型 5.2垃圾回收 5.2.1垃圾回收策略 5.2.2垃圾回收器 6.执行引擎 6.1执行流程 6.2栈帧结构 6.3早期编译 6.4晚期编译 7.性能调优 7.1调优原则 7.1.1 环境 7...

2019-09-04 22:25:32 76 0

转载 【Java 核心知识体系】(1)

目录 1.问题 2.关键词 3.全文概要(文末有惊喜) 4.类的装载 4.1类的结构 4.2加载机制 4.2.1类的入口 4.2.2类加载器 4.2.3设计模式 4.2.4加载过程 4.3应用场景 4.3.1热部署 4.3.2类隔离 1.问题 1、如何理解类文件...

2019-09-04 21:23:26 141 0

转载 系统运行缓慢,CPU 100%,以及Full GC 次数过多问题的排查思路

目录 1. Full GC次数过多 2. CPU过高 3. 不定期出现的接口耗时现象 4. 某个线程进入WAITING状态 5. 死锁 6. 小结 处理过线上问题的同学基本上都会遇到系统突然运行缓慢,CPU 100%,以及Full GC次数过多的问题。当然,这些问题的最终导致的直观现...

2019-09-04 15:45:04 61 0

原创 Minor GC、Major GC、Full GC

目录 1.Minor GC 2.Major GC 3.Full GC 4.几种GC算法组合 5.几种算法的触发条件 1.Minor GC 从年轻代空间(包括 Eden 和 Survivor 区域)回收内存被称为 Minor GC。每次 Minor GC 会清理年轻代的内存。 当新生代...

2019-09-04 15:15:18 214 0

转载 SpringBoot 知识清单

SpringBoot 本质上是一个基于Spring 框架的应用,它是Spring 对“约定优于配置”理念的最佳实践产物。我们可以看到,在SpringBoot 中很少有像Spring那样的配置了,它就是一个快速搭建Spring 应用的技术。 SpringBoot 的四大核心技术:自动配置、起步依赖...

2019-09-03 21:41:18 145 0

转载 Spring事务面试考点整理

目录 1.Spring和事务的关系 2.Spring事务三要素 3.Spring事务的注解配置 4.事务注解的本质 5.Spring声明式事务实现原理 6.如何回滚一个事务 7.默认回滚规则 9.如何配置回滚异常 10.事务注解在类/方法上 11.事务注解在类上的继承性 12...

2019-09-03 14:43:00 542 0

原创 crontab 定时删除几天以前的日志(各种踩坑)

网上关于删除多少天以前的日志,日志文件满多少的日志有很多了。 (可以参考:https://www.cnblogs.com/grimm/p/8794707.html) 但是我在删除的时候,使用sh 执行脚本都是正常的,但是 使用crontab -e 编辑后,一直没有生效。 查看:tail -...

2019-09-02 22:59:06 235 0

转载 MyBatis 框架及原理分析

目录 MyBatis 的配置 MyBatis 的主要成员 MyBatis 的初始化 MyBatis 的SQL查询流程 MyBatis 的缓存 MyBatis 是支持定制化SQL,存储过程,以及高级映射的优秀的持久层框架,其主要完成2件事情: 1.封装JDBC操作; 2.利用反射打...

2019-09-02 21:18:48 82 0

转载 Mybatis源码解读---9种设计模式总结

MyBatis中采用了大量的设计模式,最常用的主要是以下9种: 1.Builder模式,例如SqlSessionFactoryBuilder、XMLConfigBuilder、XMLMapperBuilder、XMLStatementBuilder、CacheBuilder; 2.工厂模式,例...

2019-09-02 20:54:14 44 0

转载 Netty 实现http请求 并响应

什么是Netty? Netty 是一个利用Java 的高级网络的能力,隐藏其背后的复杂性而提供一个易于使用的API 的客户端/服务器 框架。 Netty 与 Tomcat Netty与tomcat 最大的区别在于通信协议。Tomcat 是基于Http 协议的,它的实质是一个基于Http协议的...

2019-08-27 12:29:21 194 0

原创 Spring bean的生命周期

spring bean在容器初始化的时候,开始托管bean 在销毁容器的时候会销毁bean 测试的代码如下: 主main public class BeanLifeCycle { public static void main(String[] args) { ...

2019-08-23 17:54:05 52 0

原创 Spring 的注解注入

Bean 的声明,注册 @Component 注册所有的bean @Controller 注册控制层的bean @Service 注册服务处的bean @Repository 注册dao层的bean Bean的注入 @Autowired 作用于构造方法,字段,方法。常用于...

2019-08-22 22:46:39 54 0

转载 【超级推荐】HTTPS原理 及WebSocket 原理

目录 加密方法 HTTPS的握手过程 HTTPS攻击手段 WebSoket原理 WebSocket建立连接 由于HTTP没有加密机制,其传输的内容很容易泄漏,并且HTTP协议没法确认通信方,也无法保证接收到的报文在传输过程中是否被篡改,因此HTTPS是在HTTP协议的基础上提供了加密、...

2019-08-22 22:38:32 59 0

转载 Netty源码分析之一次请求是如何到达channelRead的?

使用java nio做网络编程大致流程如下 这个流程有哪些可以优化的空间? Netty是对java网络框架的包装,它本身肯定也会有类似的处理流程。必定在这个方面做了自己的优化处理 获得Selector 使用Netty的时候都会用到对应的EventLoopGroup,它实际上就完...

2019-08-22 21:42:18 95 0

转载 项目中常用的19条MySQL优化

声明一下:下面的优化方案都是基于 “ Mysql-索引-BTree类型” 的 目录 一、EXPLAIN 二、SQL语句中IN包含的值不应过多 三、SELECT语句务必指明字段名称 四、当只需要一条数据的时候,使用limit 1 五、如果排序字段没有用到索引,就尽量少排序 六、如果限制...

2019-08-19 16:37:51 32 0

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