自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(154)
  • 资源 (9)
  • 问答 (4)
  • 收藏
  • 关注

原创 微服务架构详解(一):微服务技术选型

1.微服务简介微服务架构(Microservice Architecture)是一种架构概念,旨在通过将功能分解到各个离散的服务中以实现对解决方案的解耦,从而降低系统的耦合性,并提供更加灵活的服务支持。2.微服务技术选型(仅列举个人认为常用的,根据架构层级排序)区域内容分发:CDN网络负载均衡:lvs服务网关:zuul,kong,springcloud gateway熔断、降级、限流:Hystrix,Sentinel:eureka,

2023-04-25 16:56:13 4116

原创 组件化、模块化、集中式、分布式、服务化、面向服务的架构、微服务架构

我们用网站打个比方:一个大型网站的web界面就是它整个系统入口点和边界,可能要面对全世界的访问者(所以经常会做国际化之类的工作),而系统内部传统的OO接口和程序则被隐藏在web界面之后,只被内部较小范围使用。集中式系统的最大的特点就是部署结构非常简单,底层一般采用从IBM、HP等厂商购买到的昂贵的大型主机。现在将Echo发布为Java WebServices,并由底层框架自动生成WSDL来作为标准化的服务契约,这样就能与远程的各种语言和平台互操作了,较好的解决了上面提到的松耦合和可重用的问题。

2023-02-16 09:10:36 2666

原创 分布式架构

​  我们都知道,当今无论在BAT这样的大公司,还是各种各样的小公司,甚至是传统行业刚转互联网的企业都开始使用分布式架构,那么什么叫分布式架构呢?分布式架构有什么好处呢?分布式架构经过了怎样的发展呢?是哪家企业开启了分布式架构的时代呢?读完本文,你就会得到这些答案,下面让我们一起来开启分布式概述的奇妙之旅吧!​  通过本文分布式系统的概述,我们就对分布式有了一个很直观的了解,里面涉及到的技术还是蛮多的,后面的文章中,我们一点点的来啃这些硬骨头。评论区等你。

2023-02-15 16:44:17 1668

原创 Java后端技术框架

可以根据项目需求和个人经验选择合适的技术栈。

2023-02-15 16:17:41 1684

原创 Jenkins + Gitee + Maven 自动化部署 Spring Boot

jenkins的资料太多,本文经过亲手实践吐血整理而出,如何在Window下通过使用Jenkins实现对maven项目的自动构建、推送、部署、测试等

2023-01-29 14:57:42 5972 6

原创 微服务介绍(一)

一个系统业务量很小的时候所有的代码都放在一个项目中就好了,然后这个项目部署在一台服务器上就好了。整个项目所有的服务都由这台服务器提供。这就是单机结构。单体应用的优点在于:单一架构模式在项目初期很小的时候开发方便,测试方便,部署方便,运行良好。他的缺点也很明显:应用随着时间的推进,加入的功能越来越多,最终会变得巨大,一个项目中很有可能数百万行的代码,互相之间繁琐的jar包。久而久之,开发效率低,代码维护困难。如果想整体应用采用新的技术,新的框架或者语言,那是不可能的。

2022-11-01 08:52:14 788

原创 SpringBoot统一接口返回和全局异常

写在最前:后端接口大致分为四个部分组成:接口地址(url)、接口请求方式(get、post等)、请求数据(request)、响应数据(response)。如何构建,这是我们应该深入思考的问题,公司不同,规范不同,要求不同。不管公司有没有要求,我们对自己必须要有要求。今天的这篇文章我们主要介绍,怎么统一处理下接口的返回格式问题。在写后端接口,思考下药做些什么:请求,逻辑处理,返回。这似乎已经可以满足对用户管理操作的需求,但是对于一个查询用户方法来讲代码量还是可以接受的,但是对于一个简单的更

2022-11-01 08:49:26 6587 7

原创 JAVA http请求工具类

指定请求头自定义Cookie(cookie方法)指定是否keepAlive(keepAlive方法)指定表单内容(form方法)指定请求内容,比如rest请求指定JSON请求体(body方法)超时设置(timeout方法)指定代理(setProxy方法)指定SSL协议(setSSLProtocol)简单验证(basicAuth方法)很多时间受限于项目,开发环境,还是必须自己封装http,下边就这几贴代码了/**

2022-01-25 11:17:30 28441 3

原创 SpringBoot实现前后端数据交互、json数据交互、Controller接收参数的几种常用方式

现在大多数互联网项目都是采用前后端分离的方式开发,前端人员负责页面展示和数据获取,后端负责业务逻辑处理和接口封装。当与前端交互的过程当中,常用json数据与前端进行交互,这样想取出前端传送过来的json数据的时候,就需要用到@RequestBody这个注解。@RequestBody注解用于读取http请求的内容(字符串),通过springmvc提供的HttpMessageConverter接口将读...

2019-04-12 10:52:50 58162 9

原创 Spring Boot注解@RequestMapping、@RequestBody的详解

目录1、@RequestMapping1.1、 value, method;value/method 示例1.2、 consumes,produces;consumes/produces 示例1.3、 params,headers;params/headers 示例2、@PathVariable2.1、定义单个URL变量2.2、定义多个URL变量3...

2019-03-15 15:12:28 53586 4

原创 如何保证Redis和数据库数据一致性

缓存可以提升性能,减轻数据库压力,在获取这部分好处的同时,它却带来了一些新的问题,缓存和数据库之间的数据一致性问题。想必大家在工作中只要用了咱们缓存势必就会遇到过此类问题。

2024-03-14 15:09:55 980 1

原创 Spring Boot工具篇--使用yml多环境配置和创建多环境profile打包

本文将介绍Spring Boot工具篇的两个主题:使用yml多环境配置和创建多环境profile打包。在使用Spring Boot框架进行开发时,经常需要根据不同的环境进行不同的配置,例如,在开发、测试和生产环境中,我们需要连接不同的数据库、使用不同的日志级别等。为此,我们可以使用yml多环境配置,在不同环境下使用不同的yml文件,从而达到不同的配置。同时,使用多环境profile打包,可以根据不同的环境进行不同的打包,避免生产环境出现意外情况。

2023-09-07 08:29:16 1150

原创 SpringBoot工具库:解决SpringBoot2.*版本跨域问题

在Spring Boot项目中,常见的几种解决跨域问题的方式如下:加入CORS过滤器:使用CorsFilter类,将此类注册为过滤器即可。使用@WebFilter注解:该注解可以直接在过滤器类上使用,并指定过滤的url,类似于xml文件中配置的filter。使用注解@CrossOrigin:

2023-09-01 09:07:36 919

原创 IDEA配置热启动

spring-boot-devtools是一个用于开发Spring Boot应用的开发工具,它提供了很多有用的功能,帮助开发人员提高开发效率和调试能力使用spring-boot-devtools可以自动监视应用的类文件和静态资源的变化,并且在变化时自动重新启动应用,从而节省了重新编译和手动重启的时间。spring-boot-devtools还提供了一个内嵌的开发者工具页面,可以用来查看应用的详细信息,如自动配置报告、加载的bean等。

2023-08-28 22:31:58 1613

原创 IDEA下SpringBoot指定环境、配置文件启动

使用 -D 参数设置系统属性和使用 -- 参数设置命令行参数都是设置 Spring Boot 应用程序的配置文件的有效方法。此外,使用 -D 参数设置系统属性时,需要将属性名和属性值用等号 = 连接起来,而使用 -- 参数设置命令行参数时,则需要在属性名前加上 -- 前缀。在Spring-Boot 项目启动时,推荐使用 -- ,如 --spring.profiles.active=dev。使用 -D 参数设置系统属性和使用 -- 参数设置命令行参数之间的主要差异在于,,并且可以设置任何系统属性,而。

2023-08-24 21:26:26 4883

原创 Windows下安装RocketMQ、配置可视化界面

本篇文章主要介绍了RocketMQ的安装教程,包括环境准备、下载安装、配置启动等步骤,帮助读者更好地理解和使用RocketMQ。

2023-08-17 20:17:15 1411

原创 Windows环境下安装RabbitMQ

消息队列中间件是分布式系统中重要的组件,主要解决应用耦合,异步消息,流量削锋等问题实现高性能,高可用,可伸缩和最终一致性。使用较多的消息队列有 ActiveMQ(安全),RabbitMQ,ZeroMQ,Kafka(大数据),MetaMQ,RocketMQ。RabbitMQ是一个开源的消息队列中间件,用于实现在应用程序之间进行数据传输和通信。它基于AMQP(Advanced Message Queuing Protocol)协议,并提供可靠的消息传递机制。

2023-08-16 21:46:21 403

原创 GitHub 打不开解决方案

GitHub 这几年国内普通用户越来越难以访问,github 作为全球最大的开源平台,里面有用的内容很多,不管是对专业用户还是普通用户,无法访问都是很严重的问题。

2023-08-14 09:05:59 2914 2

原创 Windows下安装 Redis

Redis已成为一种流行的开源内存数据库和缓存解决方案。它被广泛应用于各种场景,包括高流量的网站、数据分析、实时应用程序等。本篇博客文章将指导您如何在Windows操作系统上安装和配置Redis

2023-08-08 11:33:21 637

原创 Nacos:服务注册与发现(四)

Nacos 是阿里巴巴新的开源项目,可以快速实现动态服务发现、服务配置、服务元数据及流量管理。本篇博客以实现服务注册与发现为主。在SpringCloud中也有一个同样优秀的服务注册与发现组件:Eureka,不过已经闭源了,这也是我为什么要学习 Nacos 的原因之一。如果你也想了解 Eureka,那么请前往:SpringCloud之服务注册与发现Eureka+客户端Feign。

2023-08-02 18:16:02 195

原创 Nacos:配置中心(三)

Spring Boot整合Nacos实现配置中心是一种常见的架构模式,帮助开发人员集中管理应用程序的配置信息,并实现配置的动态更新。

2023-07-31 17:09:49 8976

原创 Debian部署Tomcat 注册服务并设置开机启动

在Debian系统上安装Tomcat并将其注册为服务以及设置开机启动的步骤。Tomcat是一个开源的Java Servlet容器,可以用来运行Java Web应用程序。通过本文的指导,能够在Debian系统上快速安装Tomcat,并确保其可以在系统启动时自动启动。

2023-07-19 23:03:11 1076

原创 52 类 110 个常用 Java 组件和框架整理

也有一些实在不好分类的,就放到最后了。

2023-07-18 18:06:19 1202

原创 MyBatis-Plus:条件构造器Wrapper

MyBatis-Plus的Wrapper是一个强大的条件构造器,用于构建MyBatis中的SQL语句中的WHERE条件,提供了多种不同的Wrapper实现,提供了多种不同的Wrapper实现。,总之,MyBatis-Plus的Wrapper是一个非常强大、灵活、易用的条件构造器,可以大大简化MyBatis中SQL语句的构建过程,提高开发效率。

2023-06-26 22:47:37 12912

原创 Mybatis-Plus:实现自定义SQL

Mybatis-Plus(以下简称MBP)的初衷是为了简化开发,而不建议开发者自己写SQL语句的;但是有时客户需求比较复杂,仅使用MBP提供的Service,Mapper与Wrapper进行组合,难以实现可以需求;这时我们就要用到自定义的SQL了。Java 开发使用 mybatis-plus 来执行 sql 操作,往往比 mybatis 能够省时省力,因为 mybatis-plus 封装了很多常用的接口。但对于一些更为复杂的查询来说,mybatis-plus 也相形见绌,还得需要我们自定义 sql 语句。

2023-06-26 10:10:04 27971 4

原创 JAVA基础:线程池的使用

线程池是一种常见的多线程编程技术,它允许我们在系统中使用一个固定数量的线程来执行任务,以免过多的线程拉低了系统的性能。在本文中,我们将探讨线程池的使用和一些最佳实践,以便在您的代码中获得更好的性能和可维护性。

2023-06-25 10:34:08 4237

原创 编程必备:JAVA多线程详解

多线程已经成为一种常见的编程模式,广泛应用于各种不同类型的应用程序中。本篇博客文章中,我们将会探讨多线程编程的相关知识和技巧。通过代码示例和实际应用案例来深入了解多线程的具体实现和应用方法,帮助更好地掌握多线程编程技术,提高程序效率和性能。后期随学习深入还会补充修改。以上就是我对多线程的个人简介,后续会不断完善更新,与大家共勉。

2023-06-14 17:20:14 6809 1

原创 Lambda表达式使用详细讲解

Lambda表达式是一种匿名函数,它可以作为参数传递给其他函数或者在代码中直接定义和使用,它的语法比较简洁,可以减少代码量和提高代码可读性。Lambda表达式最初是在函数式编程语言中出现的,但后来被广泛地应用于其他编程语言中,包括Java、Python、C++等。

2023-06-12 17:00:41 2525

原创 IDEA之Mybatis Log Plugin的使用

今天发现大部分猿友关于查看执行sql语句的方法,只知道将其输出到控制台。然而还有更简便的方法,就是使用插件Mybatis log plugin。但是Mybatis Log Plugin已经开始收费了,这里就简单介绍一下替代产品Mybatis Log Plus使用方法。

2023-06-12 10:39:17 4141

原创 Spring Tool Suite(STS)初始化配置记录

eclipse已经落后了,IDEA才是主流!这么回答:大哥,您说的都对每次使用STS之前,常规的配置必不可少,以本文记录下配置项,配置方式,以供后续重新搭建环境参考使用。

2023-05-25 10:56:51 2418

原创 推荐一款好用的Idea热部署插件

频繁的重启服务,严重影响开发、调试的节奏,影响整体的工作效率。其核心(Agent部分)是基于HotSwapAgent做了二次开发,对spring、mybatis、tomcat、cglib等主流技术框架进行了深度的优化,同时对一些主流的国产框架进行了热部署支持,例如apollo、mybatis-plus、tk-mybatis、Fastjson等。IDEA自带的热部署只能够支持方法体的变更,无法做到spring、mybatis等框架的动态重载,所以这里禁用IDEA自带的热部署功能。

2023-05-23 11:31:42 9908 10

原创 高并发系统的三把利器

服务降级是当服务器压力剧增的情况下,根据当前业务情况及流量对一些服务和页面有策略的降级,以此释放服务器资源以保证核心任务的正常运行。高并发(High Concurrency)是互联网分布式系统架构设计中必须考虑的因素之一。垂直扩展(Scale Up)与水平扩展(Scale Out)。水平扩展。同时结合一些策略达到分流、限流的目的1.对于秒杀这样的高并发场景业务,最基本的原则就是将请求拦截在系统上游,降低下游压力。

2023-05-19 15:25:53 954 1

原创 分布式系统:高并发

高并发是指系统在同一时间内处理大量请求的能力。在软件开发中,为了应对高并发的情况,通常需要进行系统架构设计、代码优化、缓存策略等方面的优化。高并发相关常用的一些指标有响应时间(Response Time),吞吐量(Throughput),每秒查询率QPS(Query Per Second),并发用户数等。1)提升系统的高并发的能力;2)流量控制:通过分流,削峰、限流等业务、技术手段分散流量;1.对于秒杀这样的高并发场景业务,最基本的原则就是将请求拦截在系统上游,降低下游压力。

2023-05-18 16:07:58 1140

原创 JAVA中PO、VO、BO、POJO、DAO、DTO、TO的理解

VO是显示视图模型,视图对象,用于展示层,它的作用是把某个指定页面(或组件)的所有数据封装起来。在与数据有关的操作中数据存在数据库使用DAO访问被取出来时,一般会将这些数据规范化的定义成类,而这个类就是DO,用来接收数据库对应的实体,它是一种抽象化的数据状态,介于数据库与业务逻辑之间。在MVC(模型Model-视图View-控制器Controller)模式中,Model代表模型,是业务流程/状态的处理以及业务规则的制定,接受视图请求的数据,并返回最终的处理结果。业务模型的设计可以说是MVC最主要的核心。

2023-05-10 20:21:41 849

原创 IDEA 搭建 Maven模块化项目

多模块项目,适用于一些比较大的项目,通过合理的模块拆分,实现代码的复用,便于维护和管理。尤其是一些开源框架,也是采用多模块的方式,提供插件集成,用户可以根据需要配置指定的模块抽象定义公共代码及Util封装进行引用业务代码进行单独定义模块数据库等DB操作相关抽离单独模块提供外部平台调取的接口单独定义模块上面的拆分也并非绝对,随着架构师对于项目结构的不同理解,可能会衍生出不同的模块比较经典的就是 Dubbo 将接口 API 进行抽离提供生产者接口,打为 Jar 包供消费端调用。

2023-05-09 17:32:50 4841 5

原创 SpringBoot整合Mybatis-Plus、Druid配置多数据源

本文将介绍如何使用Spring Boot框架整合MyBatis和Druid多数据源,并包含以下内容:概述Spring Boot、MyBatis和Druid环境准备和依赖配置配置多数据源配置MyBatis配置Druid连接池使用MyBatis访问多数据源代码实现和测试通过本文的阅读,学习到如何使用Spring Boot框架整合MyBatis和Druid多数据源,能够帮助您更快速、更高效地开发企业级应用程序。

2023-04-28 15:23:40 8535 2

原创 IDEA下SpringBoot指定配置文件启动项目

选择 Configuration —》Environment —》Program arguments(main方法启动方式:优先级高于在配置文件里面的激活的)除了在配置文件和命令行中指定Profile,还可以在启动类中写死指定,通过SpringApplication.setAdditionalProfiles方法。多个配置文件,启动项目的时候,需要修改右上角的配置信息,按下图操作。在启动日志里看到下图所示的日志,便代表指定配置文件启动成功。在开发过程中,通常在主配置文件里指定实际使用的配置文件。

2023-04-24 10:07:34 7859

原创 Debain安装软件问题,常见安装软件错误解决方案

在Debian操作系统中,安装软件时经常会遇到各种错误,比如依赖关系问题、无法找到软件等等。本文将介绍常见的安装软件错误及解决方案,帮助您在Debian系统中顺利安装所需软件。

2023-04-21 09:16:30 2344

原创 Debain11初始化配置(一)

Debian11 软件包安装完以后,就要进行软件包配置了,不同的软件包配置方式不同,但是通过 APT 安装的软件,应该首选阅读官方提供的优良文档。一般按照文档说明进行配置。一般场景下使用ufw已经可以满足基本安全需求了。Debian11 软件包升级过程,首先选择最新的可用版本,然后解决依赖关系,如果远程与已安装的版本不同,则从远程获取二进制软件包,解包、运行脚本、安装二进制文件等。Debian11 软件包删除过程,首先选择命令行中列出的包,然后解决软件包依赖关系后运行脚本,删除已安装的文件,除了配置文件。

2023-04-20 21:43:54 2049

原创 Debian常用命令(三)

tar -cvzf foo.tar.gz bar/ //将目录 “bar/” 中的内容打包并压缩成 “foo.tar.gz” 文件;tar -cvjf foo.tar.bz2 bar/ //将目录 bar/ 中的内容打包到 foo.tar.bz2 档案中;systemctl unmask $unit //取消遮掩 "$unit" (删除到 "/dev/null" 的符号链接);tar -cvJf foo.tar.xz bar/ //将目录 bar/ 中的内容打包到 foo.tar.xz 档案中;

2023-04-20 17:01:53 3467 1

p6spy使用说明.doc

p6spy监控jdbc连接oracle查看执行时长,使用配置说明

2021-08-17

eclipse_codetemplates.rar

自己完善的代码注释风格,很实用,再也不用为换了电脑换了工具而担心了,一键导入,直接使用。

2019-07-23

2019全新Python学习路线图

尚硅谷2019全新Python学习路线图,基础,高阶,进阶,数据库,移动端等

2019-04-22

Java后端学习进阶路线

Java后端学习进阶路线,大致分为五个阶段,每个阶段熟练掌握进行下一阶段的学习,有针对性的看自己是否都掌握对应的知识点,查漏补缺。

2019-03-21

maven3.3.9

2017-03-08

JAVASE中文手册

2016-11-04

Jquery EasyUI1.4.1

2016-11-04

Jquery1.7中文手册

2016-11-04

W3School离线手册(2015.07.17)

2016-11-04

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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