
后端开发
文章平均质量分 91
纸上得来终觉浅,绝知此事要躬行。
知识汲取者
路虽远,行则将至;事虽难,做则必成
展开
-
SpringBoot实用篇
什么是监控?就是通过软件的方式展示另一个软件的运行情况,运行的情况则通过各种各样的指标数据反馈给监控人员。例如网络是否顺畅、服务器是否在运行、程序的功能是否能够整百分百运行成功,内存是否够用,等等等等。监控的作用监控服务是否处于宕机状态监控服务的运行指标监控程序的运行日志管理服务的状态监控的实现步骤Step1:显示监控信息的程序,用于获取服务信息(主动或被动拉去监控信息),并显示对应的信息Step2:运行的服务,启动时主动上报,同时需要告诉监控程序自己需要被监控,被监控的数据有哪些。原创 2023-12-31 09:00:54 · 2815 阅读 · 0 评论 -
初识SpringBoot(2023最后一篇文章)
Spring是一个于2003 年兴起的一个轻量级开源Java开发框架,由Rod Johnson 在其著作《Expert One-On-One J2EE Development and Design》。Spring是为了解决企业级应用开发的复杂性而创建的,使用Spring可以让简单的JavaBean实现之前只有EJB才能完成的事情。但是Spring不仅仅局限于服务器端开发,任何Java应用都能在简单性、可测试性和松耦合性等方面从Spring中获益。?原创 2023-12-31 08:57:14 · 1600 阅读 · 0 评论 -
Freemarker快速入门(SpringBoot版)
Freemarker是什么?Freemarker是一个强大的 Java模板引擎,它允许开发人员将展示层与应用逻辑分离。通过提供一种灵活高效的方式,在运行时生成动态内容。Freemarker模板使用类似HTML的语法,但包含可以在运行时填充数据的占位符和控制结构。这使得创建动态网页、电子邮件和其他文本文档非常简单。Freemarker支持条件语句、循环、宏等各种功能,并且可以与不同的数据模型和框架集成。它在Java Web开发中被广泛应用于生成HTML视图、电子邮件模板和其他文本输出。个人理解。原创 2023-10-18 23:06:51 · 3638 阅读 · 0 评论 -
Java中如何实现定时任务?
本文主要是对定时任务进行一个大致的了解,关于定时任务的详细使用细节,这个后面会进一步学习。通过本文你将了解定时任务是什么?Java中常见的实现定时任务的方式有哪些,以及常见的成熟的第三方定时任务框架有哪些什么的定时任务?定时任务是一种自动化执行特定操作的方式,可以根据预定的时间、日期或间隔周期性地执行某些任务。在平常的生活中,大家肯定是有设置闹钟的习惯,我们需要通过闹钟来提醒我们到这个时刻,我们应该做指定的事情。原创 2023-10-04 10:37:39 · 3839 阅读 · 0 评论 -
常见限流算法学习
本文主要讲解常见的几大限流算法,包括:**固定窗口计数器限流算法**、**滑动窗口计数器限流算法**、**漏桶限流算法**、**令牌桶限流算法**,此外还会讲解如何使用**Sentinel**、谷歌提供的Guava工具包中的**RateLimiter**限流工具类实现限流,如果你觉得本文对你有所帮助,欢迎点赞,您的鼓励将是我持续输出的动力> PS:如果文中有描述不当、错误、侵权的地方还恳请您能告知博主,博主将立即做出修改,同时将送上我真挚的感谢🌹原创 2023-09-24 22:45:50 · 767 阅读 · 1 评论 -
多线程进阶学习笔记
通过本文,你将了解Java中线程的状态,如何进行状态切换,同时掌握线程池相关知识,了解线程池常用参数以及参数如何合理配置,还有JDK中常见的线程池介绍,最后将介绍volatile关键字,如何解决可见性问题、原子性问题初始(NEW):新创建了一个线程对象,但还没有调用start()方法。运行(RUNNABLE):Java线程中将就绪(ready)和运行中(running)两种状态笼统的称为“运行”。线程对象创建后,其他线程(比如main线程)调用了该对象的start()方法。原创 2023-09-24 12:06:46 · 814 阅读 · 0 评论 -
Java内存模型介绍
本文主要讲些JMM的一些基本概念,通过本文让你能够初步了解JMM原创 2023-09-24 10:05:06 · 661 阅读 · 0 评论 -
JVM内存结构介绍
本文详细讲解JVM内存模型中每一块区域的具体含义和作用原创 2023-09-15 09:46:36 · 1275 阅读 · 1 评论 -
【源码篇】ThreadLocal源码解析(主打的就是通俗易懂,言简意赅)
本文主要是对ThreadLocal的源码进行解析,从而在面对面试官提问ThreadLoca相关方面的问题时,更加有底气一点,因为很多面试题光死记硬背心中会有疑惑,同时记得不够劳,所以这里我选择花点时间阅读一下ThreadLocal的源码,从而对ThreadLocal有更加深刻的了解,从目录也可以看出本文的内容大致是讲什么(主要有setgetremove三个常用方法的源码解析,以及ThreadLocal常见的问题内存泄露问题Hash冲突问题、同时相关面试题也被我整理在另外一个20w。原创 2023-08-18 21:24:27 · 950 阅读 · 1 评论 -
【源码篇】ArrayList源码解析
ArrayList是什么?ArrayList 是 Java 中的一个很常用的集合类,它具有有序有索引可重复‘、动态扩容线程不安全等特点。ArrayList 底层是基于数组存储元素的,数组是线性表,所以插入和删除元素的时间复杂度是OnO(n)On,根据索引索取元素的时间复杂度 是O1O(1)O1,所以 ArrayList查询快增删比较慢ArrayList常用操作:略……Java常用集合总结扩容核心算法这里通过>>(算术右移)计算出当前容量的一半扩容流程先由方法获取当前集合所需最小容量。原创 2023-08-08 23:56:56 · 1242 阅读 · 1 评论 -
Docker快速入门笔记
当今软件开发领域的一股热潮正在迅速兴起,它融合了便捷性、灵活性和可移植性,让开发者们欣喜若狂。它就是 Docker!无论你是一个初学者,还是一位经验丰富的开发者,都不能错过这个引领技术浪潮的工具。想象一下,你可以在几分钟内轻松创建和部署应用程序,而不再担心因为环境差异而导致的问题。Docker通过将您的代码、运行时环境和所有依赖项打包到一个容器中,实现了真正的一次构建,到处运行。随着 Docker 的快速入门,您将迈出构建现代化、高效和可靠软件的第一步。在本博客中,我们将带您探索 Docker 的世原创 2023-08-02 00:37:05 · 1564 阅读 · 0 评论 -
Java多线程快速入门
趁着最近课少,复习一下Java多线程相关知识,顺便发一下以前的笔记原创 2023-06-14 22:38:30 · 707 阅读 · 0 评论 -
SpringBoot项目实现热部署
所谓热部署,就是在应用正在运行的时候升级软件,却不需要重新启动应用。对于Java应用程序来说,热部署就是在运行时更新Java类文件。原创 2023-04-16 15:22:59 · 1246 阅读 · 0 评论 -
初识SpringSecurity
本文主要是对SpringSecurity的一个粗略的学习,大致学习使用SpringBoot整合SpringSecurity和Redis实现一个简单的登录认证以及授权功能,同时熟悉登录认证和授权的一个大概的流程是怎么样的,其次还会学习使用CORS解决跨域问题。至于更加详细的内容会在后面进一步学习PS: 相关代码请参考博主的 Gitee仓库或者Github仓库什么是Spring Security?原创 2023-03-24 08:55:15 · 800 阅读 · 0 评论 -
【Java 面试篇】@Autowire和@Resource的区别
但是如果使用了其他的注解来声明Bean,比如使用@Component或@Service注解,这些注解中会存在默认的无参构造方法的要求。当一个Bean中有多个与要注入的类型相匹配的Bean时,@Autowired可以通过@Qualifier注解指定要注入的Bean的名称。在进行单元测试时,可能需要模拟Bean的行为,此时如果将@Autowired注解标注在成员变量上,则无法通过setter方法进行Bean的mock操作,从而影响了单元测试的进行。它们的作用相似,但是它们的注入方式和使用场景略有不同。原创 2023-03-17 11:51:50 · 1121 阅读 · 0 评论 -
【Java面试篇】Spring中@Transactional注解事务失效的常见场景
记录一下使用@Transational注解实现事务,常见的几种失效场景原创 2023-03-03 16:14:59 · 7447 阅读 · 0 评论 -
SpringMVC学习笔记
SpringMVC是什么?MVC是什么?SpringMVC的特点:……SpringMVC的优点:……创建Maven项目导入依赖创建SpringMVC配置文件编写html编写控制器测试编写web.xmlStep1:创建Maven项目目录结构:Step2:导入依赖pom.xml:Step3:编写web.xmlweb.xml:Step4:创建SpringMVC配置文件SpringMVC-servlet.xml:Step5:编写htmlindex.html:success.html:原创 2023-03-01 12:47:26 · 828 阅读 · 2 评论 -
JavaSE之常用关键字学习
本文主要是对JavaSE中常用关键字的一个总结原创 2023-02-23 10:48:50 · 1178 阅读 · 0 评论 -
初识MyBatis
Mabatis是什么?Mabatis的优点:1)提高代码的可维护性。Mabatis让SQL语句和代码进行了解耦3,SQL语句写在XML文件中想修改SQL语句只需要修改XML文件而不必去修改代码2)减少重复代码。与JDBC相比,减少了50%以上的代码量,消除了JDBC 大量冗余的代码,不需要手动开关连接3)具有良好的兼容性。因为MyBatis 使用JDBC原创 2023-02-23 10:42:33 · 568 阅读 · 0 评论 -
MyBatis缓存
什么是缓存?缓存:存储在计算机上的一个原始数据复制集,就是数据交换的缓冲区(称作Cache),是存贮数据(使用频繁的数据)的临时地方。当用户查询数据,首先在缓存中寻找,如果找到了则直接执行。如果找不到,则去数据库中查找。缓存有什么用?缓存的本质就是用空间换时间,牺牲数据的实时性,以服务器内存中的数据暂时代替从数据库读取最新的数据,减少数据库IO,减轻服务器压力,减少网络延迟,加快页面打开速度。缓存的分类文件缓存:文件缓存是把一些需要高速存取的变量缓存在内存中。原创 2023-02-17 23:07:26 · 1903 阅读 · 0 评论 -
自动化完成1000个用户的登录并获取token并生成tokens.txt文件
发送请求,最终将获取到的token写入tokens.txt文件中(如果您有更好的方法,请留言告知在下,在下不胜感激)用于Jmeter压力测试。这总不可能手动测试把,所以就需要通过代码实现了(详情见P69)请求,而这两个请求实现很简单,但是需要实现。核心实现思路:通过编写一个测试类,然后使用。现在存在的问题是:我们想要发送。,同时获取这1000给。原创 2023-02-17 23:03:30 · 4027 阅读 · 2 评论 -
Spring学习笔记
Spring是什么?Spring的特点:Spring的优点:提高Java开发的效率。主要体现在易于测试、易于开发这两点,易于测试是因为Spring为Junit提供了方便的测试环境,易于开发有三点体现:一是因为Spring本身是框架,符合框架一般性的特点(简化开发),二是有了Spring,用户不必再为单实例模式类、属性文件解析等这些很底层的需求编写代码,可以更专注于上层的应用,三是Spring提供的IoC容器,我们可以将对象之间的依赖关系交由Spring进行控制,避免硬编码1所造成的过度程序耦合使用灵活轻巧。原创 2023-01-23 11:23:36 · 1728 阅读 · 0 评论 -
【JavaWeb】初识HTTP
请求数据的组成请求行+请求头+[请求体]1)请求行请求方式 /请求的资源路径 协议名称/协议版本号。HTTP的请求方式共有七种3,常见的有两种,分别是GET请求和POST请求2)请求头key: valueHost: 表示请求的主机名Connection: 请求连接的方式。一般默认是keep-alive,表示请求建立长连接User-Agent: 表示浏览器的版本。原创 2022-10-24 10:59:29 · 667 阅读 · 7 评论 -
【JavaWeb】常用对象Request、Response、ServletConfig、ServletContext学习笔记
本文主要是博主对于JavaWeb中四个常用对象Request、Response、ServletConfig、ServletContext的学习记录原创 2022-10-24 10:52:14 · 1434 阅读 · 1 评论 -
一文带你快速鉴别Cookie&Session
本文将教你Cookie和Session的基本使用,同时将两者进行一个比较原创 2022-10-11 20:22:48 · 2247 阅读 · 4 评论 -
JDBC学习笔记
Java数据库连接,(Java Database Connectivity,简称JDBC)是Java语言中用来规范客户端程序如何来访问数据库的应用程序接口,提供了诸如查询和更新数据库中数据的方法。JDBC也是Sun Microsystems的商标。我们通常说的JDBC是面向关系型数据库的。JDBC就是一种数据库连接技术,是Java语言操作关系型数据库的一套接口,本质是一种规范。目的是规范其他关系型数据库的实现类。原创 2022-10-11 20:16:44 · 771 阅读 · 3 评论 -
谈一谈我对三层架构和MVC模式的理解
本文主要浅谈我对MVC模式和三层架构的理解,主要包含两个内容:两者的定义,两者的区别。最后还附有一个三层架构+MVC两者应用的实例,相信你看完本文,能对这两者有所感触原创 2022-09-29 19:49:49 · 1494 阅读 · 2 评论 -
JSP速通
JSP已经过时了?你还在犹豫要不要学JSP?你还不知道JSP需要学哪些东西?如果你有这些疑惑,看完本文相信能为你解惑原创 2022-09-27 11:40:37 · 3637 阅读 · 8 评论 -
JavaWeb三大组件【Servlet】【Filter】【Listener】学习笔记
本文主要详细讲解JavaWeb的三大组件:Servlet、Filter、Listener。内容包括三者的基本语法、用法,同时包含一个三者的综合案例,同时案例富有详细的解说原创 2022-09-12 11:03:58 · 2728 阅读 · 4 评论 -
Tomcat使用教程(超详细)
什么是Tomcat?Tomcat是一个开源、免费、轻量级的Web服务器。Tomcat是Apache 软件基金会(Apache Software Foundation)的Jakarta 项目中的一个核心项目,由Apache、Sun 和其他一些公司及个人共同开发而成。由于有了Sun 的参与和支持,最新的Servlet 和JSP 规范总是能在Tomcat 中得到体现,Tomcat 5支持最新的Servlet 2.4 和JSP 2.0 规范。原创 2022-09-12 10:45:29 · 78085 阅读 · 10 评论 -
Java中如何判断一个字符串是不是一个数字
五种方法轻松教你快速判断一个字符串是否是一个数字原创 2022-08-23 09:57:19 · 6641 阅读 · 0 评论 -
详细说明String、StringBuilder、StringBuffer的区别和联系
类型特点适用场景String不可变,线程安全操作少量数据或者不需要操作数据1可变,线程不安全需要频繁操作数据且不用考虑线程安全可变,线程安全,性能较低需要频繁操作数据且需要考虑线程安全总的来讲String、StringBuilder、StringBuffer虽然是一步一步优化过来的,但是鱼与熊掌不可兼得,优化了这个问题又随之出现另一个问题,所以没有一个是完美的,也没有一个是能够取代其它任意一个的位置的,它们各司其职。我们要做的就是能够利用它们的特点解决某一类型的问题😄。..................原创 2022-08-28 09:26:05 · 703 阅读 · 5 评论 -
手把手教你快速入门Logback
日志的作用就是【记录用户的行为】【快速定位问题的根源】【追踪程序执行的过程】【追踪数据的变化】,而日志直接输出会很杂乱,格式不一致,不方便阅读,调整起来也很麻烦,所以就诞生了日志框架,日志框架是一个经过专门设计的实用程序,用于规范应用程序的日志记录过程,让日志更加规范,操作起来也很便捷,我们只管拿来用就行了。Logback是基于slf4j的日志规范实现的框架,是一款性能很好的日志框架,由log4j创始人设计的又一个开源日志组件。......原创 2022-08-28 09:24:59 · 988 阅读 · 0 评论 -
commons-io工具包的基本使用
在Java中IO操作很常见,原始的码代码会有很多重复操作,过程很烦锁,这就需要诞生一种新技术来减少这种重复的代码操作,让程序员有更多的时间干正真有意义的事情。于是就诞生了commons-io,它是开源基金组织提供的一组有关IO操作的类库,可以提高IO功能开发的效率,commons-io工具包提供了很多有关io操作的类。有两个主要的类,。commons-io相关(也可以直接在官网下载)温馨提示.........原创 2022-08-28 09:16:03 · 3071 阅读 · 0 评论 -
一文带你快速上手项目开发神器Maven
你还在网上苦苦找寻项目所依赖的jar包?你还在繁琐地进行手动导入jar包?你是不是很烦这些重复无意义的操作?那么就跟着博主一起来学习Maven吧!Hi~ o(* ̄▽ ̄*)ブ,本文带你快速拿捏Maven,从此告别去网上搜索下载jar包、手动导jar包的时代\^_\^...............原创 2022-08-26 09:44:54 · 4351 阅读 · 2 评论 -
Java中的注解是什么?如何用?
身为一名Java程序猿还不知道注解是什么?本文带你快速熟悉Java注解的作用,基本使用原创 2022-08-26 09:25:41 · 901 阅读 · 0 评论 -
一文带你快速了解Java中的反射机制
反射(Reflection)是一种计算机的处理机制。Java中,当程序在运行时,可以构造任意一个类的对象,可以了解任意一个对象所属的类,可以了解任意一个类的成员变量和方法,可以调用任意一个对象的属性和方法。这种动态获取程序信息以及动态调用对象的功能称为Java语言的反射机制。反射被视为动态语言的关键。总结而言:反射就是“Java中对于任何一个类,在运行时都能直接得到它的全部成分“的这个机制。反射的原理:Java中所有的类在被javac编译后都会经过类加载器(classLoader)加载到Class类。...原创 2022-08-26 09:20:57 · 660 阅读 · 0 评论 -
基本数据类型与引用数据类型String之间的转换及基本数据之间的转换
基本数据类型与引用数据类型之间的转换将int类型转换为String类型:import java.util.Scanner;public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); //基本数据类型与引用数据类型之间的转换 String st = Integer.toString(sc.nextInt());//方法一 //String s.原创 2022-01-29 17:37:04 · 2553 阅读 · 0 评论 -
正则表达式基础知识汇总(java版)
一、正则表达式基本组成和概念 Regular Expression正则表达式 是用于描述一组字符串特征的模式,用来匹配特定的字符串。通过特殊字符+普通字符来进行模式描述,从而达到文本匹配目的工具。Pattern:正则表达式对象(匹配类型)Pattern pattern = Pattern.compile(regstring);//regexp为待匹配正则表达式类型Matcher:匹配器(按照Pattern模式进行匹配)Matcher matcher = pattern.matche...原创 2022-01-28 21:02:14 · 885 阅读 · 0 评论 -
java中sc.next()与sc.nextLine()输入字符串的区别和注意事项
1.sc.next()1)一定是在输入有效字符串后才结束输入。(空格键(\s)、Tab键(\t)或Enter键(\r)等都是非有效字符)一但输入有效字符后,遇到空格键(\s)、Tab键(\t)或Enter键(\r)直接结束输入。2)从1)我们可以知道sc.next()输入法是不能接收:空格键(\s)、Tab键(\t)或Enter键(\r)字符的3)详情见代码:import java.util.Scanner;public class Test { public static void原创 2022-01-24 20:48:53 · 7714 阅读 · 0 评论