框架
文章平均质量分 92
本专栏是关于Java开发主流框架的专栏,旨在为广大Java开发者提供全面、系统的框架学习资源。本专栏将详细介绍各类主流框架的基本概念、原理、使用方法和最佳实践,帮助开发者快速掌握并运用这些框架高效完成项目开发。Spring,Spring,Mybatis等
dlwlrma ⥳
致力分享每一天学到的Java知识
展开
-
Redis Sentinel(哨兵)详解
Sentinel是一中运行模式,不提供任何的读写过程,它只负责运行特殊的Redis命令执行自动化的故障转移。默认运行在26379端口上,依赖于Redis工作,可以通过以下命令让Redis以Sentinel的形式运行或者Redis的源码中就是用来配置Sentinel的// 指定要监视的 master// 127.0.0.1 6379 为 master 地址// 2 表示当有 2 个 sentinel 认为 master 失效时,master 才算真正失效。原创 2024-09-08 16:10:27 · 1377 阅读 · 0 评论 -
Mybatis-Plus核心功能
通用 Service CRUD 封装接口,进一步封装 CRUD 采用 get 查询单行 remove 删除 list 查询集合 page 分页 前缀命名方式区分 Mapper 层避免混淆,泛型 T 为任意实体对象建议如果存在自定义通用 Service 方法的可能,请创建自己的 IBaseService 继承 Mybatis-Plus 提供的基类对象 Wrapper 为 条件构造器。原创 2024-08-24 10:45:00 · 1155 阅读 · 0 评论 -
Spring底层篇
Spring: 是一个企业级java应用框架,他的作用主要是简化软件的开发以及配置过程,简化项目部署环境。Spring的有点:1、Spring低侵入设计,对业务代码的污染非常低。2、Spring的DI机制将对象之间的关系交由框架处理,减少组件的耦合。3、Spring提供了AOP技术,支持将一些通用的功能进行集中式管理,从而提供更好的复用。4、Spring对于主流框架提供了非常好的支持。IOC就是控制反转,指创建对象的控制权转移给Spring来进行管理。原创 2024-08-23 08:00:00 · 470 阅读 · 0 评论 -
网络协议与Netty
说到RPC就必须要聊一聊单体项目和分布式/微服务项目发生在上的,也就是说调用发生在本机内部,因此也被叫作本地方法调用。和运行在,它们之间的调用相比于本地方法调用,可称之为远程方法调用,简称 RPC。RPC(Remote Procedure Call ——远程过程调用),它是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络的技术。2011年开源,一个经典的RPC框架(基于TCP的)。还有springcloud中的Feign也是一个RPC的框架,不过它是基于http的。原创 2024-08-21 09:00:00 · 639 阅读 · 0 评论 -
网络协议与IO模型
传统的同步阻塞模型开发中,ServerSocket负责绑定IP地址,启动监听端口;Socket负责发起连接操作。连接成功后,双方通过输入和输出流进行同步阻塞式通信。//客户端启动必备//实例化与服务端通信的输入输出流//服务器的通信地址try{/*连接服务器*//*向服务器输出请求*///接收服务器的输出}finally{if (socket!if (output!if (input!/*服务器必备*//*绑定监听端口*/@Override。原创 2024-08-19 20:30:00 · 898 阅读 · 0 评论 -
有关缓存的一些面试知识
其实我们面试被问到这样的源码问题,大家肯定不会对各种数据类型有这么高的熟悉度(通过源码去掌握),我给大家的建议是记住以下的几点即可(达到面试的要求):1、除了String,其他的数据类型都有2种及以上的实现。2、双向链表不用多说,就是方便两头遍历。哈希表也不用多说,也就是类似于HashMap(数组+链表)。3、压缩列表实际上类似于一个数组,压缩列表在表头有三个字段 zlbytes、zltail 和 zllen,分别表示列表长度、列表尾的偏移量和列表中的 entry 个数。原创 2024-08-18 12:22:13 · 772 阅读 · 0 评论 -
来聊一聊JVM
1.强引用JVM内存管理器从根引用集合(Root Set)出发遍寻堆中所有到达对象的路径。当到达某对象的任意路径都不含有引用对象时,对这个对象的引用就被称为强引用2.软引用软引用是用来描述一些还有用但是非必须的对象。对于软引用关联的对象,在系统将于发生内存溢出异常之前,将会把这些对象列进回收范围中进行二次回收。(当你去处理占用内存较大的对象 并且生命周期比较长的,不是频繁使用的)问题:软引用可能会降低应用的运行效率与性能。原创 2024-08-16 15:06:29 · 1038 阅读 · 0 评论 -
MyBatis系列
接口绑定,就是在MyBatis中任意定义接口,然后把接口里面的方法和SQL语句绑定,我们直接调 用接口方法就可以,这样比起原来了SqlSession提供的方法我们可以有更加灵活的选择和设置。接口绑定有两种实现方式1. 通过注解绑定,就是在接口的方法上面加上 @Select、@Update等注解,里面包含Sql语句来 绑定;2. 通过xml里面写SQL来绑定, 在这种情况下,要指定xml映射文件里面的namespace必须为 接口的全路径名。原创 2024-08-16 14:30:09 · 1125 阅读 · 0 评论 -
Spring boot的最全注解
在springboot实际开发中常用的注解总结原创 2024-08-08 21:20:26 · 648 阅读 · 0 评论 -
缓存常见问题总结
缓存穿透:请求一个不存在的数据,缓存层和数据库层都没有这个数据,这种请求会穿透缓存直接到数据库进行查询。它通常发生在一些恶意用户可能故意发起不存在的请求,试图让系统陷入这种情况,以耗尽数据库连接资源或者造成性能问题。查询一个缓存中不存在的数据将会执行方法查询数据库,数据库也不存在此数据,查询完数据库也没有缓存数据,缓存没有起到作用。原创 2024-08-04 16:48:12 · 1126 阅读 · 0 评论 -
Spring系列一
控制反转是应用于软件工程领域中的,在运行时被装配器对象来绑定耦合对象的一种编程技巧,对象之间耦合关系在编译时通常是未知的。在传统的编程方式中,业 务逻辑的流程是由应用程序中的早已被设定好关联关系的对象来决定的。在使用控制反转的情况下,业务逻辑的流程是由对象关系图来决定的,该对象关系图由装配 器负责实例化,这种实现方式还可以将对象之间的关联关系的定义抽象化。而绑定的过程是通过“依赖注入实现的。控制反转是一种以给予应用程序中目标组件更多控制为目的设计范式,并在我们的实际工作中起到了有效的作用。原创 2024-08-03 22:08:49 · 604 阅读 · 0 评论 -
Spring Boot系列
是Spring社区的产品,它提供了配置Spring IoC容器的纯Java方法。因此它有助于避免使用XML配置。使用JavaConfig的优点在于:面向对象的配置。由于配置被定义为JavaConfig中的类,因此用户可以充分利用Java中的面向对象功能。一个配置类可以继承另一个,重写它的@Bean方法等。减少或消除XML配置。基于依赖注入原则的外化配置的好处已被证明。但是,许多开发人员不希望在XML和Java之间来回切换。JavaConfig。原创 2024-07-31 14:45:59 · 648 阅读 · 0 评论 -
Redis系列
指查询一个一定不存在的数据,如果从存储层查不到数据则不写入缓存,这将导致这个不存在的数据每次请求都要到DB去查询,可能导致DB挂掉。解决方案1、查询返回的数据为空,仍把这个空结果进行缓存,但过期时间会比较短2、布隆过滤器:将所有可能存在的数据哈希到一个足够大的bitmap中,一个一 定不存在的数据会被这个 bitmap拦截掉,从而避免了对DB的查询对于设置了过期时间的key,缓存在某个时间点过期的时候,恰好这时间点对这个Key。原创 2024-07-31 14:18:49 · 881 阅读 · 0 评论 -
SpringCache缓存
缓存有诸多的好处,于是大家就摩拳擦掌准备给自己的应用加上缓存的功能。但是网上一搜却发现缓存的框架太多了,各有各的优势,比如==Redis[中央缓存-远程缓存]==、Memcached、Guava、Caffeine[本地缓存]等等。如果我们的程序想要使用缓存,就要与这些框架耦合。聪明的架构师已经在利用接口来降低耦合了,利用面向对象的抽象和多态的特性,做到业务代码与具体的框架分离。但我们仍然需要显式地在代码中去调用与缓存有关的接口和方法,在合适的时候插入数据到缓存里,在合适的时候从缓存中读取数据。想一想。原创 2024-07-25 15:36:01 · 955 阅读 · 0 评论 -
SpringSecurity专题
Spring Security具有以下几个优点:1. 综合性:Spring Security提供了一套完整的安全解决方案,包括身份验证、授权、会话管理等功能,能够满足大多数应用的安全需求。2. 灵活性:Spring Security提供了丰富的配置选项和扩展点,可以根据具体需求进行定制和扩展。开发人员可以根据自己的业务逻辑和安全需求,自定义认证和授权规则,以及会话管理策略。原创 2024-07-21 20:03:17 · 861 阅读 · 0 评论 -
分库分表专题
垂直分表就是在同一数据库内将一张表按照指定字段分成若干表,每张表仅存储其中一部分字段;垂直分表拆解了原有的表结构,拆分的表之间一般是一对一的关系;垂直分库是指按照业务将表进行归类,然后把不同类的表分布到不同的数据库上面,而每个库又可以放在不同的服务器上,它的核心理念是-专库专用;水平分表就是在同一个数据库内,把同一个表的数据按一定规则拆到多个表中,表的结构没有变化;水平分表解决单表数据量大的问题。原创 2024-07-13 18:39:41 · 544 阅读 · 0 评论 -
C3P0数据库连接池
C3P0 是一个开源的JDBC连接池,目前spring 和 hibernate框架对C3P0是支持的。使用c3p0数据库连接池之前,首先需要在资料中找到如下的jar包,加载到项目1.无参构造,使用默认配置2.有参构造,使用命名配置无参构造使用默认配置(使用xml中default-config标签中对应的参数)有参构造使用命名配置(configName:xml中配置的名称,使用xml中named-config标签中对应的参数)从连接池中取出一个连接C3P0配置文件名称必须为。原创 2024-06-26 21:59:00 · 951 阅读 · 0 评论 -
RabbitMQ 入门
MQ,中文是消息队列(MessageQueue),字面来看就是存放消息的队列。也就是事件驱动架构中的Broker。比较常见的MQ实现:ActiveMQRabbitMQRocketMQKafka追求可用性(当需要处理数据时,资源处于可用状态的程度):Kafka、 RocketMQ 、RabbitMQ追求可靠性:RabbitMQ、RocketMQ追求吞吐能力(十万级别的):RocketMQ、Kafka追求消息低延迟:RabbitMQ、Kafka。原创 2024-06-18 23:52:06 · 706 阅读 · 0 评论 -
Java操作redis
Redis 的 Java 客户端很多,官方推荐的有三种:1.Jedis2.Lettuce3.Redisson同时,Spring 对 Redis 客户端进行了整合,提供了 Spring Data Redis,在Spring Boot项目中还提供了对应的Starter,即 spring-boot-starter-data-redis。原创 2024-06-15 17:29:58 · 1374 阅读 · 0 评论 -
Redis
有关Redis的基础知识原创 2024-06-13 22:05:06 · 658 阅读 · 0 评论 -
SpringMVC(2)
主要介绍了ssm的整合和注意事项原创 2024-05-16 22:27:10 · 1305 阅读 · 0 评论 -
SpringMVC基础
介绍了有关SpringMVC的基础内容原创 2024-05-15 16:43:01 · 1471 阅读 · 0 评论 -
Spring-AOP
讲解有关Spring-AOP的有关知识原创 2024-05-09 20:13:25 · 1095 阅读 · 1 评论 -
Spring整合Mybatis
spring整合mybatis步骤详解原创 2024-05-06 19:03:26 · 559 阅读 · 0 评论 -
Spring管理第三方依赖
主要介绍了有关Spring的纯注解方式去实现第三方依赖管理原创 2024-04-29 23:23:02 · 458 阅读 · 0 评论 -
Spring
主要介绍了有关spring的相关知识原创 2024-04-25 18:23:18 · 1078 阅读 · 1 评论 -
GIt详解
本文主要介绍了有关git相关知识原创 2024-04-15 22:46:18 · 932 阅读 · 1 评论 -
Maven的基本安装与使用
Maven 翻译为"专家"、"内行",是 Apache 下的一个纯 Java 开发的开源项目。基于项目对象模型(缩写:POM)概念,Maven利用一个中央信息片断能管理一个项目的构建、报告和文档等步骤。Maven 是一个项目管理工具,可以对 Java 项目进行构建、依赖管理。简单来说,Maven是一个框架,可以简化程序员的开发本文须知:安装maven环境之前要先安装java jdk环境(没有安装java环境的可以先去看安装JAVA环境的教程)Maven 3.3+ require JDK 1.7 及以上。原创 2024-03-12 16:22:47 · 1518 阅读 · 0 评论