Spring MVC源码和设计思想序 综述

Spring MVC源码和设计思想序 综述Spring框架整体的流程:(图片引用请注明出处)
Spring MVC源码和设计思想序 综述2019-06-05鱼鱼

ELK全家桶基本使用(I)文件收集Filebeat

ELK全家桶基本使用(I)文件收集FilebeatFilebeat是Elastic中的轻量文件收集系统,相比于功能更强悍的Logstash,当我们需求很单一,读取文件内容且对文件内容没有过多复杂处理时,最好使用FileBeat取代Logstash,以免造成不必要的内存开销 文档链接 Filebeat负责收集文件并发送给下游服务 核心行为包含输入、处理过滤和输出 当然也有集成好配置的模块,通过模块与Es和Kibana链接可以直接在Kibana上看到组件的可视化 同时不难看出Filebeat其实对数据库的支持不是很健壮 截止7.6版本,开源的Filebeat可支持以下几种消息输入类型: log 用得最多的输入类型; stdin 标准的输入,从process或是piepline读取(可理解为脚本运行通道直接输入),一旦配置了这种input方式,其他 input将不再生效文档地址;
ELK全家桶基本使用(I)文件收集Filebeat2020-03-16鱼鱼

用Quartz 写定时任务

用Quartz 写定时任务Quartz是OpenSymphony开源组织在Job scheduling领域的一个开源项目,是一款清新友好的任务调度框架 Quartz两大基本功能是job和SimpleTrigger(作业和触发器) 核心的是Scheduler类 有以下几个相关类: Scheduler:定时任务调度; Job:任务类需要实现的接口; JobDetail:Job的实例,被Scheduler执行的是JobDetail,而不是Job; Trigger:触发Job的执行; JobBuilder:定义和创建JobDetail实例的接口; TriggerBuilder:定义和创建Trigger实例的接口;
用Quartz 写定时任务2019-06-18鱼鱼

算法:递归

算法:递归递归算法主要寻找: 终止条件:递归的尽头 单级递归的行为:在一次递归里要做的事情 返回值:每次迭代要return的东西 例如 首先,假定方法是已经实现的 终止条件为:当当前节点(传了空节点)或下一节点(传了单节点)为空,则无需反转返回当前节点 递归行为:假定之后的节点均已实现反转,则需要将已经反转的尾部的next变为当前节点,而当前节点由于是第一个节点,其next为null 此处注意在反转前需要先留存反转后的尾部; 返回值:返回反转后的头结点
算法:递归2020-06-24鱼鱼

数据库连接池的配置

数据库连接池的配置在并发项目中,使用数据库连接池 数据源,一般指javax.sql.DataSource,他可以有各种的各种不同实现,包含连接池和连接池管理,有时也直接叫他数据库连接池 数据库连接池在项目启动初始化时,直接创建对应的数据库连接,并将其作为对象存储在内存中 当用户访问时,不必创建新的数据库连接,而是直接使用空闲的数据库连接对象,使用完毕再将其释放,但不会断开连接 连接池使用的优点: 资源复用 性能更优 更好的资源分配管理 统一配置,防止废连接 常用数据库连接池: Spring框架自带的DriverManagerDataSource 阿里巴巴数据源Druid c3p0连接池
数据库连接池的配置2018-12-02鱼鱼

Java中的数据结构

Java中的数据结构若不提到Jdk版本,本文中的源码都是基于jdk8版本分析的 注:有关同步集合(如Vector、ConcurrentHashMap、CopyOnWriteArrayList等)请移步博客 数组集合类,是Collection接口的子类,有序的Collection实现,包含ArrayList、LinkedList、Vector,其中Vector是线程安全的ArrayList,LinkedList是底层基于双向链表实现的List ArrayList的默认大小为10,扩容操作: 也就是1.5倍 不重复集合类,不能包含重复的元素,是Collection接口的子类,包含HashSet、LinkedHashSet、TreeSet,其实都是基于Map类的实现,所以详细了解请参阅Map类
Java中的数据结构2019-07-12鱼鱼

Mybatis的缓存机制、redis数据库缓存实现和相关问题

Mybatis的缓存机制、redis数据库缓存实现和相关问题高并发环境下,数据库要承受非常大的压力,我们不能奢求每一次都只依赖分布式结构的读写分离数据库来解决问题,所以引入了数据库缓存的概念,这里的缓存不是具体的memcache或是redis,可能只是一块内存区域 此文介绍Mybatis的缓存机制 SqlSession是Mybatis创建数据库链接的会话,当度使用Mybatis需要对SqlSesssion的生命周期有一个把控,但是在Spring的集成中这个会话会被自动创建,周期只是对应一个方法(例如Service层的一个方法),所以每个请求就会对应一个或是多个SqlSession,SQLSession的主要实现是其中的Exector,对应了三种策略:
Mybatis的缓存机制、redis数据库缓存实现和相关问题2020-03-03鱼鱼

浅谈代理-动态代理

浅谈代理-动态代理我们可以很轻松的实现一个简单的代理 实现静态代理是个很简单的事情,最基础的代理只需要定义一个接口(虽然不是必要,但这显然才是标准的设计)、一个被代理类和一个代理类,例如: 定义一个接口: 一个实现类: 和一个代理类: 实际使用时,我们是去调用HelloWorldProxy的方法,其将作为HelloWorld的代理实现 此种方式直接实现的代理太过于死板,因为每一种代理行为都要制定一个代理类,我们熟知的很多基于代理的实现(譬如AOP、事务)显然不可能用静态代理的方式针对每一处类切点都覆写一个代理类,这种时候就需要动态代理 我们所熟知的相当多的框架均基于动态代理开发,JDK本身基于反射(java.lang.reflect)提供了动态代理,我们只需定义代理的行为,而对于代理类的范围并不是固定值
浅谈代理-动态代理2020-10-13鱼鱼

mysql前缀索引

mysql前缀索引有时候需要索引很长的字符列,这会让索引变得大且慢 通常可以索引开始的部分字符,这样可以大大节约索引空间,从而提高索引效率 但这样也会降低索引的选择性 前面已经说过,使用前缀索引,定义好长度,就可以做到既节省空间,又不用额外增加太多的查询成本 2.1因为前缀索引无法完全等于判断,只是前缀匹配,所以可能需要扫描的所以数会增加 2.2在特殊的查询里面 select id,email from SUser where email='zhangssxyz@xxx.com'; 前缀索引需要回到 id 索引再查一下,因为系统并不确定前缀索引的定义是否截断了完整信息 select count(distinct left(email,4))as L4,
mysql前缀索引2020-05-15yangwcn

数据库的并发、锁机制与MVCC

数据库的并发、锁机制与MVCC在日常开发中,经常遇到数据库进行高并发操作的情况,但是我们处理并发一般都只在代码范畴而并不处理具体的数据库操作,这是因为数据库对基本的数据库操作做了锁处理,让我们可以忽略这一层的并发问题 详细可以参考Mysql的官方文档 注意:这一篇博客是针对MySQL数据库,且实用默认的 引擎InnoDb,使用其他数据库可能存在略微的差异 MySQL默认的数据库引擎InnoDB中Autocommit值为0(即自动提交事务)执行SQL语句的时候,每一条SQL语句都是一条单独的事务,所以并不存在并发的问题,数据库的锁机制已经做了很好的处理 但是当我们开启事务时,若不加处理,可能会产生一系列并发带来的问题
数据库的并发、锁机制与MVCC2021-01-24鱼鱼

Docker指令

Docker指令Docker是一种常用在Linux系统上的开源容器引擎,在Docker中我们可以拉取镜像(Image),镜像的一个实例叫做容器(Container),这类似于面向对象概念中的类(镜像)与对象(容器) 我们可以把一整套环境和应用配置全部打包进一个docker镜像中,当我们部署时可以直接拉取相应的镜像运行容器,免于复杂繁琐的部署流程 options代表指令的参数,return代表执行指令后反回的内容 []代表必填,{}代表可选 注意:权限问题 sudo,使用前如果不配置权限,一般非root用户需要在所有docker指令前加sudo 下文的image name都可以是单纯的镜像名 或者是 镜像名:镜像tag
Docker指令2019-01-09鱼鱼

JVM与GC

JVM与GCJMM,长下面这个样子: 其中,堆和栈区自然不做介绍了,主要介绍: 程序计数器:线程私有的,记录正在执行的字节码地址,换言之,它告诉我们某线程执行到了那里,分支、循环等也会依赖这个来执行,这一区域不会发生OOM问题 栈:就是正常所指的栈,每个方法被执行的时候都会同时创建一个栈帧(Stack Frame )用于存储局部变量表、操作栈、动态链接、方法出口等信息 每一个方法被调用直至执行完成的过程,就对应着一个栈帧在虚拟机栈中从入栈到出栈的过程,这一区域会发生StackOverflow问题 堆:就是正常所指的堆,这里是GC的主要区域 方法区:线程私有的,是各个线程共享的内存区域,它用于存储已被虚拟机加载的类信息、常量、静态变量、即时编译器编译后的代码等数据,运行时常量池也包含在里面
JVM与GC2019-03-28鱼鱼
网站地图
1
首页 博客 {{screen}} 第 {{page}} 页
博客索引
{{blog.createDate}} ◔ {{blog.timeline}} 小头像 {{blog.author}} {{tag}}
{{blog.likeCount}}{{blog.commentCount}}
分类下暂时没有文章哦!
主题分类
{{taggroup.label}} 

{{tag.value}}