
Java类目
文章平均质量分 93
打造成为JAVA后端的能人,分享我对JAVA学习过程的收货
小林同学学JAVA
软件工程申请出战
展开
-
Day4 微服务 MQ基础、消息队列、RabbitMQ(消息通信中间件)、SpringAMQP(消息收发工具)、消息转换器
Work模型的使用:多个消费者绑定到一个队列,同一条消息只会被一个消费者处理默认消息是轮询消费的,通过设置prefetch来控制消费者预取的消息数量描述下Direct交换机与Topic交换机的差异?Topic交换机接收的消息RoutingKey必须是多个单词,以 .分割Topic交换机与队列绑定时的bindingKey可以指定通配符:代表0个或多个词:代表1个词。原创 2025-01-05 18:05:31 · 845 阅读 · 0 评论 -
Day3 微服务 微服务保护(请求限流、线程隔离、服务熔断)、Sentinel微服务保护框架、分布式事务(XA模式、AT模式)、Seata分布式事务框架
Sentinel是一款服务保护框架,目前已经加入SpringCloudAlibaba中。核心库(Jar包):不依赖任何框架/库,能够运行于 Java 8 及以上的版本的运行时环境,同时对 Dubbo / Spring Cloud 等框架也有较好的支持。在项目中引入依赖即可实现服务限流、隔离、熔断等功能。控制台(Dashboard):Dashboard 主要负责管理推送规则、监控、管理机器信息等。为了方便监控微服务,我们先把Sentinel的控制台搭建出来。1)下载jar包。原创 2025-01-01 17:08:49 · 1278 阅读 · 0 评论 -
Day2 微服务 网关路由转发、网关登录校验、用户信息的传递(浏览器 -> 网关 -> 微服务 -> 微服务与微服务)、配置管理(配置共享,配置热更新、动态路由配置)
无论是还是都支持自定义,只不过编码方式、使用方式略有差别。自定义不是直接实现,而是实现。@Component@Override@Override// 获取请求// 编写过滤器逻辑System.out.println("过滤器执行了");// 放行注意事项:该类的名称一定要以为后缀!@Component@Override// 编写过滤器逻辑System.out.println("未登录,无法访问");// 放行// 拦截@Override。原创 2024-12-30 15:53:29 · 898 阅读 · 3 评论 -
Day1 微服务 单体架构、微服务架构、微服务拆分、服务远程调用、服务注册和发现Nacos、OpenFeign
Bean注意事项:这里不需要在类上加@Configration注解。原创 2024-12-28 01:02:14 · 1093 阅读 · 1 评论 -
Git分布式版本控制工具 Git基本概念、Git工作流程、Git常用命令、Git远程仓库、IDEA操作Git
远程分支和本地的分支一样,我们可以进行merge操作,只是需要先把远端仓库里的更新都下载到本地,再进行操作。原创 2024-12-04 16:47:17 · 879 阅读 · 0 评论 -
JAVA异常类 Throwable超类、Exception类、检查型异常、非检查型异常、异常处理方式、全局异常处理器、自定义异常、Result类
在 Java 中你可以自定义异常。编写自己的异常类时需要记住下面的几点。所有异常都必须是 Throwable 的子类。如果希望写一个检查性异常类,则需要继承 Exception 类。如果你想写一个运行时异常类,那么需要继承 RuntimeException 类。只继承Exception 类来创建的异常类是检查性异常类。原创 2024-10-21 17:27:10 · 1024 阅读 · 0 评论 -
JAVA工具包 java.lang 包、java.util 包、java.io 包、java.net 包、java.sql 包、java.time 包、java.util.concurrent 包
包提供了 JDBC(Java Database Connectivity)的支持,用于数据库访问。包是 Java 8 引入的日期时间 API,提供了对日期、时间、时区、持续时间等的支持。包提供了网络编程的支持,包括 URL、Socket、ServerSocket 等。类:用于字节流和字符流之间的转换。包提供了用于输入输出的类和接口。包提供了大量的实用工具类,包括。、日期时间处理、随机数生成等。原创 2024-11-12 16:30:16 · 656 阅读 · 0 评论 -
JAVA常见的关键字 final、this、super、static、abstract
1.Final关键字2.This关键字3.Super关键字3.1 基本用法3.1.1访问父类的成员变量3.1.2调用父类的方法3.1.3 调用父类的构造函数3.2super关键字的深层理解3.3 注意事项4.Static关键字4.1 作用范围4.2 使用4.2.1 修饰类的成员变量4.2.2修饰类的成员方法4.2.3 修饰代码块4.2.4 修饰内部类4.2.5 注意事项5.abstract关键字5.1 为什么要用?5.2原创 2024-10-12 17:07:48 · 745 阅读 · 0 评论 -
Mybatis-Plus引入 Mybatis-Plus实现步骤、Mybatis-Plus简化操作数据库的原理、自动填充功能、分页插件、逻辑删除
MyBatis-Plus 是一个基于 MyBatis 的增强工具,旨在简化 MyBatis 的开发过程,提供了许多常用的功能和简化操作。如果我们UserImpl类,直接去实现IService层或者Mapper层,那么我们是需要实现这两个接口的所有抽象方法的,这样我们可读性不是大大降低。,让你可以使用 Lambda 表达式构建 SQL 查询条件,这样可以避免硬编码 SQL 字段名,从而减少出错的可能性。MyBatis-Plus 提供了分页插件,简化了分页查询的实现。实现类,并在插入或更新时自动填充这些字段。原创 2024-07-25 11:54:07 · 1550 阅读 · 0 评论 -
接口与类的选择
接口通常只定义一组特定功能的规范。这样可以使得每个接口(或类)专注实现单一的功能,这样可以避免职责混杂,使得代码更易于管理和理解。在面向对象编程中,接口和类是两种基本结构。它们各有优缺点,通常用于不同的场景。:面向接口编程可以提高代码的可复用性和可扩展性。2.类只能继承一个类,但是可以实现多个接口。1.接口可以继承接口,但是不能继承类。:接口非常适合依赖注入模式的使用。原创 2024-07-25 11:05:25 · 430 阅读 · 0 评论 -
JAVA程序操作数据库需要注意的点 用户数据脱敏、密码加密、防止SQL注入、数据库连接安全、异常处理、数据备份和恢复
在 Java 程序中进行数据库操作时,务必关注用户数据的脱敏、密码的加密、SQL 注入的防范、数据库连接的安全、异常处理以及数据备份和恢复。这些措施不仅可以保护用户的隐私,还能确保系统的安全性和稳定性。原创 2024-07-24 10:28:00 · 673 阅读 · 0 评论 -
数据库连接池
客户端执行SQL语句:要先创建一个新的连接对象,然后执行SQL语句,SQL语句执行后又需要关闭连接对象从而释放资源,每次执行SQL时都需要创建连接、销毁链接,这种频繁的重复创建销毁的过程是比较耗费计算机的性能。数据库连接池是一种数据库连接的管理方式,它让系统在数据库上保持一定数量的连接,当系统有访问数据库的请求时,可以快速地从连接池中获取一个数据库连接来用,用完后再返回给连接池,客户端在执行SQL时,先从连接池中获取一个Connection对象,然后在执行SQL语句,SQL语句。原创 2024-07-23 08:39:34 · 746 阅读 · 0 评论 -
SpringBoot 请求参数、响应数据、三层架构、分层解耦、IOC&DI、@Autowird、@Resource、简单参数、实体对象参数、数组集合参数、路径参数、Result类
在我们进行程序设计以及程序开发时,尽可能让每一个接口、类、方法的职责更单一些(单一职责原则)。单一职责原则:一个类或一个方法,就只做一件事情,只管一块功能。这样就可以让类、接口、方法的复杂度更低,可读性更强,扩展性更好,也更利用后期的维护。我们之前开发的程序呢,并不满足单一职责原则。下面我们来分析下之前的程序:那其实我们上述案例的处理逻辑呢,从组成上看可以分为三个部分:数据访问:负责业务数据的维护操作,包括增、删、改、查等操作。逻辑处理:负责业务逻辑处理的代码。原创 2024-07-22 14:38:49 · 1499 阅读 · 0 评论 -
Tomcat服务器
Web服务器是一个应用程序(软件),对HTTP协议的操作进行封装,使得程序员不必直接对协议进行操作。(不用程序员自己写代码去解析http协议规则,比如不用考虑响应码的问题,以及响应数据应该如何写),让Web开发更加便捷。主要功能是"提供网上信息浏览服务"。Tomcat 是一个流行的开源 Java Servlet 容器和 Web 服务器,由 Apache 软件基金会维护。它主要用于运行 Java 语言编写的 web 应用程序。Servlet 和 JSP 容器。原创 2024-07-21 13:42:13 · 685 阅读 · 0 评论 -
SpringBoot 如何简化Spring开发、配置文件的优先级、Bean对象管理、获取Bean对象、起步依赖和自动配置原理、@SpringBootApplication、@Configuration
Spring Boot 是一个开源的 Java 开发框架,它简化了基于 Spring 框架的应用程序的创建和部署过程。Spring Boot 构建于经典的 Spring Framework 之上,并提供了诸多开箱即用的特性,使得开发者可以更快速地创建独立的、生产级别的 Spring 应用程序。简化配置:Spring Boot 采用约定大于配置的理念,通过自动配置(auto-configuration)来减少开发者对应用程序配置的需求。原创 2024-07-20 15:56:14 · 1427 阅读 · 0 评论 -
Maven核心配置文件pom.xml
pom.xml是Maven项目的核心配置文件,它是 项目对象模型 - Project Object Model(POM)的缩写。它使用 XML 格式定义了项目的基本信息、依赖项、构建插件和任务等。使用pom.xml,我们可以轻松地管理项目的构建和依赖关系,让我们能够更专注于业务逻辑的开发。原创 2024-07-18 17:41:08 · 2288 阅读 · 0 评论 -
JAVA枚举类
Java 枚举类(enum)具有几个独特的特性,使其在管理常量和进行状态控制时非常有用。原创 2024-07-09 11:43:59 · 478 阅读 · 0 评论 -
【JAVA基础之内部类】成员内部类、匿名内部类、静态内部类、局部内部类
将一个类A定义在另一个类B里面,里面的那个类A就称为内部类,B则称为外部类,其他称为外部其他类。可以把内部类理解成寄生,外部类理解成宿主。原创 2024-05-22 22:09:41 · 1175 阅读 · 0 评论 -
【JAVA基础之网络编程】UDP和TCP协议以及三次握手和四次挥手的过程
概述:在网络通信协议下,不同计算机上运行的程序,进行数据的传输java.net包中可以看见常见的网络应用程序API常见的软件架构:C/S:Client / Server 客户端 / 服务器需要用户下载并安装客户端程序,在远程有一个服务器程序优缺点:画面可以做的比较精美,用户体验好(不需要网络传输,数据来源于安装包)需要开发客户端,也需要开发服务端用户需要下载和更新的时候太麻烦B/S:Browser / Server 浏览器 / 服务器。原创 2024-05-19 02:00:44 · 1161 阅读 · 0 评论 -
【JAVA进阶之集合】史上最完整的Collection以及Map集合底层原理分析、各种情况的选型
Collection集合概述:是单例集合的顶层接口,它表示一组对象,这些对象也称为Collection的元素JDK 不提供此接口的任何直接实现.它提供更具体的子接口(如Set和List)实现创建Collection集合的对象:多态的方式具体的实现类ArrayListList集合的概述:有序集合,这里的有序指的是存取顺序用户可以精确控制列表中每个元素的插入位置,用户可以通过整数索引访问元素,并搜索列表中的元素与Set集合不同,列表通常允许重复的元素List集合的特点:存取有序可以重复。原创 2024-05-18 00:15:05 · 1297 阅读 · 0 评论 -
【JAVA基础之装箱和拆箱】自动装箱、自动拆箱、包装类、基本类型和字符串之间的转换
Java提供了两个类型系统,基本类型与引用类型,使用基本类型在于效率,然而很多情况,会创建对象使用,因为对象可以做更多的功能。原创 2024-05-09 21:59:39 · 1104 阅读 · 0 评论 -
【JAVA基础之时间API】自定义时间格式、Date类、SimpleDateFormat类、Calender类、JDK8时间相关类
Java的Date类是用来表示特定时间点的类。它位于java.util包中,是Java早期日期和时间处理的一部分。Date类的实例表示自1970年1月1日00:00:00 GMT以来的毫秒数。在Java 8及更高版本中,推荐使用java.time包中的新日期和时间API,如LocalDateLocalTime和,因为它们提供了更丰富和更方便的功能。Date对象是可变的,这意味着一旦创建,它的值可以被改变。这可能导致并发问题,线程不安全Date。原创 2024-05-08 22:37:38 · 1796 阅读 · 1 评论 -
【JAVA基础之Stream流】掌握Stream流、中间方法、终结方法、Lambda表达式(函数)
Stream流可以让你通过链式操作对集合中的元素进行过滤、映射、排序、组合等操作,这些操作都是惰性执行的,只有在终端操作(如forEach、collect等)被调用时才会触发实际计算。Stream流可以简化代码并提高代码的可读性,同时也可以让编译器更好地进行优化,提高代码的执行效率。原创 2024-05-06 14:05:25 · 3673 阅读 · 3 评论 -
【JAVA基础之反射】反射详解、字节码文件和字节码文件对象、获取构造方法、获取成员变量、获取成员方法、动态代理
是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意属性和方法;这种动态获取信息以及动态调用对象方法的功能称为Java语言的反射机制。通过反射可以获取到这些东西而获取这些信息需要在字节码文件获取。原创 2024-05-02 23:15:07 · 1204 阅读 · 1 评论 -
【JAVA基础之多线程】多线程、自定义线程池、线程同步、lock锁、死锁、线程优先级、守护线程、礼让线程、插入线程、线程的生命周期、并行和并发、进程和线程
三种实现方式的对比实现Runnable、Callable接口好处: 扩展性强,实现该接口的同时还可以继承其他的类缺点: 编程相对复杂,不能直接使用Thread类中的方法继承Thread类好处: 编程比较简单,可以直接使用Thread类中的方法缺点: 可以扩展性较差,不能再继承其他的类概述:生产者消费者模式是一个十分经典的多线程协作的模式所谓生产者消费者问题,实际上主要是包含了两类线程:一类是生产者线程用于生产数据一类是消费者线程用于消费数据线程池是一种提高多线程处理效率的技术,原创 2024-05-02 00:00:00 · 1297 阅读 · 0 评论 -
【JAVA基础之IO】IO流、字节流、字符流、缓冲流、转换流、序列化、反序列化、打印流、IO异常处理、Commons-IO工具包、Hutool工具包
生活中,你肯定经历过这样的场景。当你编辑一个文本文件,忘记了ctrl+s,可能文件就白白编辑了。当你电脑上插入一个U盘,可以把一个视频,拷贝到你的电脑硬盘里。那么数据都是在哪些设备上的呢?键盘、内存、硬盘、外接设备等等。我们把这种数据的传输,可以看做是一种数据的流动,按照流动的方向,以内存为基准,分为输入input和输出output,即流向内存是输入流,流出内存的输出流。原创 2024-04-24 22:54:05 · 2018 阅读 · 0 评论 -
【JAVA基础之File】File类、概述、构造方法、常见方法、目录的遍历
类是文件和目录路径名的抽象表示,主要用于文件和目录的创建、查找和删除等操作。File对象表示路径,可以是文件,也可以是文件夹。这个路径可以是存在的也可以是不存在的。原创 2024-04-23 21:50:51 · 1225 阅读 · 0 评论 -
【JAVA基础之泛型】泛型详解版、泛型类、泛型方法、泛型接口、类型通配符、泛型标记符
Java泛型是一种在Java编程语言中用来创建泛型类、接口和方法的机制。泛型提供了在编译时期。进行类型检查和类型安全的方法,使得程序员可以在编写代码时指定类、接口或方法可以操作的数。泛型方法一定有定义泛型,然后在参数列表使用泛型。下面代码将包括泛型类,泛型方法,泛型接口进行说明。使用泛型方法是通过拿类或者接口所定义的泛型来使用。据类型,而不必在实际使用时再指定类型。这里需要注意的是,很多人分不清。泛型接口和泛型类定义基本一致。泛型方法和使用泛型方法。原创 2024-04-20 19:26:34 · 1938 阅读 · 0 评论 -
【JAVA基础之集合遍历】Map、List、Set的遍历方式 增强For循环、Stream流遍历、迭代器遍历、lambda表达式遍历
这篇文章让你彻底理解集合的遍历方式,以及实现的方法!!!!!,因为我觉得,编程这东西,如果没经常涉及到这方面的知识,大概率过几天就会忘记!!!【mysql之基础篇】mysql基本操作详解版-优快云博客外键(Foreign Key)是关系数据库中的一个重要概念,用于建立表与表之间的关联关系。在关系数据库中,数据通常分布在多个表中,外键定义了一个表中的列(或多列)与另一个表中的列之间的关系。原创 2024-03-31 13:33:17 · 1911 阅读 · 1 评论 -
【AOP技术之穿透版】AOP详解 AOP基础、AOP进阶、切入点表达式、通知顺序
AOP英文全称:Aspect Oriented Programming(面向切面编程、面向方面编程),其实说白了,面向切面编程就是面向特定方法编程。Spring的AOP底层是基于动态代理技术来实现的,也就是说在程序运行的时候,会自动的基于动态代理技术为目标对象生成一个对应的代理对象。在代理对象当中就会对目标对象当中的原始方法进行功能的增强,动态代理可以用来在方法执行前后插入代码,从而实现日志记录、性能监视、事务管理等功能,而不需要修改原始类的代码。①.execution切入点表达式。原创 2024-03-28 14:13:00 · 1194 阅读 · 0 评论 -
Filter过滤器、Interceptor拦截器
Filter表示过滤器,是 JavaWeb三大组件(Servlet、Filter、Listener)之一。Listener是一种特殊的组件,用于监听和响应 Servlet 容器中的事件。过滤器可以把对资源的请求拦截下来,从而实现一些特殊的功能使用了过滤器之后,要想访问web服务器上的资源,必须先经过滤器,过滤器处理完毕之后,才可以访问对应的资源。过滤器一般完成一些通用的操作,比如:登录校验、统一编码处理、敏感字符处理等。是一种动态拦截方法调用的机制,类似于过滤器。原创 2024-03-27 12:39:57 · 2268 阅读 · 0 评论 -
Cookie、Session、JWT令牌技术、JwtUtils工具类
这篇文章将带你彻底理解会话跟踪方案的三种技术,分别是Cookie、Session、令牌技术,揭示它们的原理以及对各个技术进行通俗化,让你更好的了解,它们的交互过程 ! ! !原创 2024-03-26 16:50:11 · 1585 阅读 · 0 评论 -
Mybatis框架 JDBC操作数据库、动态SQL语句、配置相应的XML文件、注解的SQL语句
MyBatis是一款优秀的 持久层 框架,用于简化JDBC的开发。MyBatis本是 Apache的一个开源项目iBatis,2010年这个项目由apache迁移到了google code,并且改名为MyBatis。2013年11月迁移到Github。Mybatis框架让程序员更关注于SQL语句,动态sql用法持久层和框架这两个词,就是Mybatis特点持久层:指的是就是数据访问层(dao),是用来操作数据库的。框架:是一个半成品软件,是一套可重用的、通用的、软件基础代码模型。原创 2024-03-25 18:04:42 · 1230 阅读 · 0 评论 -
Servlet学习 Servlet、HttpServlet、GetMapping、WebServlet、Request、Response
再讲简单点就是Servlet是java提供的一门动态web资源开发技术,就是通过后端的逻辑判断,可以根据不同请求,动态响应不同数据在页面上相当于前端html,css等静态web资源开发技术。原创 2024-03-24 15:46:04 · 978 阅读 · 0 评论