- 博客(26)
- 资源 (5)
- 收藏
- 关注
原创 spring-AOP源码浅析
spring-AOP源码浅析目录spring-AOP源码浅析入口自动代理创建器类图功能实现切面获取流程ProxyFactory通知切面执行过程入口spring aop功能可以使用@EnableAspectJAutoProxy注解开启,这个注解中,通过@Import(AspectJAutoProxyRegistrar.class)导入了AspectJAutoProxyRegistrar这个注册类,该类实现了ImportBeanDefinitionRegistrar接口,这个接口会在Configurati
2022-05-09 14:19:16
360
原创 spring源码浅析
spring源码浅析官方文档:spring目录spring源码浅析IOC容器加载beanFactory功能说明beanFactory预处理BeanFactory后置处理器执行流程小结Bean实例化Bean后置处理器注册过程小结常用注解小结bean注解赋值注解注入注解其他常见接口beanAwareIOCIOC也称DI,IOC所提供的功能是由DI来实现的,可以认为它们是对同一个概念的不同角度的描述;控制反转(IOC):将设计好的对象交给容器控制,而不是在对象内部直接控制;依赖注入(DI):组件之间的
2022-04-26 17:46:06
963
原创 AC算法结合双数组trie树优化关键词匹配与替换
AC算法结合双数组trie树优化关键词匹配与替换参考文章和项目:Aho-Corasick算法的Java实现与分析双数组Trie树(DoubleArrayTrie)Java实现Aho Corasick自动机结合DoubleArrayTrie极速多模式匹配github项目:AhoCorasickDoubleArrayTrie目录AC算法结合双数组trie树优化关键词匹配与替换trie树Aho-Corasick算法双数组trie树使用原理应用扩展build方法扩展匹配方法使用trie树trie
2021-12-25 15:07:25
1512
原创 RocketMQ
RocketMQ目录RocketMQ概念安装特性设计消息存储通信机制过滤与负载均衡事务消息消息查询broker.conf使用示例创建生产者创建消费者发送同步消息发送异步消息发送单向消息发送顺序消息发送延时消息批量发送消息带过滤属性的消息发送事务消息概念中文文档;这篇笔记主要内容都来源于这个文档RocketMQ主要由producer(生产消息)、broker(存储消息,一般对应一台服务器)、consumer(消费消息)三部分组成;每个broker可以存储多个topic的消息,每个topic消息也可
2021-08-05 11:48:53
595
原创 springboot2+activiti7+bpmn-js使用入门
springboot2+activiti7+bpmn-js使用入门本示例使用springboot2+activiti7+bpmn-js(vue+elementUI)环境;官网:https://www.activiti.org/目录springboot2+activiti7+bpmn-js使用入门搭建表结构和组件流程设计器API数据查询保存流程设计部署启动审批流程图搭建首先搭建好springboot项目的开发环境;添加maven依赖(目前git上最新版是7.1.0.M13,但是我在阿里云的m
2021-06-29 19:35:14
7980
4
原创 springboot对于枚举类的自定义处理问题
springboot-枚举目录springboot-枚举前言自定义枚举转换定义枚举表单参数Json参数mybatis前言在开发中,有时候我们会使用枚举来作为参数和返回值,在springboot中,默认情况枚举类型使用规则如下:对于json参数:数字,则对应定义顺序;字符串:如果枚举类中没有@JsonValue注解方法,则对应枚举类型的定义名称;如果有,则对应注解方法的返回值;如果没有找到对应的枚举类型,则抛出异常;对于表单参数:只能是枚举类型的定义名称,其它的非空值都会抛出
2021-03-18 17:53:19
1785
原创 Java并发包常见类记录
JUC目录JUC阻塞队列并发映射闭锁栅栏交换机线程池Callable分叉合并锁(Lock)例题实现ABCD四个线程轮流输出10次方式一方式二方式三方式四阻塞队列阻塞队列(BlockingQueue)通常用于一个线程生产对象,而另一个线程消费这些对象的场景。该队列具有缓冲、消峰限流、解耦生产者与消费者等作用。阻塞队列底层是通过锁机制实现的。队列的4个插入方法:add:当队列已满,会抛出异常;offer:插入成功返回true,失败返回false;offer(obj, 3000, TImeUnit.
2021-01-13 20:14:37
285
原创 keepalived
keepalived目录keepalived介绍VRRP协议体系结构安装配置global_defsVRRP实例和组LVS配置静态ip和路由vrrp_script主从切换与LVSnginx双主HA介绍https://www.cnblogs.com/clsn/p/8052649.htmlkeepalived时一款保障服务高可用的软件,其功能类似与heartbeat,用来防止单点故障,具有自动侦测服务器的状态,故障切换,添加恢复等功能;三个重要功能:管理LVS负载均衡软件;实现LVS集群节点的
2021-01-10 16:32:25
479
2
原创 mysql
mysql目录mysql存储函数存储过程触发器mysql调优定位低效率SQLexplain分析SQL常用优化手段索引优化优化概述索引覆盖引擎选择配置优化单机数据库策略主从复制原理安装mycat中间件存储函数语法:创建:create function 函数名(参数名 参数类型, ···) returns 返回值类型 函数体;使用:select 函数名(参数列表);查看函数信息:show create function 函数名\G;查看所有函数:show function status\G;删
2021-01-03 21:12:18
174
原创 kafka
kafka目录kafka开始简介kafka为什么快写入读取安装常见命令核心概念topicpartitionreplicationproducer消费者(组)三种语义offset与消费机制索引机制kafka HAJava连接kafka生产者创建topic删除topic消费者组开始简介是由领英(LinkedIn)设计实现,利用Scala语言编写,后贡献给了Apache,kafka是是一种分布式的消息队列,能构建实时流计算平台;可用于离线批处理(MR、Hive、Apark)和实时计算(Storm、Spar
2021-01-02 18:25:19
812
2
原创 hive
hive目录hive简介基本语句表概念内部表外部表分区表分桶表事务表数据类型arraymapstruct常用操作函数UDF调优sqoop处理json简介hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据映射为一张表,它提供了一系列的工具,可以用来进行数据提取、转化和加载。hive定义了简单的类SQL查询语言,称为HiveSQL。hive在执行过程中会将HQL转换为MapReduce执行,所以它本质上还是一种离线的大数据分析工具,由于hadoop通常会在作业提交和调度时有很大的开销,有较高
2021-01-02 16:22:37
578
原创 hadoop
hadoop目录hadoop简介及搭建HDFSHDFS常用命令HDFS结构及特点Blocknamenodedatanodefsimage和editsdfs目录HDFS文件传输过程java连接HDFS搭建分布式计算mapreduce示例代码编写map组件编写reduce组件编写driver打包运行案例结果MapReduce计算流程计算组件map组件数据传输分区reduce迭代器Combiner组件常见输入格式自定义输入k-vRecordReaderFileInputFormat自定义输出k-vRecordW
2021-01-02 15:34:08
262
原创 springboot-shiro
springboot-shiro目录springboot-shiro简介开始密码比较器认证和授权redis开始Bean会话管理器权限管理器自定义filterMap资源权限ShiroFilterFactoryBean登录简介shiro是apache下的一个轻量级开源项目,相对于springSecurity简单的多。三大功能模块:Subject:主体,一般指用户;SecurityManager:安全管理器,管理所有Subject,可以配合内部安全组件;Realms:用于进行权限信息验证,一般需要
2021-01-01 21:50:22
394
2
原创 springcloud
springcloud目录springcloud微服务概述注册中心eureka单机高可用客户端zookeeper提供者消费者RibbonHystrix(熔断器)Feign(服务调用)网关zuul概念及特点使用过滤器gateway使用过滤器分布式配置概念SpringCloudConfigApollo服务雪崩微服务概述微服务:微服务是一种架构风格,一个大型复杂软件应用由一个或者多个微服务组成,系统中各个微服务可被独立部署,是松耦合的;每个微服务仅专注于完成一件任务,每个任务就代表着一个小的业务能力,它代表
2021-01-01 15:44:15
183
原创 webpack笔记
webpack笔记目录webpack笔记简介安装使用热打包css-loaderurl-loaderJSX支持(需要react)vue支持网页版vue(不推荐)vue-loadervue脚手架示例配置package.jsonwebpack.config.js简介是一个前端项目的构建工具,可以实现资源的合并、打包、压缩、混淆等功能,是基于nodejs开发的;官方文档:https://webpack.js.org/官方中文文档:https://www.webpackjs.com/安装使用安装:
2020-12-28 09:37:09
345
原创 vue.js
vue.js笔记目录vue.js笔记简介基本用法创建vue对象模板替换事件绑定循环判断过滤器自定义指令异步请求示例代码组件和模块化组件创建使用定义属性组件切换组件间的通讯样式示例代码前端路由创建跳转与传参路由嵌套命名路由watch示例代码mint-ui简介Vue.js(读音 /vjuː/, 类似于 view) 是一套构建用户界面的渐进式框架。Vue 只关注视图层, 采用自底向上增量开发的设计。Vue 的目标是通过尽可能简单的 API 实现响应的数据绑定和组合的视图组件。Vue适用于做单页面应用
2020-12-28 09:31:31
177
原创 react.js笔记
react.js笔记这个要结合webpack笔记目录react.js笔记简介核心概念开始使用(旧版)基本用法JSX语法支持开始使用(新版)import与requireJSX语法创建组件使用组件引用css绑定事件组件生命周期获取后端数据路由React-Redux简介适用场景代码node-sass安装失败的解决方法简介react.js是目前最流行的一门前端框架。React 是一个用于构建用户界面的 JavaScript库。React 主要用于构建UI,很多人认为 React 是 MVC 中的 V(
2020-12-27 20:42:40
154
1
原创 nodejs笔记
nodejs笔记目录nodejs笔记简介demo文件操作读取文件写文件HTTPdemo根据路径返回文件内容Path加载与导出require与export__dirname与__filenameart-template在浏览器中使用在nodejs中使用npmexpressdemomain.jsrouter.jsindex.html热部署插件连接MongoDB原生操作mongooseexpress-mongoosemain.jsrouter.jsmongoose_stu.jsindex.htmlpackage
2020-12-27 20:26:40
684
原创 css笔记
css笔记目录css笔记特性选择器显示模式(display)文字图片盒子模型浮动(float)布局和版心定位(position)显示与隐藏flex布局主轴方向是否换行flex-flow主轴对齐方式交叉轴对齐方式子元素属性特性层叠性:指多种css样式的叠加,一般情况下,多个css样式设置同一个属性遵循就近原则。继承性:子标签会继承父标签的某些样式,如颜色、字号。优先级:多个选择器对同一个属性赋值时,优先级高的有效(!important>行内样式>id选择器>类选择器>标签选
2020-12-27 20:19:02
128
原创 lucene和elasticsearch笔记
lucene和elasticsearch笔记目录lucene和elasticsearch笔记简介lucene依赖测试分词器测试创建索引测试搜索索引数据:elasticsearch简介安装配置使用概念说明校验语句增删改查询示例简单查询match查询multi_match查询match_phrase查询组合与范围查询其他查询字段数据类型IK分词器集群简介全文检索是海量文本数据的快速查询技术;从海量数据中迅速、准确的定位到需要的信息。倒排索引:索引文件是全文检索的核心,其实现步骤为:将源数据按照结构封
2020-12-27 16:52:11
200
原创 zookeeper笔记
zookeeper笔记目录zookeeper笔记简介概念基本操作应用场景集群java操作简介是一个分布式的协调服务框架,具有管理集群的功能,主要包括:①管理集群中节点的状态(是宕机还是正常工作);②统一集群的配置;③统一集群命名;④管理主备节点;⑤集群中消息的订阅和发布;⑥分布式锁。特性总结:数据一致性、原子性、可靠性、顺序性、过半性、实时性。安装:需要jdk环境,解压即可,然后将conf/zoo_sample.cfg文件拷贝或重命名为zoo.cfg;单机模式下就可以直接去bin目
2020-12-27 16:36:26
224
原创 redis笔记
redis笔记目录redis笔记简介安装使用常用配置数据类型命令发布订阅事务集群分片对象主从复制哨兵模式cluster集群特点槽道搭建使用redis原命令Java连接redis数据一致性缓存问题缓存穿透缓存雪崩缓存击穿简介redis是一个高性能的key-value数据库,有一下3个特点:支持数据的持久化;提供字符串、hash、列表、无序集合、有序集合5种数据类型;支持备份,即master-slave模式;Redis与MemoryCache比较:性能差不多,redis单线程,Memory
2020-12-27 16:27:21
111
1
原创 RabbitMQ
RabbitMQ笔记目录RabbitMQ笔记简介安装使用模式java客户端的使用初始化简单模式工作模式发布订阅模式路由模式主题模式四种交换机direct交换机(默认)fanout交换机topic交换机header简介RabbitMQ是实现了AMQP协议的高性能开源的消息队列技术。RabbitMQ支持多种语言、多种框架的客户端调用。它有生产者和消费者两种角色,生产者是将消息数据发送给MQ处理,消费者是监听MQ队列中产生的消息,获取消息。核心组件连接对象:使用基于TCP的长连接,但并不是直接调用连接
2020-12-27 16:16:37
182
原创 springboot
springboot笔记目录springboot笔记概述开始使用核心注解Bannerlogger配置文件application.properties额外的配置文件多环境配置文件springmvcthymeleaf全局异常处理404处理拦截器文件上传文件下载jsp监听器过滤器servletjpa使用druidswaggerredis测试概述简介:SpringBoot是基于Spring出现的一个快速搭建方便管理测试运行监控的工具框架,其设计目的是用来简化Spring应用的初始搭建以及开发过程,该框架使用了
2020-12-27 15:45:14
464
原创 springboot-security笔记
springboot-security笔记目录springboot-security笔记开始用户和密码用户信息类获取用户类密码编码器配置忽略的地址登录失败处理记住密码自定义资源权限权限数据源决策管理器http配置自定义登录配置自定义登录免密登录用户信息redis开始基于springboot笔记搭建项目;依赖<dependency> <groupId>org.springframework.boot</groupId> <artifact
2020-12-27 15:40:53
277
1
原创 linux
linux笔记在虚拟机中配置静态ip修改配置文件/etc/sysconfig/network-scripts/ifcfg-ens33内容如下:(其他的保持默认)BOOTPROTO="static" #改为静态ipIPADDR=192.168.48.100 #ip地址GATEWAY=192.168.48.2 #网关NETMASK=255.255.255.0 #掩码DNS1=192.168.48.2 #dnsONBOOT="yes"如果虚拟机是克隆出来的,那么其ip和mac地址会与原来的一样
2020-12-24 18:05:53
1190
2
springboot-mybatis-shiro + vue-bootstrap权限管理demo
2020-12-27
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人