自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(81)
  • 收藏
  • 关注

原创 Object常用方法

【代码】Object常用方法。

2023-11-30 21:51:09 208

原创 JAVA技术栈JVM

Java虚拟机(Java Virtual Machine,简称JVM)是Java平台的关键组成部分,负责在不同操作系统上执行Java字节码。JVM的运行时数据区包括方法区、堆、栈、本地方法栈和程序计数器。这些区域分别用于存储类信息、对象实例、线程私有的数据、本地方法的调用信息和当前线程执行的字节码指令。它可以分为新生代和老年代,通过垃圾回收算法如分代垃圾回收器(如Serial、Parallel、CMS、G1)来自动管理内存。JVM的类加载器系统负责加载、连接、初始化类。JVM解释执行字节码,逐行执行。

2023-11-28 22:09:15 524

原创 Reids必背面试题

部分复制主要是Redis针对全量复制的过高开销做出的一种优化措施,当从节点 (slave) 正在复制主节点 (master) 时,如果出现网络闪断或者命令丢失等异常情况时,从节点会向 主节点要求补发丢失的命令数据,如果主节点的复制积压缓冲区内存在这部分数据则直接发送给从节点,这样就可以保持主从节点复制的-致性。自动故障转移(Automatic failover) : 当主节点不能正常工作时,哨兵会开始 自动故障转移操作,它会将失效主节点的其中一个 从节点开级为新的主节点,并让其他从节点改为复制新的主节点。

2023-11-27 21:42:49 127

原创 实现医生排班系统

实现医生排班系统时,你可以使用多种Java技术和框架,具体选择取决于你的需求和团队的熟悉程度。实现医生排班系统时,你可以使用多种Java技术和框架,具体选择取决于你的需求和团队的熟悉程度。实现医生排班系统时,你可以使用多种Java技术和框架,具体选择取决于你的需求和团队的熟悉程度。

2023-11-25 17:46:22 785

原创 介绍 Docker 的基本概念和优势,以及在应用程序开发中的实际应用。

Docker是一种应用程序开发和部署的工具,同时也是一种容器化技术,它可以将应用程序打包成一个独立的、可移植的容器,在不同的环境中运行,从而实现了应用程序的跨平台和快速部署。微服务架构:Docker可以轻松地实现微服务架构,将应用程序拆分为多个独立的容器,从而提高可靠性和可扩展性。提高效率:Docker的容器可以快速创建、启动、停止和销毁,同时也可以轻松地进行部署和测试。快速部署:Docker可以将应用程序打包成一个容器,方便快速部署到不同的环境中。

2023-11-24 21:44:58 531

原创 Spring Cloud五大组件

Ribbon 就是一个基于 HTTP 和 TCP 的客户端负载均衡器,当我们将 Ribbon 和 Eureka 一起使用时,Ribbon 会从 Eureka Server(服务注册中心)中获取服务端列表,然后通过负载均衡策略将请求分摊给多个服务提供者,从而达到负载均衡的目的。Nacos 能让我们从微服务平台建设的视角管理数据中心的所有服务及元数据,包括管理服务的描述、生命周期、服务的静态依赖分析、服务的健康状态、服务的流量管理、路由及安全策略、服务的 SLA 以及 metrics 统计数据。

2023-11-23 21:40:26 2605

原创 用idea搭建一个spring cloud微服务项目

在 IntelliJ 中打开 HelloWorldController 类,右键单击文件并选择“Run HelloWorldController.main()”。在浏览器中访问 http://localhost:8080/,您应该会看到 “Hello World!这是一个简单的 Spring Cloud 微服务项目的步骤,您可以根据您的需求添加更多的微服务和功能。这个配置将应用程序命名为 myapp,并将服务注册到本地的 Eureka 服务器。创建一个新的 Maven 项目。

2023-11-22 21:16:26 996 1

原创 Cloud微服务

当我们谈论“云微服务”时,通常是指基于云计算和微服务架构的应用程序开发和部署模型。

2023-11-22 21:15:03 728

原创 Cloud 微服务

将项⽬所有模块(功能)打成jar或者war,然后部署⼀个进程。互联网早期,一般的网站应用流量较小,只需一个应用,将所有功能代码都部署在一起就可以,这样可以减少开发、部署和维护的成本。比如说一个电商系统,里面会包含很多用户管理,商品管理,订单管理,物流管理等等很多模块,我们会把它们做成一个web项目,然后部署到一台tomcat服务器上。

2023-11-20 21:48:48 120

原创 详解nginx的root与alias

指令作为Nginx中最基本的指令之一,对于配置Web服务器非常重要,需要注意其区别与使用规则。指令指定的是实际文件存储位置,它指定的路径是将URL的字符串替换为实际路径。指令都可以用来指定Web服务器中的文件根目录。不过,它们之间有一些关键的区别。指令指定的是服务器根目录,是用于处理HTTP请求时所使用的默认根目录。需要特别注意的是,使用。

2023-11-18 18:10:05 5489 1

原创 解释 RESTful API,以及如何使用它构建 web 应用程序。

通常可以使用框架和库来简化开发过程,比如 Node.js 的 Express 框架、Python 的 Flask 框架等。它是一种将 web 应用程序转换为可编程接口的方式,使用 HTTP 协议中的 GET、POST、PUT、DELETE 等方法来实现对资源的 CRUD(增加、读取、更新、删除)操作。RESTful API 可以通过 URI(Uniform Resource Identifier,统一资源标识符)来唯一定位资源,通过 HTTP 方法来对资源进行操作,通过 HTTP 状态码来表示操作的结果。

2023-11-17 21:55:29 49

原创 介绍 Docker 的基本概念和优势,以及在应用程序开发中的实际应用。

它将应用程序及其依赖项打包成一个独立的容器,提供标准化的环境,在不同的平台上可以轻松部署和运行,而无需担心环境差异性和依赖项冲突问题。Docker容器可以提供一个独立的开发环境,开发者可以在容器内部进行开发和测试,无需担心环境差异和依赖项冲突问题。可靠性:Docker容器提供了一个一致的运行环境,可以消除应用程序之间的不兼容性和依赖项问题,从而提高了应用程序的可靠性。Docker可以将应用程序及其依赖项打包成一个容器,提供标准化的环境,在不同的平台上可以轻松部署和运行。提高应用程序的可移植性。

2023-11-16 21:01:40 447

原创 elasticsearch集群

需要注意的是,使用Delete By Query API删除数据时,会先执行查询语句来确定要删除的文档,因此在面对大规模数据删除时需要考虑性能问题。另外,删除操作是不可逆的,请谨慎使用。上述操作将全局将ES集群中所有索引的分片数量设置为5(如果索引没有自定义分片数量)。如果需要对某个特定索引进行分片设置,可以在创建索引时指定。将上述配置文件分别在三个节点上使用相同的配置文件即可构建一个三节点ES集群。指定了可能作为集群成员的其他节点的IP地址,是要删除数据的索引名称,指定节点的IP地址,

2023-11-15 21:22:23 144

原创 elasticsearch安装步骤

通过一个程序扫描文本中的每一个单词,针对单词建立索引,并保存该单词在文本中的位置、以及出现的次数,用户查询时,通过之前建立好的索引来查询,将索引中单词对应的文本位置、出现的次数返回给用户,因为有了具体文本的位置,所以就可以将具体内容读取出来了。存储的,一个文档是一个可被索引的基础信息单元,类似一条记录,可以是数据库中的一条商品数据,一个订单信息。倒排索引:根据分词算法,我们把文档中的词条和对应的文档id记录下来,当我们下次搜索的时候,我们输入词条信息,就能获取到文档的id,然后再根据id找到对应的文档。

2023-11-14 21:47:18 178

原创 ElasticSearch搜索详细讲解与操作

总之,每个索引可以被分成多个分片,一个索引也可以被复制0次或多次,一旦复制了,每个索引就有了主分片(作为复制源的原来的分片)和复制分片(主分片的拷贝)之别。mapping是处理数据的范式和规则方面做一些限制,如某个字段的数据类型、默认值、分析器、是否被索引等等,这些都是映射里面可以设置的,其他就是处理es里面的数据的一些使用规则设置也叫做映射,按着最优规则处理数据对性能提高很大,因此才需要建立映射,并且需要思考如何建立映射才能对性能更好。在一个index/type里面,你可以存储任意多的文档。

2023-11-13 22:11:31 640 1

原创 介绍 Docker 的基本概念和优势,以及在应用程序开发中的实际应用。

在应用程序开发中,Docker可以实现快速构建和部署容器化的应用程序,从而提高开发效率和应用程序的质量。例如,在微服务架构中,可以通过Docker将不同的服务打包成容器,并且可以快速部署和扩展服务,从而实现应用程序的高可用和弹性。同时,通过使用Docker镜像,还可以实现应用程序的版本管理和回滚,提高应用程序的可控性和可维护性。提高应用程序的安全性,使得应用程序和其依赖项可以隔离在容器中,防止应用程序间的相互干扰和攻击。支持快速部署和自动化运维,可以实现快速扩容和缩容,从而提高应用程序的可伸缩性和可靠性。

2023-11-11 17:56:27 420

原创 多线程案例

以下是一个简单的多线程案例,实现了一个简单的计数器程序。该程序会同时启动两个线程,每个线程都会对计数器进行加一操作,并输出当前计数器的值。可以看到,两个线程同时对计数器进行加一操作,并输出了当前计数器的值。由于使用了线程锁,保证了计数器的操作互斥,避免了数据竞争的问题。

2023-11-10 22:00:13 276

原创 springboot整合Oauth2

OAuth2 认证成功后,用户可以访问 OAuth2 保护的资源。您可以使用 Spring Security 的 OAuth2ResourceServer 过滤器来保护资源。您可以使用 Spring Security 的 OAuth2LoginAuthenticationFilter 过滤器来处理 OAuth2 回调。OAuth2 认证成功后,用户会被重定向到您的网站,并包含一个授权码。创建一个登录页面,其中包含一个链接或按钮,以便用户可以通过 OAuth2 认证进行登录。

2023-11-09 21:57:51 323

原创 security登录实战

这是一个基本的security登录实战示例,你可以根据自己的需要进行修改和拓展。

2023-11-08 21:56:03 167

原创 用java代码实现security

安全管理器(Security Manager) Java中的安全管理器可以对Java程序中的安全策略进行管理和控制,保证程序的安全运行。可以通过设置安全策略文件来进行配置,对于不符合安全策略的操作,会抛出SecurityException异常。Java中的授权机制主要使用AccessController来进行授权,可以设置不同的访问控制策略来限制用户的访问权限。加密和解密 Java中提供了许多加密和解密算法来保护数据的安全,包括对称加密算法、非对称加密算法、哈希算法等。

2023-11-07 21:40:07 125

原创 如何使用java实现第三方支付

方法来模拟第三方支付接口的调用,并返回一个模拟的支付响应结果。在实际的开发中,这个方法需要被替换为真正的支付接口调用代码。此外,签名生成逻辑也需要根据具体的支付平台进行实现。需要注意的是,第三方支付接口的具体实现需要根据对应的支付平台进行编写。在这里,我们使用了一个。

2023-11-06 21:43:07 421

原创 用java代码实现QQ第三方登录

QQ第三方登录需要使用到QQ互联开放平台提供的API,在Java中可以使用OAuth2.0协议来实现第三方登录。在Java项目中使用QQ互联开放平台提供的API,获取到Authorization Code。在Java项目中导入QQ互联开放平台提供的Java SDK包,并在代码中引入相关的类库。以上就是实现QQ第三方登录的主要步骤,具体的实现细节还需要根据具体的项目情况进行调整。注册QQ互联开放平台账号,并创建应用,获取到App ID和App Secret。

2023-11-06 21:42:10 529

原创 后端配置跨域怎么配置

在后端配置跨域,需要在服务器的代码中添加相应的设置。在 PHP 中,可以在服务器的响应头中添加 CORS 相关的设置。在使用 Node.js 的 Express 框架时,可以使用。在 Java 中,可以使用 Spring 框架自带的。这样就会允许来自任何域名的请求。参数来指定允许的域名列表,通过。这样就会允许来自任何域名的请求。中间件来处理跨域问题。指定了允许跨域请求的域名,注解来处理跨域问题。指定了支持的请求方法,指定了允许的请求头。参数来指定缓存时间。

2023-11-04 18:34:00 778

原创 java实现单点登录

在用户输入用户名和密码后,点击登录按钮,将用户信息发送到认证中心系统。认证中心系统收到应用系统发来的令牌后,在redis缓存中查找是否存在该令牌,如果存在并未过期,则说明该用户已经登录过,并且拥有访问该应用系统的权限。单点登录功能一般包括以下几个步骤:用户登录、认证、生成令牌、传递令牌、验证令牌。认证中心系统将令牌发送给用户系统,通常是通过重定向的方式跳转到用户系统的特定页面,并将令牌作为参数传递给用户系统。应用系统在收到用户请求后,调用认证中心系统的API进行令牌验证。

2023-11-03 22:04:57 307

原创 lambda表达式和Stream(流)

Lambda表达式是Java 8引入的一项重要特性,它允许您以一种更简洁的方式定义匿名函数(也称为闭包)。Lambda表达式是函数式编程的一部分,它提供了在Java中处理函数式接口的能力。Stream可以从集合、数组、I/O等多种数据源中生成,它支持链式调用多个中间操作和一个终端操作(Terminal Operation),最终将数据流转换成一个结果或生成一个新的数据集合。总之,Lambda表达式是Java 8引入的强大功能,可以使您的代码更加简洁和可读,尤其是在处理集合、并行编程和函数式编程方面。

2023-11-02 22:23:44 94

原创 什么是泛型?

在传统的编程中,我们通常需要对不同类型的变量进行不同的操作,比如我们可以定义一个函数用于计算两个 int 类型的数的和,但如果我们要计算两个 double 类型的数的和,我们就需要定义另外一个函数。在传统的编程中,我们通常需要对不同类型的变量进行不同的操作,比如我们可以定义一个函数用于计算两个 int 类型的数的和,但如果我们要计算两个 double 类型的数的和,我们就需要定义另外一个函数。这个泛型类定义了一个 add 函数,可以计算任意类型的数字的和,只需要在使用时指定具体的类型即可。

2023-11-01 21:56:22 132

原创 websocket

WebSocket 协议在2008年诞生,2011年成为国际标准。所有浏览器都已经支持了。WebSocket 是一种网络通信协议, 由HTML5提出的一种在单个 TCP 连接上进行全双工通讯的协议。它的最大特点就是,服务器可以主动向客户端推送信息,客户端也可以主动向服务器发送信息,具有持久化,一般应用在:聊天室,股票基金报价,协同办公等等...其他特点包括:建立在 TCP 协议之上,服务器端的实现比较容易。与 HTTP 协议有着良好的兼容性。

2023-11-01 21:54:46 482

原创 什么是敏捷开发

敏捷开发是一种迭代、逐步增量的软件开发方式,以快速响应用户需求变化为核心,强调开发团队与客户的合作、自组织和快速响应变化的能力。迭代开发:敏捷开发采用迭代式开发方法,将软件开发过程分为多个迭代,每个迭代都包括计划、设计、开发、测试等阶段,每个迭代的成果都可以被用户检视和评估。软件质量:敏捷开发强调软件质量,包括代码质量、测试覆盖率、文档质量等方面,以确保软件产品的稳定性、可用性和可维护性。总之,敏捷开发是一种适应变化、快速响应客户需求、提高软件质量的软件开发方法,具有很好的灵活性和可扩展性。

2023-10-31 22:01:31 178

原创 介绍 TensorFlow 的基本概念和使用场景。

TensorFlow 的基本概念是张量(Tensor),它是一个多维数组。而 TensorFlow 中的计算是构建在计算图上的,计算图由一系列节点组成,每个节点代表一个计算操作。张量在计算图中经过一些计算操作,产生新的张量,最终得到最终的结果。它可以用来建立深度学习模型,解决各种复杂的机器学习问题,如图像识别、语音识别、自然语言处理等。图像和语音识别:使用卷积神经网络(CNN)和循环神经网络(RNN)可以实现图像和语音识别。预测和分类:使用分类算法和回归算法可以预测未来的趋势。

2023-10-30 21:51:18 713

原创 Docker 的基本概念和优势

Docker是一个开源的应用程序容器引擎,可以将应用程序及其所有依赖项打包成容器,方便快速地部署、迁移、扩展和管理应用程序。总之,Docker在应用程序开发中具有很大的优势和实际应用价值,可以大大提高开发、测试、部署和维护应用程序的效率和可靠性。开发环境的搭建:Docker可以搭建各种语言和框架的开发环境,方便开发者快速搭建开发环境。高可用性:Docker容器可以快速创建、启动、停止和删除,方便快速部署和扩展应用程序。应用程序的扩展和更新:Docker容器可以快速创建和删除,方便应用程序的扩展和更新。

2023-10-20 23:31:43 427

原创 Swager如何使用

Swager是一个API文档自动生成工具,可以用于生成API接口文档,供开发者和用户查看和使用。它可以通过描述API接口的规范,自动生成API文档,使得API接口的发布和使用变得更加简单和规范。以上就是使用Swagger的基本步骤,你可以根据项目的需求进行定制化配置。

2023-10-19 22:48:05 520

原创 介绍一下rabbitMq应用场景

消息确认:RabbitMQ还支持消息确认,这意味着消费者可以在处理消息后向RabbitMQ发送确认,以确保消息已成功处理。RabbitMQ可以用于异步消息传递,其中消息生产者将消息发送到队列,然后消息消费者从队列中读取并处理消息。总之,RabbitMQ可以用于实现一系列消息传递模式,并提供了丰富的特性,包括消息确认、消息持久化、负载均衡等,使得它成为一个功能强大的消息代理。日志处理:RabbitMQ可以通过发布-订阅模式将日志消息分发到多个消费者,并可以灵活地控制消息的优先级和过滤条件。

2023-10-18 22:42:11 587

原创 RabbitMQ概述,死信队列

要在 RabbitMQ 中配置和使用死信队列,您需要定义死信交换、死信队列和相关的绑定规则。消息路由:RabbitMQ 使用交换机将消息路由到一个或多个队列,可以通过不同类型的交换机(直连、主题、扇出等)定义消息路由规则。消息在队列中达到了最大的重试次数:如果一个消息在队列中重试次数超过了预定的最大次数,它将成为死信。队列达到了最大长度:当一个队列中的消息数量达到了其最大长度限制时,新的消息可能会成为死信。消息优先级:RabbitMQ 支持消息的优先级,允许开发者定义消息的重要性和紧急程度。

2023-10-17 22:26:42 593

原创 RabbitMQ的特点

支持多种编程语言:RabbitMQ提供了多种编程语言的客户端库,如Java、C#、Python等,使得它可以被不同的应用程序和平台所使用。提高可靠性:RabbitMQ的持久化和通知机制可以确保消息被成功地传递和处理,从而提高了应用程序的可靠性。解耦合:通过使用RabbitMQ,不同的应用程序之间可以通过消息进行通信,从而减少它们之间的直接联系。提高可扩展性:RabbitMQ可以通过添加更多的节点和队列来实现水平扩展,从而提高应用程序的可扩展性。消息:指在消息队列中传递的数据单元,它由消息头和一个负载组成。

2023-10-16 22:54:34 596

原创 redis

尽管Redis主要是内存数据库,但它也支持不同的数据持久化方式,如快照(snapshot)和追加文件(append-only file),以确保数据在服务器重启后不会丢失。Redis是一个开源的内存数据存储系统,通常被用作缓存层,它以键-值对的方式存储数据,具备高性能和低延迟的特点。内存中的数据存取速度非常快,通常比磁盘存储快数百倍,这使得Redis成为高效的缓存解决方案。:Redis支持各种数据结构,如字符串、哈希、列表、集合、有序集合等,这使得它适合多种用途,从简单的键值缓存到更复杂的数据处理。

2023-10-14 21:25:46 414

原创 redis笔记

1. 介绍2. 安装与配置3. 数据结构4. 基本操作5. 发布与订阅6. 持久化7. 集群8. 安全9. 客户端10. 性能优化11. 常见用例12. 监控和诊断13. 问题和故障排除

2023-10-11 21:48:21 241

原创 MybatisPlus笔记

简介MyBatis Plus 是什么? 介绍 MyBatis Plus 的背景和它解决的问题。 为什么选择 MyBatis Plus? 比较 MyBatis 和 MyBatis Plus 的特点和优势。 它如何简化 MyBatis 的使用? 说明 MyBatis Plus 提供的功能和便捷性。 快速开始安装 MyBatis Plus 使用 Maven 或 Gradle 集成 MyBatis Plus。 配置数据源 配置数据源的方式和常见设置。 创建一个简单的实体

2023-10-10 21:36:07 156

原创 git使用

以上是Git的简单使用方法,还有很多高级命令可以用来管理你的代码库。当然,在使用Git时需要注意一些细节,比如避免将敏感信息提交到代码库中。Git是一种版本控制系统,可以帮助开发人员跟踪并管理代码的更改。命令,该命令会在目录中创建一个.git目录,用来存储Git仓库的所有信息。安装Git:下载适合你操作系统的Git安装程序,按照提示安装。添加文件:将你的文件放入项目目录中,然后使用。创建Git仓库:在你的项目目录中运行。

2023-10-09 19:32:47 177

原创 springboot的自动装配原理

总的来说,Spring Boot的自动装配原理基于条件化注解、自动配置类、spring.factories文件和启动器等机制,它的目标是提供一种简化Spring应用程序开发的方式,通过智能地加载和配置Bean,减少了开发者的配置工作,提高了开发效率,同时保持了灵活性,可以根据具体需求进行自定义配置。总之,自动配置类是Spring Boot的核心机制之一,它们简化了应用程序的配置过程,提供了默认配置,并且可以根据条件化装配的规则来选择性地加载。提供默认配置:自动配置类通常提供了应用程序所需的默认配置。

2023-10-08 20:21:47 222

原创 springboot概述

集成Spring生态系统:Spring Boot能够无缝集成Spring框架的各个模块,如Spring Data、Spring Security、Spring Cloud等,从而构建更复杂的应用程序。总的来说,Spring Boot旨在减少Spring应用程序的开发和部署复杂性,提供了一种快速、简化的方式来构建现代Java应用程序,同时保持了强大的灵活性和扩展性。Spring Boot提供了用于监控、管理和调试应用程序的工具,如健康检查、指标收集、日志记录等,有助于构建和管理生产环境中的应用程序。

2023-10-07 20:32:21 97

空空如也

空空如也

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

TA关注的人

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