Java
文章平均质量分 85
Java基础
黄团团
用博客分享技术和记录总结,不讲废话,只讲干货!
展开
-
Java中String的length与Oracle数据库中VARCHAR2实际存储长度不一致的问题
ORA-12899: 列 "TEST"."TEST"."NAME" 的值太大 (实际值: 2, 最大值: 1):可以很直观的看出来Java中的String对象的length()方法返回字符串的字符数量,而不是字节数。其次在不同的字符编码中,字符所占用的字节数是不同的。下面是GBK和UTF-8编码下,中文、英文和数字字符所占用的字节数原创 2024-10-29 15:33:24 · 411 阅读 · 0 评论 -
Java原生HttpURLConnection实现Get、Post、Put和Delete请求完整工具类分享
这里博主纯手写了一个完整的 HTTP 请求工具类,该工具类支持多种请求方法,包括GET、POST、PUT和DELETE,并且可以选择性地使用身份验证 token。亲测可用,大家可以直接复制并使用这段代码,以便在自己的项目中快速实现 HTTP 请求的功能。原创 2024-09-14 14:24:06 · 877 阅读 · 0 评论 -
【Android Studio】整合okhttp发送get和post请求(提供Gitee源码)
本篇博客教学大家如何使用okhttp发送同步/异步get请求和同步/异步post请求,这边博主把代码全部亲自测试过了一遍,需要源码的可以在文章最后自行拉取。原创 2024-07-16 16:50:07 · 2210 阅读 · 0 评论 -
【Android Studio】实现底部导航栏Tab切换(提供Gitee源码)
前言:本期教学如何使用制作底部导航栏以及用Fragment实现页面切换的完整功能,本篇提供所有源代码,均测试无误,大家可以放心使用。原创 2024-07-12 20:42:27 · 1117 阅读 · 0 评论 -
【Android Studio】正确连接MySQL数据库以及常见问题汇总(亲测可用)
Could not create connection to database server,Access denied for user 'root'@'HTT' (using password: YES),Public Key Retrieval is not allowed,Android Studio正确连接MySQL数据库以及常见问题汇总原创 2024-07-04 00:10:29 · 2206 阅读 · 2 评论 -
Java中Integer.valueOf踩坑记录
在老项目的开发中,需要根据传入的指定参数往前推算日期来同步数据,后来发现同步的数据都是错误的,这边特此记录一下。原创 2024-05-21 16:24:16 · 248 阅读 · 0 评论 -
java将base64编码内容转换为pdf/otd文件
java将base64编码内容转换为pdf/otd文件原创 2024-05-13 16:23:52 · 596 阅读 · 0 评论 -
cannot find symbol [ERROR] symbol: class BASE64Decoder报错解决(亲测可用)
【代码】cannot find symbol [ERROR] symbol: class BASE64Decoder报错解决(亲测可用)原创 2024-05-13 16:21:10 · 790 阅读 · 0 评论 -
【Java异常】list.addAll报java.lang.UnsupportedOperationException
在对list集合进行add和remove操作时报java.lang.UnsupportedOperationException问题解决原创 2024-01-09 09:56:31 · 963 阅读 · 0 评论 -
一文详解SpringBoot中拦截器和过滤器的作用和区别
前言:在实际项目开发中肯定会使用到拦截器和过滤器,但是一直没有深挖它们之间的作用和具体的区别,本篇博客就从简介、工作流程、主要方法、应用场景和代码实现这5个点带大家剖析SpringBoot中拦截器和过滤器的作用和区别。原创 2023-11-06 09:59:02 · 223 阅读 · 0 评论 -
SpringBoot实现文件上传和下载笔记分享(提供Gitee源码)
汇总了一下目前SpringBoot项目当中常见文件上传和下载的功能,一共三种常见的下载方式和一种上传方式,特此做一个笔记分享。原创 2023-08-26 09:54:59 · 1360 阅读 · 0 评论 -
SpringBoot生成和解析二维码完整工具类分享(提供Gitee源码)
在日常的开发工作当中可能需要实现一个二维码小功能,我参考了网上很多关于SpringBoot生成二维码的教程,最终还是自己封装了一套完整生成二维码的工具类,可以支持基础的黑白二维码、带颜色的二维码、带Logo的二维码、带颜色和Logo的二维码和解析二维码,一共4种非常的全面了,可以生成具体的二维码文件或返回Base64,都是博主自己手写封装好的,这边免费开源给大家一键使用!只求大家一个免费的三连支持!原创 2023-08-22 22:12:59 · 1422 阅读 · 2 评论 -
一文搞通Spring事务的七种传播机制(通俗易懂)
最近阅读了网上很多关于讲解Spring事务的七种传播机制的文章,很少有通过结合实际代码进行讲解的,对于小白来说干巴巴的文字解释略微抽象,没有一个具体形象化的概念,下面我就通过理论+实践的方式来对Spring事务的每一种传播机制进行剖析,这样大家也容易记得住,毕竟实践才是检验真理的唯一标准!每一个字和每一行代码都是博主纯手打的!原创 2023-07-29 17:49:32 · 4671 阅读 · 6 评论 -
Java设计模式汇总篇(全面详细)
最近花了近一个月左右的时间把Java的设计模式学习了一遍,并把每次学习的笔记总结都写成了博客进行记录,在日常的工作中也会灵活运用一些设计模式到实际的项目当中,学完之后受益匪浅,这边做一个笔记的分享,常见的23种Java设计模式都汇总在这里了,大家按需查看即可!原创 2023-07-16 15:52:52 · 628 阅读 · 0 评论 -
Java设计模式之行为型-解释器模式(UML类图+案例分析)
解释器模式是指给定一个语言(表达式),来表示它的文法,并定义一个解释器,使用该解释器来解释语言中的句子(表达式),并得到结果。简单来说,解释器模式把要处理的问题条条框框地定义出来,然后挨个细致解释,适合一些重复性的问题求解。原创 2023-07-16 15:17:11 · 973 阅读 · 0 评论 -
Java设计模式之行为型-访问者模式(UML类图+案例分析)
访问者模式是一种对象行为型设计模式,它能够在不修改已有对象结构的前提下,为对象结构中的每个对象提供新的操作。访问者模式的主要作用是把对元素对象的操作抽象出来封装到访问者类中,这样就可以对存在不同操作的元素对象进行统一的处理。原创 2023-07-15 22:35:00 · 1295 阅读 · 0 评论 -
Java设计模式之行为型-状态模式(UML类图+案例分析)
状态模式允许一个对象在其内部状态改变时改变它的行为,对象看起来似乎修改了它的类,状态模式主要解决的是当控制一个对象状态转换的条件表达式过于复杂时的情况,把状态的判断逻辑转移到表示不同状态的一系列类中,可以把复杂的判断逻辑简化。原创 2023-07-14 10:31:53 · 2174 阅读 · 0 评论 -
Java设计模式之行为型-备忘录模式(UML类图+案例分析)
备忘录模式是一种行为型设计模式,它允许保存一个对象的内部状态到一个备忘录对象中,这样就可以在需要的时候恢复这个对象的状态了,同时又不违反封装性原则。这个模式的核心就是备忘录对象,它负责存储目标对象的内部状态信息,并且可以通过方法访问这些状态数据。而目标对象负责创建备忘录对象,并在备忘录对象中保存自身状态。管理者角色负责存储和恢复备忘录对象,但是不能直接看到或者修改备忘录对象中的状态数据。原创 2023-07-13 22:44:51 · 900 阅读 · 0 评论 -
Java设计模式之行为型-中介者模式(UML类图+案例分析)
中介者模式的核心思想是引入一个中介者对象,来封装和管理对象之间的交互关系。对象之间不再直接交互,而是通过中介者间接交互。这样可以减少对象之间的依赖,实现解耦。中介者就像是对象之间的调停者,协助对象間的交流与相互操作。总体上,中介者模式可以使原本相互耦合的对象变成松散耦合,提高了灵活性和可维护性。中介者对象承担了对象間交互的责任,每个对象只需关注自身的行为和逻辑,不再与其他对象直接交互。原创 2023-07-13 17:10:33 · 1302 阅读 · 0 评论 -
Java设计模式之行为型-迭代器模式(UML类图+案例分析)
迭代器模式是一种常用的设计模式,它主要用于遍历集合对象,提供一种方法顺序访问一个聚合对象中的各个元素,而又不暴露该对象的内部表示。原创 2023-07-13 16:07:44 · 1822 阅读 · 1 评论 -
Java设计模式之行为型-命令模式(UML类图+案例分析)
1、将一个请求封装为一个对象,使您可以用不同的请求对客户进行参数化。2、对请求排队或记录请求日志,以及支持可撤销的操作。3、将命令对象与执行命令的对象分离,实现调用者和接收者的解耦。其中命令对象是关键,它包含了一个接收者和一个执行操作的方法。该命令对象绑定一个接收者对象,并通过调用接收者相应的操作来完成执行请求的功能。原创 2023-07-13 12:29:00 · 1921 阅读 · 0 评论 -
Java设计模式之行为型-责任链模式(UML类图+案例分析)
责任链模式是一种行为设计模式,它允许你将请求沿着处理者链进行发送。请求会被链上每个处理者处理,直到请求被处理完毕。该模式主要解决的是请求的发送者和多个请求处理者之间建立一条链式的调用关系,以实现请求的逐层解析处理。原创 2023-07-12 21:53:51 · 1244 阅读 · 0 评论 -
Java设计模式之结构型-代理模式(UML类图+案例分析)
代理模式是一种结构型设计模式,它用一个代理对象来封装一个目标对象,通常是为了对目标对象的访问进行增强或控制。主要作用是扩展目标对象的功能,比如延迟加载、访问控制、远程访问和日志记录等。原创 2023-07-12 16:50:36 · 2235 阅读 · 0 评论 -
Java设计模式之结构型-享元模式(UML类图+案例分析)
享元模式是一种结构型设计模式,主要用于减少创建大量相似对象所占用的内存,它通过共享技术来有效支持大量细粒度的对象。减少内存占用,降低系统资源消耗,提高系统性能。原创 2023-07-12 14:37:07 · 662 阅读 · 0 评论 -
Java设计模式之结构型-外观模式(UML类图+案例分析)
外观模式通过提供一个高层接口来封装细节,简化子系统使用,使子系统之间解耦,它提高了程序的灵活性和可维护性。原创 2023-07-12 09:39:04 · 1237 阅读 · 0 评论 -
Java设计模式之结构型-组合模式(UML类图+案例分析)
组合模式通过将对象组织成树形结构,模拟出复杂对象的结构关系,然后统一处理个别对象和组合对象,它充分利用了递归和层次性的对象模型来模拟复杂对象,但增加了系统的复杂性。应根据需要权衡使用,不能滥用。原创 2023-07-11 22:53:20 · 1615 阅读 · 0 评论 -
Java设计模式之结构型-桥接模式(UML类图+案例分析)
桥接模式(Bridge Pattern)是一种结构型设计模式,其主要目的是“将抽象部分与实现部分分离,使它们都可以独立地变化”。桥接模式的核心思想是把抽象(abstraction)与实现(implementation)分离开来,从而可以独立变化。抽象类定义抽象接口,包含对实现对象的引用。实现类提供各种实现方案,抽象接口调用实现对象的相关方法完成工作。这样抽象部分和实现部分就可以通过抽象层建立联系,相互独立地变化而不影响对方。原创 2023-07-11 19:01:51 · 1506 阅读 · 0 评论 -
Java中使用工厂模式和策略模式优雅消除if-else语句(UML类图+案例分析)
在最近的后端开发中,多多少少会发现有很多if-else语句,如果条件过多则会造成整体代码看起来非常臃肿。本篇博客汇总了我对工厂模式和策略模式的理解,以及我是如何把它们巧妙运用在实际项目当中的一些技巧进行了分享,如有问题,欢迎评论区讨论!原创 2023-07-11 15:54:42 · 1727 阅读 · 1 评论 -
Java设计模式之创建型-原型模式(UML类图+案例分析)
通过复制已有对象作为原型,通过复制该原型来返回一个新对象,而不是新建对象。原型模式通过对象复制获取实例,避免重复创建开销大的对象,是一种快速获取对象副本的模式,但需要注意副本状态的一致性管理。原创 2023-07-11 11:13:12 · 1369 阅读 · 1 评论 -
Java设计模式之创建型-单例模式(UML类图+案例分析)
单例模式确保一个类只有一个实例,提供一个全局访问点。一般实现方式是把构造函数设为私有,并提供一个静态方法获取实例对象。本篇一共介绍了5种创建单例模式的方式:饿汉模式、懒汉模式、双重检索模式、静态内部类和枚举。原创 2023-07-10 18:12:59 · 1486 阅读 · 0 评论 -
Java设计模式之创建型-建造者模式(UML类图+案例分析)
1、将构建复杂对象的过程封装起来,简化了代码结构和逻辑,客户端不需要知道产品内部组成的细节,将产品本身与产品的创建过程解耦,使得相同的过程可以创建出不同的产品对象。2、每一个建造者都相对独立,和其他建造者没有关系,因此可以很方便的替换具体的建造者或者添加新的具体建造者,客户端使用不同的建造者可以获得不同的产品对象,系统扩展方便,符合“开闭原则”。1、添加新的部件需要修改抽象类和具体构造者的代码。原创 2023-07-10 00:07:27 · 1345 阅读 · 0 评论 -
SpringBoot处理全局异常详解(全面详细+Gitee源码)
我们对常见的七种异常情况统一进行处理,这次的主角就是@RestControllerAdvice这个注解,这个一个组合注解由@ControllerAdvice和@ResponseBody组成,@RestControllerAdvice会帮助我们把信息转成json格式返回。在全局异常处理类只需要在类上标注@RestControllerAdvice,并在处理相应异常的方法上使用@ExceptionHandler注解,写明处理哪个异常即可。注:异常的拦截有顺序,子类异常会优先匹配子类异常处理器。原创 2023-07-04 09:27:28 · 2316 阅读 · 1 评论 -
Spring事务@Transactional常见的8种失效场景(通俗易懂)
在日常的开发过程中,多多少少会遇到Spring事务失效导致的一些事故,本篇主要通过具体的案例分析来讲解常见的8种失效的场景,让阅读者通俗易懂的明白每一种事务失效的原因,知其然并知其所以然!原创 2023-07-02 21:51:43 · 6768 阅读 · 5 评论 -
Java设计模式之行为型-观察者模式(UML类图+案例分析)
观察者先订阅被观察者对象,当被观察者的状态发生变化时,观察者可以及时收到消息,在这种模式当中,被观察者维护了一个观察者列表,并提供了添加、删除、通知观察者的方法。原创 2023-07-02 14:17:18 · 2205 阅读 · 0 评论 -
手把手教学使用宝塔面板部署前后端分离项目(全面详细)
平日里我们的前后端项目基本上都是通过linux系统提供的命令窗口去部署,有没有一种更简单可视化的方式去部署我们自己的项目呢,答案是有的,本篇博客就是手把手教学如何通过一个可视化的页面去部署我们自己开发的前后端分离项目。原创 2023-07-01 14:47:55 · 5818 阅读 · 16 评论 -
从0到1搭建SpringBoot整合Quartz定时任务框架(保姆级教学+Gitee源码)
Quartz是一个完全由Java编写的开源作业调度框架,在Java应用程序中进行作业调度提供了强大功能,以下是Quartz的四个核心概念。1、Job(接口):它只有一个execute方法需要被重写,重写的内容就是咱们需要执行的具体内容。2、JobDetail(调度信息):表示一个具体的可执行的调度程序,Job是这个可执行调度程序中所需要执行的具体内容,另外JobDetail还包含了这个任务的调度方案和策略。3、Trigger(触发器):代表一个调度参数的配置,动态去执行咱们的定时任务。原创 2023-06-28 00:41:46 · 2648 阅读 · 3 评论 -
Java设计模式之结构型-适配器模式(UML类图+案例分析)
将一个类的接口转换为另一个接口,使得原本由于接口不兼容的类进行兼容。适配器模式主要分为类适配器模式和对象适配器模式,前者类适配器模式之间的耦合度比后者更高,所以更推荐使用对象适配器。原创 2023-06-25 19:04:52 · 2632 阅读 · 0 评论 -
Java设计模式之行为型-模板方法模式(UML类图+案例分析)
定义一个操作中的算法骨架,而将算法的一些步骤延迟到子类当中,使得子类可以不改变该算法结构的情况下重定义该算法的特定步骤,即在一个抽象类中公开定义了执行某一方法的模板,然后子类可以按需重写方法实现自己特有的逻辑。原创 2023-06-24 14:25:17 · 1179 阅读 · 0 评论 -
Java设计模式之结构型-装饰器模式(UML类图+案例分析)
装饰器模式是指不必在改变原有的类和不使用继承的情况下,动态扩展一个对象的功能原创 2023-06-24 13:47:48 · 1079 阅读 · 0 评论 -
SpringBoot集成WebSocket实现消息实时推送(提供Gitee源码)
在最近的工作当中,客户反应需要实时接收消息提醒,这个功能虽然不大,但不过也用到了一些新的技术,于是我这边写一个关于我如何实现这个功能、编写、测试到部署服务器,归纳到这篇博客中进行总结。原创 2023-06-22 12:20:50 · 4397 阅读 · 0 评论