- 博客(181)
- 资源 (15)
- 收藏
- 关注
原创 15. Springboot集成Redis
Redis作为一款高性能的NoSQL数据库,在现代应用程序中扮演着越来越重要的角色。它常用于缓存、消息队列、分布式锁等场景。Spring Boot作为当下流行的Java开发框架,提供了非常便捷的方式集成Redis,使得开发者能够快速构建基于Redis的应用。本文将深入探讨Spring Boot集成Redis的方方面面,包括基础配置、高级特性、最佳实践等,并通过丰富的示例代码帮助读者更好地理解。
2024-09-15 11:35:53 1350 1
原创 00. 这里整理了最全的爬虫框架(Java + Python)
网络爬虫技术在信息时代的大数据时代中变得越来越重要。它是一种从互联网上获取数据的技术,被广泛应用于搜索引擎、数据挖掘、商业情报等领域。
2024-06-27 09:50:35 4178 18
原创 程序OOM后,还能正常访问吗?
今天要探讨的是最近不知道为什么突然间火起来的面试题:当JAVA程序出现OOM之后,程序还能正常被访问吗?答案是可以的,很多时候他并不会直接导致程序崩溃,而是JVM会抛出一个error,告知你程序内存溢出了。当然也要分操作系统。
2024-05-19 21:58:52 1532 2
原创 2、关于数据库事务那些事
事务指的是逻辑上的一组操作,这组操作要么都执行,要么都不执行。最典型的就是转账的例子:老板每个月给你发工资(500元)转账的操作必然会经历两个操作,一个是从老板账户扣减-500元,另一个是从你的账户增加500元。这个操作必须都成功,或者必须都失败。如果只是一部分成功,那么可能老板的账户扣减了,你的账户却没有增加,或者你的账户增加了,老板的账户却没扣减。这显然都是不允许的,因此事务会把这两个操作看作一个逻辑的整体,这组整体包含的状态必须是一致的。
2024-04-21 22:08:02 1046 5
原创 1、认识MySQL存储引擎吗?
MySQL支持多种存储引擎,其中最常用的有InnoDB、MyISAM。我们可以通过show engines来查看当前数据库所支持的存储引擎。
2024-04-06 20:31:09 1053 6
原创 14. Springboot集成RabbitMQ
消息队列(Message Queue,简称 MQ)是一种异步的消息传递中间件,它解耦了应用程序之间的通信。应用程序可以将消息发送到队列,而无需知道谁会接收这些消息。接收应用程序可以从队列中检索消息,而无需知道谁发送了这些消息。消息队列是一种重要的中间件,它可以帮助应用程序之间进行异步、可靠、可扩展的通信。常见的消息队列中间件有ActiveMQ,RabbitMQ,Kafka......今天我们就来介绍RabbitMQ。
2024-03-26 20:34:48 2616 22
原创 10. 单元测试
软件测试是整个软件开发生命周期内的一个重要阶段,通常软件测试可以评估和验证软件系统的质量、可靠性、安全性和性能等方面。测试通过执行软件的一系列操作,旨在发现潜在的错误、缺陷或问题,从而确保软件能够按照预期工作。而软件测试往往覆盖了不同的层次和类型,其中单元测试是针对软件中最小的独立单元(通常是函数或方法)进行的测试。目标是确保每个单元独立地工作,并且对输入产生正确的输出。单元测试通常由开发人员编写,用于验证代码的正确性。
2024-03-13 19:49:02 3301 24
原创 13. Springboot集成Protobuf
在以往的项目中进行网络通信和数据交换的应用场景中,最经常使用的技术便是json或xml。随着JSON的灵活优势,越来越多的企业选择JSON作为数据交换的格式,目前JSON已经成为了业界的主流。JSON已经足够好用,且能满足相当大部分的场景。但是今天在介绍一个Google的力作protobuf作为数据交换格式。我们来看看。
2024-03-02 20:53:40 3271 42
原创 12. Springboot集成Dubbo3(三)Dubbo-Admin
Dubbo Admin是用于管理Dubbo服务的基于Web的管理工具。Dubbo Admin提供了一个用户友好的界面,用于在分布式环境中监控和管理基于Dubbo的应用程序。
2024-02-25 19:51:54 1375 25
原创 11. Springboot集成Dubbo3(二)示例demo
Dubbo3从Dubbo2演进过来之后,已经从单纯的RPC框架改进成为了一个微服务框架,具备RPC框架能力的同时,还兼备服务治理能力。今天简单介绍下Dubbo3和Springboot的集成过程。
2024-02-19 16:27:32 1887 26
原创 10. Springboot集成Dubbo3(一)简单介绍
Dubbo是一个开源的Java分布式服务框架,最初由阿里团队于2011年开发,其设计目标是为了解决阿里巴巴内部的大规模分布式系统中遇到的问题,包括服务治理、RPC通信等。后来阿里团队将Dubbo贡献给了Apache开源基金会,开源后,得到了广泛的关注和使用。此后阿里团队宣布不在维护Dubbo框架(可能转到了SpringCloud Alibaba框架设计),Dubbo版本停在了2.x。此后当当网基于2.x版本的基础上进行优化和维护,出现了Dubbox版本。
2024-02-07 19:07:59 1694 17
原创 09. 异常处理
在编程中,异常(Exception)是程序在运行期间检测到的错误或异常状况。当程序执行过程中发生了一些无法继续执行的错误时,会引发异常,这可能是由于错误的输入、文件不存在、网络连接问题等多种原因引起的。而程序中对于异常的处理,是为了保持良好的程序健壮性,不会因为异常而导致程序终止甚至退出。
2024-02-01 21:27:02 1341 31
原创 09. Springboot集成sse服务端推流
SSE(Server-Sent Events)是一种允许服务器向客户端推送实时数据的技术,它建立在 HTTP 和简单文本格式之上,提供了一种轻量级的服务器推送方式,通常也被称为“事件流”(Event Stream)。他通过在客户端和服务端之间建立一个长连接,并通过这条连接实现服务端和客户端的消息实时推送。
2024-01-27 15:56:46 3168 31
原创 08. Springboot集成webmagic实现网页爬虫
在信息化的时代,网络爬虫已经成为我们获取和处理大规模网络数据的重要工具。如果将现有网络上的海量数据使用爬虫工具将数据爬取保存下来,并进行分析,就可以挖掘出一些潜在的价值。而现在市面上也出现了很多爬虫工具以及爬虫框架,今天将介绍下Java体系下一款简单使用的爬虫框架WebMagic,并可以很简单的与Springboot进行集成。
2024-01-21 19:46:05 4788 40
原创 07. 面向对象编程(一)
在Python中,面向对象编程(Object-Oriented Programming,简称OOP)是一种程序设计范式,它通过创建类(Class)和对象(Object)来组织代码。而面向对象编程有几个基本的特性:封装,继承,多态。
2024-01-17 22:32:39 1544 43
原创 【JUC进阶】14. TransmittableThreadLocal
书接上回《【JUC进阶】13. InheritableThreadLocal》,提到了InheritableThreadLocal虽然能进行父子线程的值传递,但是如果在线程池中,就无法达到预期的效果了。为了更好的解决该问题,TransmittableThreadLocal诞生了。
2024-01-14 15:37:24 1699 39
原创 【JUC进阶】13. InheritableThreadLocal
在《【JUC基础】14. ThreadLocal》一文中,介绍了ThreadLocal主要是用于每个线程持有的独立变量。通俗的说就是ThreadLocal是每个线程独有的一份内存,且各个线程间是独立、隔离的。
2024-01-08 20:51:09 2423 50
原创 07. HTTP接口请求重试怎么处理?
HTTP接口请求重试是指在请求失败时,再次发起请求的机制。在实际应用中,由于网络波动、服务器故障等原因,HTTP接口请求可能会失败。为了保证系统的可用性和稳定性,需要对HTTP接口请求进行重试。
2024-01-02 20:19:53 3211 41
原创 06. Springboot admin集成Actuator(二)
在《Springboot admin集成Actuator(一)》一文中简单演示了Actuator的初步使用,但是可以发现都是json形式返回的结构,那么是否有能够可视化的方式来展示这些指标呢?当然有,就是接下来要说的Springboot Admin。Spring Boot Admin能够将 Actuator 中的信息进行界面化的展示,也可以监控所有 Spring Boot 应用的健康状况,提供实时警报功能。
2023-12-28 09:09:47 3160 45
原创 05. Springboot admin集成Actuator(一)
Spring Boot Actuator是Spring Boot提供的一个用于监控和管理应用程序的扩展模块。Actuator通过HTTP端点和JMX(Java Management Extensions)提供了一系列功能,包括查看应用程序的运行状况、度量指标、日志、追踪和应用信息。它为开发人员和运维人员提供了方便的手段来监控和管理Spring Boot应用。
2023-12-23 20:06:57 3731 51
原创 我的4096创作纪念日
岁月如梭,时光一晃已经在CSDN扎根4096天了。第一次注册CSDN好像还是在2012年,那会还没大学毕业。初入CSDN,只是把他当作自己编程时遇到问题的在线笔记记录而已,没想到无意间还帮助了其他遇到同样问题困扰的同学。而在这4096天的技术博客写作中,我经历了一段充实而丰富的旅程,汇聚了许多关于技术、创作、学习和成长的体验。这个旅程被机缘巧合引领,充满了收获、日常探索,见证了一个个小小的成就,同时也满怀对未来的憧憬。
2023-12-18 18:46:42 1793 48
原创 06. Python模块
Python 的强大之处之一就是其模块化编程的支持。模块是代码的组织单元,它允许你将代码划分为可重用的部分,从而提高代码的可维护性和可扩展性。今天我们一起来探讨 Python 模块的概念、创建和使用方法,以及一些常见的 Python 标准库模块。
2023-12-16 10:44:25 621 32
原创 05. 函数式编程
在《04.函数》一文中介绍了Python中的函数,以及函数的基础使用。函数是Python内建支持的一种封装,我们通过把大段代码拆成函数,通过一层一层的函数调用,就可以把复杂任务分解成简单的任务,这种分解可以称之为面向过程的程序设计。函数就是面向过程的程序设计的基本单元。而函数式编程(Functional Programming),是一种抽象程度很高的编程规范。
2023-12-10 19:20:52 1656 42
原创 04. 函数
在Python编程中,函数是一项强大而灵活的工具,它不仅能够使代码更有组织性,还能提高代码的重用性。函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段。函数能提高应用的模块性,和代码的重复利用率。前面我们已经有接触过一些Python提供的内建函数了,比如print()。我们也可以自己创建函数,这被叫做用户自定义函数。
2023-12-03 14:25:30 1308 40
原创 【Spring源码】Spring Event事件
事件发布/订阅机制在实际项目中很经常用到,一方面可以很容易让我们的代码进行解耦,另一方面可以很方便的进行一对一或一对多的消息通信,是一种常见的观察者设计模式,具有很好的扩展性。今天就来讲一下Spring的事件机制。
2023-11-25 18:03:50 2699 56
原创 03. Python中的语句
在《Python基础数据类型》一文中,我们了解了Python中的基础数据类型,今天我们继续了解下Python中的语句和函数。
2023-11-19 10:11:49 4362 55
原创 02. Python基础数据类型
前面我们介绍了认识了Python以及Python的基础环境搭建,今天我们介绍下Python的一些基础语法。
2023-11-12 09:19:48 992 53
原创 01. Python基础环境搭建
Python 是一种解释型、面向对象、动态数据类型的高级程序设计语言。Python 由 Guido van Rossum 于 1989 年底发明,第一个公开发行版发行于 1991 年。像 Perl 语言一样, Python 源代码同样遵循 GPL(GNU General Public License) 协议。Python有2个较大的版本,一个是Python 2.x,一个是Python 3.x。官方宣布,2020 年 1 月 1 日, 停止 Python 2 的更新。Python 2.7 被确定为最后一个 P
2023-11-07 20:05:10 504 43
原创 MECE分析法
前段时间在对项目进行问题分析的时候,领导要求要符合MECE原则,做到逻辑完整而不能遗漏。虽然没听过这个原则,但是总感觉很有道理(领导说的都对)。于是乎,就找了一些资料了解了一下。MECE分析法是麦肯锡公司的巴巴拉·明托(Barbara Minto)在《金字塔原理》(The Minto Pyramid Principle)中提出的一个很重要的原则,是一种很有用的分析问题的思维方法。
2023-10-23 20:58:57 1855 46
原创 Windows terminal美化工具Oh-My-Posh
windows电脑上的终端工具Window terminal大家应该都不陌生,这里介绍一款美化工具,从此告别windows terminal的黑与白。
2023-10-14 10:14:55 2525 45
原创 04. Springboot集成Mybatis-flex(二)
上一篇文章《Springboot集成Mybatis-flex(一)》提到Mybatis Flex和Spring Boot的初步集成和基础使用。今天我们再来探索Mybatis Flex其他特性的使用。
2023-10-01 13:29:36 1821 48
原创 03. Springboot集成Mybatis-flex(一)
现在主流的Mybatis增强框架有很多,当然项目中最经常使用的还是MybatisPlus为主。但是用过MybatisPlus的小伙伴也知道,对于单表操作,链式的编码方式以及提供的Lambda支持可以简化很多代码量,但是如果多表操作,就显得心有余而力不足了。因此大多数项目中对于多表操作,仍然选择采用XML的编写方式。那么这里介绍一款Mybatis增强框架,号称集成了MybatisPlus等多个框架的优点。那就是Mybatis-Flex。
2023-09-26 13:01:02 2171 63
原创 02. Springboot集成Flyway
在现代应用程序开发中,数据库的变化是一个不可避免的过程。为了管理数据库版本、维护迁移历史记录和确保开发团队之间的一致性,Flyway 是一个强大的数据库迁移工具,而与 Spring Boot 集成可以让我们更轻松地进行数据库版本管理。
2023-09-20 12:41:16 1872 52
原创 16. Docker容器监控CAdvisor+InfluxDB+Granfana
容器监控方式有很多种,上一篇我们介绍了Uptime Kuma。这类一般用于检测docker应用健康状态,而今天要介绍的监控神器更多偏向于Docker的硬件资源监控,如CPU,内存,磁盘IO等,那就是cAdvisor,可以通过配合Prometheus/incAdvisor 是谷歌公司用来分析运行中的 Docker 容器的资源占用以及性能特性的工具。
2023-09-15 08:15:00 1666 53
原创 02. Kubeadm部署Kubernetes集群
Kubernetes本身不提供容器引擎,因此在部署之前需要先安装好Docker环境。Kubernetes的部署方式有:kubeadmin方式、yum方式、二进制包方式、minikubei工具方式。今天我们先介绍最常用的kubeadm方式。
2023-09-10 13:54:08 601 56
原创 01. Kubernetes基础入门
Docker 容器技术将应用及其依赖打包到镜像中,从而很好地解决了应用部署与集成的问题。低在现实中却很少通过 Docker 将应用进行大规模的部署。这主要是因为,Docker 本质上是一种单的容器技术(或者说是一种工具),并不能很好地将应用组织起来,难以独立地支撑起生产环境中应用的大规模容器化部署。而采用 Kubernetes 则可以很好地解决这个问题。
2023-09-04 21:40:32 1140 72
原创 15. Docker实战监控神器Uptime Kuma
在利用Docker部署项目时,我们需要时刻知道已部署的容器的状态。且通常会把所有的站点监控配置到云平台上,以检测各站点的连通性。而Uptime Kuma就是一个开源的监控工具,还支持告警信息的推送等。我现在所在的项目中,就是用此作为站点健康状态监控的工具。
2023-09-01 12:52:16 3008 54
原创 14. Docker中实现CI和CD
持续集成(CI/CD)是一种软件开发的经验总结。它用于帮助开发团队和交付团队实现频繁且快速的集成,以及测试他们的工作成果,以尽可能快地发现项目开发和交付工程中的错误。越频繁,越早的项目集成与项目交付,则意味着问题会被越早发现。因此,通过持续集成 ( CI/CD)可以及时发现和解决代码故障,提高代码质量,减少故障处理成本等。
2023-08-28 12:45:34 3435 81
Java8 API CHM文档
2023-04-30
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人