|
6月前
|
存储 Java 关系型数据库
|

微服务概述

本文对比单体与微服务架构,阐述微服务定义、核心特征及优缺点,介绍基于SpringCloud的实现方案,帮助理解其演进逻辑与技术选型,为构建高内聚、低耦合的分布式系统提供理论基础。

144 0
|
6月前
|
存储 缓存 SpringCloudAlibaba
|

什么是微服务

自2014年起,微服务架构由Martin Fowler等人推动发展,主张将单体应用拆分为多个独立、轻量级的小型服务,通过RESTful API通信,围绕业务构建,支持独立开发、部署与扩展。其具备服务自治、面向服务、单一职责等特征,是历经架构演进形成的成熟分布式方案,催生了SpringCloud等主流技术生态。

244 0
|
6月前
|
消息中间件 Dubbo Java
|

SpringCloud诞生

微服务技术繁多,各司其职却缺乏统一方案。Dubbo、Nacos、Redis等组件需自行整合,架构复杂。Spring团队推出Spring Cloud,提供一站式解决方案,实现服务发现、配置管理、负载均衡等功能,简化微服务架构设计与开发。

149 0
|
6月前
|
监控 算法 Unix
|

Thread.sleep(0) 到底有什么用(读完就懂)

本文深入解析Thread.Sleep函数的原理与应用。通过生动的“分蛋糕”比喻,对比Unix时间片与Windows抢占式调度机制,阐明Sleep(1000)不保证精确唤醒、Sleep(0)实为触发CPU重新竞争等核心概念,揭示多线程调度的本质。

818 0
|
6月前
|
前端开发 数据可视化
|

什么是低代码

用户可通过拖拽生成前端表单页面,界面直观易用,支持可视化编辑,提升开发效率。配合参考文档,快速上手操作,适用于各类表单设计场景。

89 0
|
6月前
|
存储 缓存 安全
|

1-常用过滤器介绍

Spring Security基于AOP思想,通过一系列过滤器实现安全控制。从上下文管理、会话控制到认证授权,各过滤器分工明确,如SecurityContextPersistenceFilter维护安全上下文,CsrfFilter防范跨站请求伪造,UsernamePasswordAuthenticationFilter处理登录认证等,共同构建完整的安全体系。

106 0
|
6月前
|
Java 调度
|

线程池初探

线程池通过复用线程提升性能,避免频繁创建销毁的开销。它统一管理线程,支持任务提交、周期执行与调度,使用简单且高效,是多线程编程的重要工具。

69 0
|
6月前
|
存储 Java
|

Java泛型类型擦除以及类型擦除带来的问题

Java泛型在编译后会进行类型擦除,仅保留原始类型。例如,List<String>和List<Integer>在运行时均变为List,泛型信息不复存在。通过反射可向声明为Integer的列表添加字符串,证明泛型类型被擦除,JVM无法感知其原始泛型约束。

90 0
|
6月前
|
存储 Java 编译器
|

泛型擦除引起的问题及解决方法

本文深入解析Java泛型机制,涵盖类型擦除、编译时检查、引用传递、自动类型转换及与多态的冲突。重点说明泛型类型检查针对引用而非对象,静态成员不能使用类的泛型参数,且泛型不支持基本数据类型。同时探讨了泛型在继承中的桥方法实现与instanceof限制。

323 0

什么是泛型擦除后保留的原始类型

原始类型是泛型擦除后在字节码中的实际类型。若无限定,泛型变量默认替换为Object;若有上界限定(如T extends Comparable),则替换为该限定类型,例如Comparable。

63 0
|
6月前
|
Java 应用服务中间件 Sentinel
|

服务保护、分布式事务

本章学习微服务保护核心知识,掌握微服务雪崩、熔断降级、限流、线程隔离等机制,理解CAP原理与Seata分布式事务,熟练使用Sentinel实现熔断、降级、限流及线程隔离,并通过FallbackFactory和注解方式编写降级逻辑,提升系统稳定性与可靠性。(238字)

105 0
|
6月前
|
存储 运维 Java
|

微服务概述

本文介绍了单体应用与微服务架构的区别,阐述了微服务的定义、特征、优缺点及技术实现方案。微服务通过服务拆分,实现独立开发、部署与扩展,提升系统灵活性和可维护性,但也带来运维、分布式事务等挑战。文章最后探讨了技术选型与架构图设计,为微服务落地提供理论指导。(238字)

93 0
|
6月前
|
NoSQL Redis
|

Redis集群伸缩,转移插槽失败

Redis集群出现节点配置不一致,提示slot 0处于importing状态。需登录对应实例,执行`cluster setslot 0 stable`命令,将异常slot状态恢复稳定,修复集群问题后再进行 rebalance 操作。

66 0
|
6月前
|
消息中间件 Java Kafka
|

消息中间件RabbitMQ(基础)

本章节深入讲解消息中间件在微服务架构中的核心作用,通过RabbitMQ实现异步通信,解耦服务、提升性能与可靠性,并结合SpringAMQP简化开发流程,助力构建高效、可扩展的分布式系统。

163 0
|
6月前
|
存储 NoSQL Linux
|

容器引擎Docker

Docker解决环境不一致与依赖冲突问题,通过镜像打包应用及依赖,实现跨环境无缝迁移。容器隔离运行,启动快速、资源占用少,优于传统虚拟机。掌握镜像、容器、仓库核心概念及常用操作,助力高效部署微服务。

251 0
|
6月前
|
NoSQL Linux 网络安全
|

Redis集群部署指南

本章介绍CentOS7下Redis集群搭建,涵盖单机安装、主从复制及分片集群配置。通过详细步骤实现三节点主从架构与哨兵高可用集群,助力掌握Redis分布式部署核心技能。

499 0
|
6月前
|
JSON 缓存 前端开发
|

什么是跨域

CORS(跨域资源共享)是W3C标准,允许浏览器向跨源服务器发起XMLHttpRequest请求,突破AJAX同源限制。需浏览器和服务器共同支持,现代浏览器均已兼容。通信由浏览器自动完成,开发者无需特殊处理。请求分为简单和非简单两类,后者会先发送OPTIONS预检请求。服务器通过设置Access-Control-*头信息控制权限。相比仅支持GET的JSONP,CORS更强大灵活,支持所有HTTP方法,且安全性更高。(238字)

218 0
|
6月前
|
Java 测试技术 Shell
|

Jmeter快速入门

JMeter是基于JDK的性能测试工具,需先安装并配置JDK。下载解压后,通过bin目录下的脚本启动,支持中文设置与HTTP请求测试,可添加线程组、取样器及监听器,实现接口与性能测试,操作简便,功能强大。(238字)

112 0
|
6月前
|
存储 缓存 Java
|

自定义注解

本文介绍如何在Spring框架中实现自定义注解,结合AOP与过滤器应用于日志、权限控制等场景。通过@Target、@Retention等元注解定义注解,利用AOP拦截或过滤器鉴权,实现如登录验证等功能,提升代码可读性与复用性。

107 0
|
6月前
|
前端开发 程序员 开发者
|

常见注解及使用说明

本文介绍SpringMVC中@RequestMapping注解的作用及原理,它将HTTP请求映射到控制器方法,实现前后端接口路径对应。通过@GetMapping等派生注解简化常用请求类型,帮助开发者高效构建Web接口。

238 0
|
6月前
|
XML JSON Java
|

什么是RESTful

RESTful是一种基于资源的API设计规范,主张用URI标识资源,HTTP动词(GET/POST/PUT/DELETE)操作资源,实现统一、标准的接口风格。它解决了传统接口路径混乱、行为不一致的问题,具有结构清晰、易于理解与扩展的优势,提升前后端协作效率与系统可维护性。(238字)

75 0
|
6月前
|
存储 搜索推荐 数据库
|

ES分布式搜索引擎入门

本课程介绍Elasticsearch快速入门,涵盖倒排索引原理、IK分词器使用与词典扩展、Java Client实现文档增删改查及批量导入,掌握Term查询、全文检索、排序分页与布尔查询。通过对比数据库模糊搜索,突出ES在海量数据下高性能搜索的优势,并结合Kibana实现可视化管理,助力构建高效搜索系统。

359 0
|
6月前
|
消息中间件 算法 网络协议
|

7.选举机制源码分析

scascas

102 0
|
6月前
|
Java Spring
|

GateWay实现原理

Spring Cloud Gateway基于Spring WebFlux与Netty,实现高性能非阻塞通信。启动时创建Netty Server接收客户端请求,经路由匹配与过滤器处理后,由Netty Client转发至目标服务,响应反向经过滤器处理后返回,全程非阻塞,提升系统吞吐能力。(238字)

164 0
|
6月前
|
缓存 监控 大数据
|

PHP性能优化

优化PHP性能需减少循环与函数调用,善用内置函数如array_map、filter_var,启用OPcache缓存,拥抱PHP 8+的JIT等新特性。结合测试与监控,持续提升速度与体验。

685 0
|
6月前
|
SQL Oracle 安全
|

了解SQL注入

SQL是用于管理数据库的标准语言,广泛应用于各类Web应用后端。由于用户输入常被用于动态构建SQL语句,若未妥善处理,攻击者可利用SQL注入插入恶意代码,导致身份绕过、数据泄露或传播恶意内容,危害严重。

94 0
|
6月前
|
存储 缓存 安全
|

常用过滤器介绍

Spring Security通过过滤器链实现安全控制:从上下文管理、认证授权到异常处理,涵盖CSRF防护、会话控制、匿名访问等功能,各过滤器分工明确,共同保障Web应用安全。

109 0
|
6月前
|
安全 小程序 JavaScript
|

OAuth2.0四种授权模式

OAuth2四种授权模式简介:授权码模式最安全,适用于第三方登录;简化模式无授权码,token直接返回,适合无后端场景;密码模式需用户共享账号信息,仅限高度信任服务;客户端模式为服务间调用,无需用户参与。

414 0
|
6月前
|
前端开发 开发者
|

withCredentials 属性

跨域请求中若需发送Cookie,服务器须设置Access-Control-Allow-Credentials: true,并明确指定Access-Control-Allow-Origin为具体域名,不能为星号。前端需在XMLHttpRequest中显式设置withCredentials = true,否则浏览器不会携带Cookie。注意,Cookie遵循同源策略,仅服务器域名下的Cookie可被上传,前端无法通过document.cookie读取跨域Cookie。

195 0
|
6月前
|
存储 NoSQL 物联网
|

MongoDB应用场景

MongoDB适用于社交、游戏、物流、物联网及直播等场景,因其支持海量数据存储、高频读写操作。用户信息、动态、日志等低事务性、高并发数据可高效存取,尤其适合用嵌套结构与地理位置索引优化查询,是大规模非结构化数据存储的理想选择。(238字)

450 0
|
6月前
|
安全 数据安全/隐私保护
|

什么是OAuth2.0

OAuth(开放授权)是一种安全、简易的标准,允许第三方应用在不获取用户账号密码的情况下,获得用户资源授权。OAuth2.0是其升级版,安全性与灵活性更强,但不兼容OAuth1.0,已完全取代旧版本。

188 0

删除文档

删除文档使用语法:db.集合名称.remove(条件)。如db.comment.remove({})将清空集合数据,慎用;删除指定记录如_id为"1"的文档,可执行db.comment.remove({_id:"1"})。操作不可逆,请谨慎执行。

257 0
|
6月前
|
安全 Java 应用服务中间件
|

实现权限管理的技术

权限管理技术选型需综合考量。常见方案包括Apache Shiro(轻量易用,但安全性弱)、Spring Security(功能强、安全性高,但配置复杂)及自定义ACL(灵活低成本,但维护难)。根据项目实际选择最合适的方案。

90 0
|
6月前
|
存储 NoSQL MongoDB
|

索引的类型

MongoDB支持单字段索引(升序/降序)和复合索引(多字段有序组合),提升查询效率。还提供地理空间索引(支持平面与球面查询)、文本索引(支持字符串内容搜索,存储词干)和哈希索引(用于散列分片,仅支持等值匹配)。

97 0
|
6月前
|
安全 数据安全/隐私保护
|

什么是权限管理

权限管理包含认证与授权两大核心:认证验证用户身份(如登录),授权则根据角色分配菜单权限。二者结合,确保系统安全,防止越权操作与数据泄露,实现精细化访问控制。

141 0
|
6月前
|
SQL 数据库 数据安全/隐私保护
|

用于绕过身份验证的 SQL 注入示例

SQL注入可绕过登录验证,攻击者通过提交恶意构造的用户名(如admin')--)和空密码,利用注释符使数据库忽略密码校验,从而非法登录。该技术依赖应用缺乏输入验证,凸显严格过滤与参数化查询的重要性。(238字)

145 0

@Inherited

@Inherited用于注解,使子类继承父类中标记该注解的元数据,仅适用于类继承,不适用于接口继承或类实现接口。

67 0
|
6月前
|
存储 安全 Java
|

认证流程分析

`UsernamePasswordAuthenticationFilter` 是 Spring Security 处理表单登录的核心过滤器,拦截 `/login` 的 POST 请求,提取用户名密码并封装为 `UsernamePasswordAuthenticationToken`,交由 `AuthenticationManager` 认证。认证成功后将结果存入 `SecurityContext`,支持“记住我”及后续处理,失败则清空上下文并调用失败处理器。

107 0
|
6月前
|
安全 Java Spring
|

DelegatingFilterProxy

在web.xml中配置的DelegatingFilterProxy,实际是Spring Security的入口。其核心是通过`doFilter`方法,首次调用时根据`targetBeanName`(即`springSecurityFilterChain`)从Spring容器中获取真正的过滤器`FilterChainProxy`,并缓存到`delegate`属性。随后执行该代理过滤器,实现安全控制链。

93 0
|
6月前
|
安全 Java Spring
|

SecurityFilterChain

`SecurityFilterChain` 是Spring Security中定义安全过滤器链的接口,其唯一实现类 `DefaultSecurityFilterChain` 封装了请求匹配器和过滤器列表,用于判定请求是否匹配并提供对应的过滤器链,是Web安全配置的核心组件。

217 0
|
6月前
|
Java 大数据
|

ArrayList扩容机制

ArrayList添加元素时,先调用ensureCapacityInternal()确保容量,首次添加时默认扩容至10。每次扩容通过grow()实现,新容量为原容量的1.5倍(oldCapacity + (oldCapacity >> 1)),提升性能。当元素数超过当前容量时触发扩容,保证添加高效进行。length为数组属性,length()为字符串方法,size()用于集合元素计数。

71 0
|
6月前
|
Java 数据库连接 mybatis
|

映射关系

MyBatis中通过resultMap实现一对一、一对多、多对一及多对多映射。一对一用于属性与字段映射;一对多通过`<collection>`关联主表与子表集合;多对一使用`<association>`关联对象;多对多借助中间类实现双向集合映射,灵活处理复杂关系数据。

80 0
|
6月前
|
SQL 关系型数据库 Java
|

分页

本文介绍了五种分页实现方式:MyBatis自带RowBounds内存分页、PageHelper插件分页、原生SQL分页、数组分页(查全量后subList)及拦截器分页。前两者属逻辑分页,数据全加载至内存,小数据量高效但大数量易溢出;后三者为物理分页,通过SQL或拦截器实现真实分页,适用于大数据量场景。推荐优先使用物理分页以提升性能与稳定性。(238字)

89 0
|
6月前
|
XML Java 数据格式
|

@Configuration

被@Configuration标注的类会被Spring容器识别为配置类,等同于XML配置文件。通过@Bean可注册Bean实例,配合AnnotationConfigApplicationContext可启动IOC容器并加载所有Bean,包括配置类自身。

72 0
|
6月前
|
XML Java 数据格式
|

Spring Boot是什么

Spring Boot 于2013年启动,旨在简化Spring应用开发。它通过自动配置和内嵌服务器,减少XML配置,实现开箱即用,提升开发效率,是Spring生态中不可或缺的快速开发利器。

152 0
|
6月前
|
NoSQL MongoDB
|

文档的分页查询

MongoDB支持统计、分页与排序查询。使用count()统计记录数,limit()限制返回数量,skip()跳过指定条数实现分页,sort()按字段升序(1)或降序(-1)排序,三者执行顺序为:先sort→skip→limit,与书写顺序无关。

266 0
|
6月前
|
安全 Java 网络架构
|

SpringSecurity核心架构

Spring Security基于过滤器链实现安全控制,核心为FilterChainProxy,通过DelegatingFilterProxy集成到容器。多SecurityFilterChain按请求路径匹配,ExceptionTranslationFilter处理认证与授权异常,实现细粒度访问控制。(238字)

406 0
|
6月前
|
安全 Java 数据安全/隐私保护
|

SpringSecurity核心功能

SpringSecurity支持表单、OAuth2、SAML等多样认证方式,可扩展自定义逻辑;提供URL、方法级鉴权,支持SPEL与RBAC模型;兼具CSRF防护等安全防御,功能全面,是Java生态成熟的权限解决方案。(238字)

87 0
|
6月前
|
缓存 Java
|

线程池初始化严禁使用Executors

阿里巴巴代码规范禁止使用Executors创建线程池,因易导致OOM。推荐手动创建ThreadPoolExecutor,合理设置参数,避免资源耗尽风险。

104 0
|
6月前
|
存储
|

初始化Map大小并非用多少指定多少

初始化HashMap时,指定容量并非直接生效,而是会调整为最近的2的幂次(如1变2、3变4)。为避免扩容开销,建议使用Guava的Maps.newHashMapWithExpectedSize(),或手动按公式:容量 = 预期元素数 / 0.75 + 1 进行设置,提升性能。

95 0

计算巢

让优秀的企业软件生于云、长于云,让云上用户便捷的获取到丰富的软件服务。

0
今日
1192
内容
1
活动
666
关注
你好!
登录掌握更多精彩内容

相关产品

  • 计算巢服务