自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(24)
  • 资源 (1)
  • 收藏
  • 关注

原创 计算方法执行时间,你是用那种方式?

在 Java 程序开发的进程里,性能调优宛如一座高耸且亟待攀登的山峰,而获取程序运行时间则是攀爬途中不可或缺的关键工具。Java 以其卓越的跨平台性、强大的生态系统以及丰富的类库,被广泛应用于 Web 开发、企业级应用、移动后端乃至大型游戏服务端等多元领域。每一个 Java 开发者都深知,代码的高效执行对于项目成败至关重要。获取运行时间能够为我们提供最直观的性能反馈,帮助我们精准定位代码中耗时较长的部分。

2025-03-12 15:41:53 296

原创 普通多线程 VS 虚拟线程

虚拟线程(Virtual Threads)和普通线程(Platform Threads)的基本概念。根据知识库,虚拟线程是JDK 21引入的,由JVM管理,而普通线程是操作系统级别的。需要解释它们的管理方式,比如虚拟线程在用户空间,而普通线程在内核空间。虚拟线程更轻量,可以创建更多数量,适合高并发场景。而普通线程因为每个线程对应一个OS线程,资源消耗大,数量有限。这点在知识库中多次提到,特别是处理IO密集型任务时虚拟线程的优势。

2025-03-06 10:15:16 262

原创 Docker(docker-compose)部署就如此简单~

(1)安装nginx需要预先创建/opt/nginx/html和/opt/nginx/config本地目录。etcd.yaml在docker-compose.yml配置的路径要一致。(2)在/opt/nginx/config创建nginx.conf。(4) 执行docker-compose。(1)安装docker(略)(3)查看网络是否安装完毕。

2025-02-22 16:16:43 309

原创 除了maven,还可以用什么?Gradle(新版)

Gradle 是一款基于 Apache Ant 和 Apache Maven 概念的项目自动化构建工具,以下是对它的详细基本概念Gradle 利用一种基于 Groovy 的特定领域语言(DSL)来声明项目配置,抛弃了传统的 XML 形式的配置文件。这使得配置更加灵活和易于阅读,开发者可以使用 Groovy 语言的强大功能来定义项目的构建逻辑。特点强大的依赖管理:Gradle能够轻松处理项目中的各种依赖关系,无论是本地依赖还是来自远程仓库的依赖。

2025-02-16 17:21:43 899

原创 graylog~认识一下-日志管理平台

Graylog是一个开源的日志管理和分析平台,旨在帮助企业集中收集、存储、搜索和分析来自各种来源的日志数据。它提供了强大的实时日志处理能力,适用于大规模分布式系统和复杂的生产环境。主要功能集中化日志管理:收集来自不同来源的日志,包括应用程序、服务器、网络设备等。支持多种输入插件,如GELF(GraylogExtendedLogFormat)、Syslog、Beats等。实时日志分析:提供实时日志流处理和可视化功能。支持复杂的查询语言,可以快速定位和分析问题。

2025-01-20 15:21:15 1382

原创 小程序开发如此简单~【前端篇】

注意:有时点击完之后没识别出第三方模拟器的位置,可能需要填写本地模拟器位置,我这好像不需要,可能是最新版的微信开发者工具吧。第一次需要安装一下pnpm工具【注意:若想执行npm前提安装了nodejs,如何安装请自己去看教程,这里不详说】原因很简单,模拟器没开放端口,报错日志也写清楚如何解决。因为在官网下载解压有问题,无法使用,我直接在第三方下载了。点击一下命令行【第一次会提示安装命令行插件,安装即可】若是压缩包直接解压,若是clone改一下项目名字就行。以上方式因为受网络限制,很容易失败,可以使用b方案。

2024-11-24 15:58:10 1211

原创 Web架构演变历程~

概念:只需要一个应用,将所有的功能代码打包成一个服务,部署到服务器优点:• 架构简单,项目开发和维护成本低。• 所有项目模块部署到一起,对于小型项目来说,维护方便。缺点:• 所有模块耦合在一起,虽然对于小型项目来说,维护方便。但是,对于大型项目来说,却是不易开发和维护的。• 项目的各模块之前过于耦合,如果一旦有一个模块出现问题,则整个项目将不可用。• 无法针对某个具体模块来提升性能。• 无法对项目进行水平扩展。

2024-10-19 16:06:11 390

原创 JDK模块化思想~

(1)整体结构(2)组件解说module-info.java 文件是 Java 模块系统的核心组成部分,用于定义 Java 模块的信息。从 JDK 9 开始,这个文件被用来描述模块的元数据,包括模块名称、它导出的包、它打开的包以及其他模块依赖等信息。module 路径.模块名称{}module {// 模块声明,例如导出包、打开包、依赖其他模块等requires 关键字用于声明一个模块对其它模块的依赖关系。这意味着当前模块需要使用到另一个模块所提供的类或服务。

2024-10-19 15:41:24 1056

原创 动态数据源就该用它~

在当今这个数据驱动的时代,企业级应用面临着越来越多的挑战。其中,多数据源管理成为了一个关键问题。为了解决这一问题,Dynamic-Datasource应运而生。本文将为您详细介绍Dynamic-Datasource这一多数据源解决方案,带您领略其带来的便捷与高效。

2024-10-18 16:23:02 797

原创 java分布式事务~go

(1)什么是事务?举个生活中的例子:你去小卖铺买东西,“一手交钱,一手交货”就是一个事务的例子,交钱和交货必须全部成功,事务才算成功,任一个活动失败,事务将撤销所有已成功的活动。明白上述例子,再来看事务的定义:事务可以看做是一次大的活动,它由不同的小活动组成,这些活动要么全部成功,要么全部失败。(2)什么是本地事务?

2024-10-02 11:20:26 1428

原创 有听说过吗?有一套框架比spring security更好用,更简便

Sa-Token 是一个轻量级 Java 权限认证框架,主要解决:登录认证、权限认证、单点登录、OAuth2.0、分布式Session会话、微服务网关鉴权 等一系列权限相关问题。

2024-09-28 15:28:47 1716

原创 Jenkins持续集成,原来那么简单

(1)软件开发生命周期软件开发生命周期又叫做SDLC(Software Development Life Cycle),它是集合了计划、开发、测试和部署过程的集合。如下图所示 :需求需求分析这是生命周期的第一阶段,根据项目需求,团队执行一个可行性计划的分析。项目需求可能是公司内部或者客户提出的。这阶段主要是对信息的收集,也有可能是对现有项目的改善和重新做一个新的项目。还要分析项目的预算多长,可以从哪方面受益及布局,这也是项目创建的目标。设计。

2024-08-27 22:58:01 1927

原创 Spring Cloud Config,棒棒的

在实际操作中会出现多个微服务操作同一个数据库的情况,那么对于每个微服务都需要重复配置数据库信息,而且当数据库信息改动时也难以维护。因此一套集中的、动态的配置管理设施是必不可少的。SpringCloud Config为微服务架构中的微服务提供集中化的外部配置支持,配置服务器为各个不同微服务应用的所有环境提供了一个中心化的外部配置。SpringCloud Config 具体分为客户端和服务端两部分。集中管理配置文件;

2024-07-21 16:18:49 930

原创 en~Elastic Search拿去吧

所以,搜索引擎会将正向索引重新构建为倒排索引,即把文件ID对应到关键词的映射转换为关键词到文件ID的映射,每个关键词都对应着一系列的文件,这些文件中都出现这个关键词。分片是es最小的工作单元,传统的数据库每个字段存储单个值,但这对全文检索并不够,文本字段中的每个单词需要被搜索,对数据库意味需要单个字段的索引多值能力,最好支持是一个字段多个值需求的数据结构是倒排索引。所谓的正向索引,就是搜索引擎会将待搜索的文件都对应一个文件ID,搜索时将这个ID和搜索关键字进行对应,形成K-V对,然后对关键字进行统计计数。

2024-06-02 16:35:03 891

原创 swagger原来如此好用(spring boot2版)

Swagger号称世界上最流行的API框架,Restful Api 文档在线自动生成器 => API 文档 与API 定义同步更新,直接运行,在线测试API,支持多种语言 (如:Java,PHP等)当 启动项目访问:http://localhsot:8089/swagger-ui.html时就不阻拦不给访问。测试 访问:http://localhost/swagger-ui.html。访问:http://localhost/swagger-ui.html。在bean中.select().apis(…

2024-05-04 19:30:00 848

原创 Spring提供的jdbc框架之JDBCTemplate

JdbcTemplate是Spring对JDBC的封装,目的是使JDBC更加易于使用。JdbcTemplate是Spring的一部分。JdbcTemplate处理了资源的建立和释放。他帮助我们避免一些常见的错误,比如忘了总要关闭连接。他运行核心的JDBC工作流,如Statement的建立和执行,而我们只需要提供SQL语句和提取结果。(3)编写编写加载数据源工具类。(2)编写数据源/连接池配置。查询一条数据封装成一个对象。用于数据的插入、删除、修改。用于查询数据封装成map。用于查询数据封装成对象。

2024-05-04 14:35:47 186

原创 Nginx之Nginx Proxy Manager

顾名思义,Nginx Proxy Manager 就是一个 Nginx 的代理管理器,它最大的特点是简单方便。即使是没有 Nginx 基础的小伙伴,也能轻松地用它来完成反向代理的操作,而且因为自带面板,操作极其简单,非常适合配合 docker 搭建的应用使用。Nginx Proxy Manager 后台还可以一键申请 SSL 证书,并且会自动续期,方便省心。

2024-04-06 11:15:20 1583 1

原创 Elastic Job玩起来!

不敢轻易跟着应用服务器多节点部署,可能会重复多次执行而引发系统逻辑的错误。quartz的集群仅仅只是用来HA,节点数量的增加并不能给我们的每次执行效率带来提升,即不能实现水平扩展。说明:Elastic-job分布式任务调度,就可以帮我们解决上面两个痛点。Elastic-Job是当当开源的一款非常好用的分布式任务调度框架,由两个相互独立的子项目Elastic-Job-Lite和Elastic-Job-Cloud组成。

2024-03-31 16:02:35 964 1

原创 除了maven,还可以用什么?Gradle(旧版)

下载gradle官网: Gradle Distributionsidea集成gradle最后点击next即可结果:gradle项目目录介绍gradle的build.gradle文件介绍及使用下载的jar包会存在这idea修改gradle的仓库路径plugins {id 'java' } group 'jackstyle' version '1.0-SNAPSHOT' //jdk版本sourceCompatibility = 1.8 //配置去那jar包* 配置jar包。

2024-03-05 10:15:00 439 1

原创 Redis就该这样玩

特点:Redis由3台主Redis和3台从Redis组成,每一台主Redis对应一台从Redis,Redis三主三从集群主要是为了防止主Redis宕机,当主Redis宕机后,就会立刻选出新的主Redis。(4)复制2份,redis.conf,分别命名xxx01.conf和xxx02.conf。(6)合并Redis构建集群【注意:就算是本地都要使用本机IP】1、Redis三主三从集群介绍。2、Redis三主三从集群搭建。(3)创建Redis日志存放包。(5)分别启动各Redis文件。(1)下载Redis包。

2024-03-04 19:56:16 349 1

原创 如何使用spring解决跨域问题呢?

注意: 请确保在Spring安全级别启用CORS,并允许它利用Spring MVC级别定义的配置。3、Spring Security配置cors。1、spring提供解决跨域问题的方式。

2024-02-29 10:30:00 431

原创 原来python识别图片为文字这么简单

(5)将语言包放到ORC工具的tessdata目录下。(2)安装orc工具【一直next】A:Path添加ORC安装目录。(4)下载语言包【git拉取】(6)编写python识别代码。

2024-02-28 22:09:37 512 1

原创 Nginx原来是这样玩滴

动静分离:在我们的软件开发中,有些请求是需要后台处理的,有些请求是不需要经过后台处理的(如:css、html、jpg、js等等文件),这些不需要经过后台处理的文件称为静态文件。让动态网站里的动态网页根据一定规则把不变的资源和经常变的资源区分开来,动静资源做好了拆分以后,我们就可以根据静态资源的特点将其做缓存操作。特点:是占有内存少,并发能力强,事实上nginx的并发能力在同类型的网页服务器中表现较好,中国大陆使用nginx网站用户有:百度、京东、新浪、网易、腾讯、淘宝等。注意:权重越大,接收的请求越多。

2024-02-28 22:01:18 849

原创 通信架构,你懂吗?

与NIO不同,当进行读写操作时,只须直接调用API的read或write方法即可, 这两种方法均为异步的,对于读操作而言,当有流可读取时,操作系统会将可读的流传入read方法的缓冲区,对于写操作而言,当操作系统将write方法传递的流写入完毕时,操作系统主动通知应用程序。Channel 表示 IO 源与目标打开的连接。(ii)BIO 中的 stream 是单向的,例如 FileInputStream 对象只能进行读取数据的操作,而 NIO 中的通道(Channel)是双向的,可以读操作,也可以写操作。

2024-02-28 21:53:03 1272

springcloud讲义.docx

微服务学习

2021-06-10

空空如也

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

TA关注的人

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