
性能优化
文章平均质量分 80
图灵学院架构师
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Spring Cloud Alibaba入门教程-02【 Alibaba微服务组件Nacos注册中心】
官方:一个更易于构建云原生应用的动态服务发现(Nacos Discovery )、服务配置(Nacos Config)和服务管理平台。集 注册中心+配置中心+服务管理 平台Nacos 的关键特性包括:服务发现和服务健康监测动态配置服务动态 DNS 服务服务及其元数据管理管理所有微服务、解决微服务之间调用关系错综复杂、难以维护的问题;Nacos Discovery服务注册:Nacos Client会通过发送REST请求的方式向Nacos Server注册自己的服务,提供自身的元数据,比如ip地址原创 2022-06-16 19:25:22 · 6156 阅读 · 0 评论 -
Spring Boot Actuator 指标监控
干嘛的:主要运用在微服务架构,所以我建议你先学微服务,否则可能get不到它的用处,只有大型的分布式系统才会用到指标监控… Why:?对于一个大型的几十个、几百个微服务构成的微服务架构系统,在线上时通常会遇到下面一些问题,比如:So: 在这种大型分布式应用的环境下,我们如何能够快速发现问题、快速解决问题, 必须要有监控平台、(链路追踪、日志)介绍:SpringBoot自带监控功能Actuator,可以帮助实现对程序内部运行情况监控,比如监控状况、Bean加载情况、环境变 量、日志信息、线程信息等实现原创 2022-06-08 13:29:03 · 6161 阅读 · 0 评论 -
MongoDB 实战
MongoDB是一个文档数据库(以 JSON 为数据模型),由C++语言编写,旨在为WEB应用提供可扩展的高性能数据存储解决方案。文档来自于“JSON Document”,并非我们一般理解的 PDF,WORD 文档。MongoDB是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。它支持的数据结构非常松散,数据格式是BSON,一种类似JSON的二进制形式的存储格式,简称Binary JSON ,和JSON一样支持内嵌的文档对象和数组对象,因此可以存储比较复杂的数原创 2022-06-02 16:02:46 · 7015 阅读 · 0 评论 -
SpringBoot资料合集-07【Spring Boot自定义starters】
一、简介SpringBoot 最强大的功能就是把我们常用的场景抽取成了一个个starter(场景 启动器),我们通过引入springboot 为我提供的这些场景启动器,我们再进行 少量的配置就能使用相应的功能。即使是这样,springboot也不能囊括我们所 有的使用场景,往往我们需要自定义starter,来简化我们对springboot的使 用。二、如何自定义starter1.实例如何编写自动配置 ?我们参照@WebMvcAutoConfiguration为例,我们看看们需要准备哪些东 西,下面原创 2022-05-29 19:28:56 · 2775 阅读 · 0 评论 -
SpringBoot资料合集-06【Spring Boot启动原理源码剖析】
概念&原理:源码:SpringBoot 事假监听器发布顺序:1 1.ApplicationStartingEvent在运行开始时发送,但在进行任何处理之前(侦听器和初始化程序的注册除外)发送。 2 2.在创建上下文之前,将发送ApplicationEnvironmentPreparedEvent。 3 3.准备ApplicationContext并调用ApplicationContextInitializers之后,将发送ApplicationContextInitializedEve原创 2022-05-27 19:31:55 · 333 阅读 · 0 评论 -
SpringBoot资料合集-05【Spring Boot集成MyBatis】
1.整合Durid数据源1、引入Jar包12 <dependencies> 3 <dependency> 4 <groupId>org.springframework.boot</groupId> 5 <artifactId>spring‐boot‐starter‐jdbc</artifactId> 6 </dependency> 7 <dependency> 8 <groupId>原创 2022-05-25 19:30:43 · 249 阅读 · 0 评论 -
SpringBoot资料合集-04【Spring Boot与Web开发】
1.SpringMVC快速使用1.基于restful http接口 的CURD2.调用rest http接口3.通过postman调用4.通过swagger调用2.SpringMVC自动配置原理分析3.定制SpringMvc的自动配置1.通过WebMvcConfigurer进行扩展2. Json 开发3.国际化4.统一异常处理4.SpringBoot的嵌入式Servlet容器1.嵌入式Servlet容器配置修改2.注册servlet三大组件3.切换其他嵌入式Servlet容器4原创 2022-05-23 19:17:29 · 340 阅读 · 0 评论 -
SpringBoot资料合集-03【Spring Boot 热部署与日志】
1.springboot中devtools热部署2.带你弄清混乱的JAVA日志体系!3. logback日志的集成1.springboot中devtools热部署1.1 引言为了进一步提高开发效率,springboot为我们提供了全局项目热部署,日后在开发过程中修改了部分代码以及相关配置文件后,不需要每次重启使修 改生效,在项目中开启了springboot全局热部署之后只需要在修改之后等待几秒即可使修改生效。1.2 开启热部署1.2.1 项目中引入依赖1 <dependency>原创 2022-05-21 19:33:33 · 488 阅读 · 0 评论 -
Spring Boot资料合集-02【Spring Boot的配置文件和自动配置原理】
1.使用Spring Initializer快速创建Spring Boot项目2.自定义SpringApplication3.配置文件的使用3.1 配置文件介绍3.2 yml基本语法3.3 配置文件的加载顺序 :3.4 外部约定配置文件加载顺序:3.5 Profile文件的加载3.6 所有配置文件按以下顺序考虑: 优先级从低到高3.7 外部属性读取 优先级从高到低4、配置文件值注入4.1、配置文件占位符5. Spring Boot的配置和自动配置原理1.使用Spring Initi原创 2022-05-19 19:24:28 · 423 阅读 · 0 评论 -
【MyBatis笔记-09】MyBatis-Plus的使用
MyBatisPlus(简称 MP)是一个 MyBatis的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效率而生。就像 魂斗罗 中的 1P、2P,基友搭配,效率翻倍。特性:无侵入:只做增强不做改变,引入它不会对现有工程产生影响,如丝般顺滑损耗小:启动即会自动注入基本 CURD,性能基本无损耗,直接面向对象操作强大的 CRUD 操作:内置通用 Mapper、通用 Service,仅仅通过少量配置即可实现单表大部分 CRUD 操作,更有强大的条件构造器,满足各类使用需求原创 2022-05-15 14:51:27 · 752 阅读 · 0 评论 -
【mybatis笔记-08】SSM框架整合
三大框架整合在老期的项目中,一般都是使用ssm项目做开发的,虽然现在的主流 开发是springboot来做开发,但是ssm的基本整合还是需要掌握的。整合SSM框架要做哪些事情:SpringMVC: pom1. web.xmla. 前端调度器servletb. 编码过滤器filterc. 支持rest的过滤器2. springmvc.xmla. 扫描controller包b. 添加c. 视图解析器d. 静态资源解析3. 添加控制器类…Spring:1. web.xmla. 监听原创 2022-05-13 14:40:20 · 317 阅读 · 0 评论 -
【mybatis笔记-07】MyBatis逆向工程&分页插件
1、分页插件 自定义分页插件 分页插件使用 PageHelper 原理 2、mybatis逆向工程 1、分页插件 MyBatis 通过提供插件机制,让我们可以根据自己的需要去增强MyBatis 的功能。需要注意的是,如果没有完全理解MyBatis 的运行原理和插件的工作方式,最好不要使用插件,因为它会改变系底层的工作逻辑,给系统带来很大的影响。 MyBatis 的插件可以在不修改原来的代码的情况下,通过拦截的方式,改变四大核心 对象的行为,比如处理参数,处理SQL,处理结原创 2022-05-12 19:10:03 · 258 阅读 · 0 评论 -
【Mybatis笔记-06】MyBatis基于XML的详细使用——缓存
1、一级缓存的使用2、二级缓存1、缓存的使用2、缓存的属性3、二级缓存的作用范围4、整合第三方缓存1、介绍MyBatis 内置了一个强大的事务性查询缓存机制,它可以非常方便地 配置和定制。 为了使它更加强大而且易于配置,我们对 MyBatis 3 中的缓存实现进行了许多改进。 默认情况下,只启用了本地的会话缓存,它仅仅对一个会话中的数据进行缓存。 要启用全局的二级缓存,只需要在你的 SQL 映射文件中添加一行: 1 <cache/> 当添加上该原创 2022-05-10 19:12:19 · 437 阅读 · 0 评论 -
【Mybatis笔记-05】MyBatis基于XML的详细使用-参数、返回结果 处理
1、动态sql1、ifwheretrim3、foreach3、choose、when、otherwise4、set1、动态sql动态 SQL 是 MyBatis 的强大特性之一。如果你使用过 JDBC 或其它类似的框架,你应该能理解根据不同条件拼接 SQL 语句有多痛苦,例如拼接时要确保不能忘记添加必要的空格,还要注意去掉列表最后一个列名的逗号。利用动态 SQL,可以彻底摆脱这种痛苦。使用动态 SQL 并非一件易事,但借助可用于任何 SQL 映射语句中的 强大的动..原创 2022-05-08 19:26:59 · 1174 阅读 · 0 评论 -
MyBatis基于XML的详细使用-参数、返回结果处理
1、参数的获取方式2、参数的传递方式3、处理集合返回结果4、自定义结果集---resultMap1、参数的取值方式 在xml文件中编写sql语句的时候有两种取值的方式,分别是#{}和${}, 下面来看一下他们之间的区别:2、select的参数传递3、处理集合返回结果EmpDao.xmlUserDao.java4、自定义结果集resultMapEmpMapper.xml需要该文章相关资料+代码,可关注...原创 2022-05-06 19:50:49 · 536 阅读 · 0 评论 -
cglib底层源码分析(三)
前⾯介绍到MethodProxy对象,表示⼀个⽅法的代理,⽐如UserSerivce中的test()⽅法,在对应的代理 类中会有对应的两个⽅法: ⽽MethodProxy对象代理就是这两个⽅法,⽐如: 我们先来看⼀下MethodProxy对象的创建,创建的⼊⼝在代理类中:对应的⽅法为: 可以发现MethodProxy对象中主要有三个属性: 1. sig1,表示test⽅法 2. sig2,表示CGLIB$test$0⽅法 3. createInfo,表示Us...原创 2022-04-14 19:33:07 · 347 阅读 · 0 评论 -
cglib底层源码分析(⼆)
其实我们如果看到了cglib所⽣成的代理类之后,其实就不难猜测,cglib是如何去⽣成代理类了,我们看 ⼀个完整的代理类:我们发现,UserService代理类既继承了UserService类,也实现了Factory接⼝,从⽽代理中就需要去 实现Factory接⼝中的⼏个⽅法:我们可以发现newInstance()⽅法会重新⽣成⼀个代理对象,setCallbacks()和getCallbacks()可以⽤来 设置或获取增强逻辑。我们还发现,不仅只...原创 2022-04-12 19:16:43 · 500 阅读 · 0 评论 -
cglib底层源码分析(⼀)
cglib是⼀种动态代理技术,可以针对类来⽣成⼀个代理对象。 ⽐如,我们现有⼀个UserService类:现在利⽤cglib对UserService类中的test()⽅法进⾏增强:在分析底层源码实现之前,我们先来试试,cglib能否代理接⼝,定义⼀个UserInterface接⼝然后利⽤cglib来代理⼀个接⼝:也是可以正常运⾏的,那么⽤cglib代理⼀个类和代理⼀个接⼝的底层有什么区别呢?我们继续分析。 我们知道,既然要⽣成⼀个代理对象,那么就肯定需要⼀个代理...原创 2022-04-10 19:15:58 · 595 阅读 · 1 评论 -
亿级IM系统
本文将在亿级消息量、分布式IM系统这个技术前提下,分析和总结实现这套系统所需要掌握的知识点,内容没有高深的技术概念,尽量做到新手老手皆能读懂。本文不会给出一套通用的IM方案,也不会评判某种架构的好坏,而是讨论设计IM系统的常见难题跟业界的解决方案。因为也没有所谓的通用IM架构方案,不同的解决方案都各有其优缺点,只有最满足业务的系统才是一个好的系统。在人力、物力、时间资源有限的前提下,通常需要做出很多权衡,此时,一个能够支持快速迭代、方便扩展的IM系统才是最优解。IM常见术语用户:.原创 2022-04-06 19:36:04 · 1052 阅读 · 0 评论 -
零基础入门PostgreSQL
一、PG简介PostgreSQL 是一个免费的对象-关系数据库服务器(ORDBMS),在灵活的BSD许可证下发行。PostgreSQL 开发者把它念作 post-gress-Q-L。PostgreSQL 的 Slogan 是 "世界上最先进的开源关系型数据库"。“开源界的Oracle”,去O首选PostgreSQL官网PostgreSQL: The world's most advanced open source databasePostgreSQL中文社区Postgr原创 2022-03-26 20:00:37 · 1747 阅读 · 0 评论