Java类目
文章平均质量分 90
打造成为JAVA后端的能人,分享我对JAVA学习过程的收货
小林同学学JAVA
软件工程申请出战
展开
-
JAVA程序操作数据库需要注意的点
在 Java 程序中进行数据库操作时,务必关注用户数据的脱敏、密码的加密、SQL 注入的防范、数据库连接的安全、异常处理以及数据备份和恢复。这些措施不仅可以保护用户的隐私,还能确保系统的安全性和稳定性。原创 2024-07-24 10:28:00 · 330 阅读 · 0 评论 -
数据库连接池
客户端执行SQL语句:要先创建一个新的连接对象,然后执行SQL语句,SQL语句执行后又需要关闭连接对象从而释放资源,每次执行SQL时都需要创建连接、销毁链接,这种频繁的重复创建销毁的过程是比较耗费计算机的性能。数据库连接池是一种数据库连接的管理方式,它让系统在数据库上保持一定数量的连接,当系统有访问数据库的请求时,可以快速地从连接池中获取一个数据库连接来用,用完后再返回给连接池,客户端在执行SQL时,先从连接池中获取一个Connection对象,然后在执行SQL语句,SQL语句。原创 2024-07-23 08:39:34 · 412 阅读 · 0 评论 -
SpringBootWeb请求响应,参数问题以及三层架构等实现
在我们进行程序设计以及程序开发时,尽可能让每一个接口、类、方法的职责更单一些(单一职责原则)。单一职责原则:一个类或一个方法,就只做一件事情,只管一块功能。这样就可以让类、接口、方法的复杂度更低,可读性更强,扩展性更好,也更利用后期的维护。我们之前开发的程序呢,并不满足单一职责原则。下面我们来分析下之前的程序:那其实我们上述案例的处理逻辑呢,从组成上看可以分为三个部分:数据访问:负责业务数据的维护操作,包括增、删、改、查等操作。逻辑处理:负责业务逻辑处理的代码。原创 2024-07-22 14:38:49 · 853 阅读 · 0 评论 -
全局异常处理器和自定义异常
在 Java 中,特别是在 Spring Framework 中,全局异常处理器是一种用于集中处理应用程序中发生的异常的机制。这种处理器可以帮助你管理和处理应用程序中的异常,从而提供统一的错误处理逻辑和用户友好的错误响应。举个例子:如果项目是那种javaweb项目,大部分离不开,分层结构(Controller、Service、Mapper),那如果业务操作数据库出错之后,一般持久层拿到错误,就会往Service层抛,然后就会抛到。原创 2024-07-21 17:13:57 · 382 阅读 · 0 评论 -
Tomcat服务器
Web服务器是一个应用程序(软件),对HTTP协议的操作进行封装,使得程序员不必直接对协议进行操作。(不用程序员自己写代码去解析http协议规则,比如不用考虑响应码的问题,以及响应数据应该如何写),让Web开发更加便捷。主要功能是"提供网上信息浏览服务"。Tomcat 是一个流行的开源 Java Servlet 容器和 Web 服务器,由 Apache 软件基金会维护。它主要用于运行 Java 语言编写的 web 应用程序。Servlet 和 JSP 容器。原创 2024-07-21 13:42:13 · 614 阅读 · 0 评论 -
Lombok的认识
例如,过度使用Lombok可能会导致代码可读性下降,因为自动生成的方法可能不如手动编写的方法直观易懂。通过注解的形式自动生成构造器、getter/setter、equals、hashcode、toString等方法,并可以自动化生成日志变量,简化java开发、提高效率。Lombok是一个Java库,它可以通过简单的注解形式来帮助开发人员简化Java代码的编写,特别是减少模板代码的书写。总的来说,Lombok是一个有用的工具,但使用时需要权衡其优缺点,并根据具体需求进行选择。原创 2024-07-21 11:26:01 · 457 阅读 · 0 评论 -
SpringBoot是如何简化Spring开发的,以及SpringBoot的特性以及源码分析
Spring Boot 是一个开源的 Java 开发框架,它简化了基于 Spring 框架的应用程序的创建和部署过程。Spring Boot 构建于经典的 Spring Framework 之上,并提供了诸多开箱即用的特性,使得开发者可以更快速地创建独立的、生产级别的 Spring 应用程序。简化配置:Spring Boot 采用约定大于配置的理念,通过自动配置(auto-configuration)来减少开发者对应用程序配置的需求。原创 2024-07-20 15:56:14 · 1085 阅读 · 0 评论 -
Maven中的pom.xml文件
pom.xml是Maven项目的核心配置文件,它是 项目对象模型 - Project Object Model(POM)的缩写。它使用 XML 格式定义了项目的基本信息、依赖项、构建插件和任务等。使用pom.xml,我们可以轻松地管理项目的构建和依赖关系,让我们能够更专注于业务逻辑的开发。原创 2024-07-18 17:41:08 · 1072 阅读 · 0 评论 -
JDBC操作数据库
连接了数据库,就是要对数据库进行操作。以下就是进行对数据库进行查询操作。原创 2024-07-12 18:32:40 · 372 阅读 · 1 评论 -
JAVA枚举类
Java 枚举类(enum)具有几个独特的特性,使其在管理常量和进行状态控制时非常有用。原创 2024-07-09 11:43:59 · 420 阅读 · 0 评论 -
序列化和反序列化以及重写SerialVersionUID属性
序列化和反序列化是编程中常见的概念,特别是在数据存储、通信和对象持久化等场景下。序列化是将对象转换为字节流的过程,以便于存储或传输。在Java中,序列化通常涉及将对象转换为字节序列,可以存储到文件中或通过网络发送到远程主机。主要用途包括对象持久化(如将对象保存到数据库或磁盘上)和远程通信(如在网络上传递对象)。通常转为json或者xml格式。Java中实现序列化的方式是通过实现接口。这个接口是一个标记接口,没有任何方法,其作用是标识类的对象可以被序列化。反序列化是将字节流转换回对象的过程。原创 2024-07-07 20:59:21 · 923 阅读 · 0 评论 -
【JAVA基础之内部类】匿名内部类
将一个类A定义在另一个类B里面,里面的那个类A就称为内部类,B则称为外部类,其他称为外部其他类。可以把内部类理解成寄生,外部类理解成宿主。原创 2024-05-22 22:09:41 · 1087 阅读 · 0 评论 -
【JAVA基础之网络编程】UDP和TCP协议以及三次握手和四次挥手的过程
概述:在网络通信协议下,不同计算机上运行的程序,进行数据的传输java.net包中可以看见常见的网络应用程序API常见的软件架构:C/S:Client / Server 客户端 / 服务器需要用户下载并安装客户端程序,在远程有一个服务器程序优缺点:画面可以做的比较精美,用户体验好(不需要网络传输,数据来源于安装包)需要开发客户端,也需要开发服务端用户需要下载和更新的时候太麻烦B/S:Browser / Server 浏览器 / 服务器。原创 2024-05-19 02:00:44 · 1039 阅读 · 0 评论 -
【JAVA进阶之集合】史上最完整的Collection以及Map集合底层原理分析、各种情况的选型
Collection集合概述:是单例集合的顶层接口,它表示一组对象,这些对象也称为Collection的元素JDK 不提供此接口的任何直接实现.它提供更具体的子接口(如Set和List)实现创建Collection集合的对象:多态的方式具体的实现类ArrayListList集合的概述:有序集合,这里的有序指的是存取顺序用户可以精确控制列表中每个元素的插入位置,用户可以通过整数索引访问元素,并搜索列表中的元素与Set集合不同,列表通常允许重复的元素List集合的特点:存取有序可以重复。原创 2024-05-18 00:15:05 · 1183 阅读 · 0 评论 -
【JAVA基础之装箱和拆箱】自动装箱和自动拆箱
Java提供了两个类型系统,基本类型与引用类型,使用基本类型在于效率,然而很多情况,会创建对象使用,因为对象可以做更多的功能。原创 2024-05-09 21:59:39 · 1031 阅读 · 0 评论 -
【JAVA基础之时间API】自定义时间格式
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 · 1296 阅读 · 1 评论 -
【JAVA基础之Stream流】掌握Stream流
Stream流可以让你通过链式操作对集合中的元素进行过滤、映射、排序、组合等操作,这些操作都是惰性执行的,只有在终端操作(如forEach、collect等)被调用时才会触发实际计算。Stream流可以简化代码并提高代码的可读性,同时也可以让编译器更好地进行优化,提高代码的执行效率。原创 2024-05-06 14:05:25 · 477 阅读 · 3 评论 -
【JAVA基础之反射】反射详解
是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意属性和方法;这种动态获取信息以及动态调用对象方法的功能称为Java语言的反射机制。通过反射可以获取到这些东西而获取这些信息需要在字节码文件获取。原创 2024-05-02 23:15:07 · 1097 阅读 · 1 评论 -
【JAVA基础之多线程】多线程案例以及自定义线程池
三种实现方式的对比实现Runnable、Callable接口好处: 扩展性强,实现该接口的同时还可以继承其他的类缺点: 编程相对复杂,不能直接使用Thread类中的方法继承Thread类好处: 编程比较简单,可以直接使用Thread类中的方法缺点: 可以扩展性较差,不能再继承其他的类概述:生产者消费者模式是一个十分经典的多线程协作的模式所谓生产者消费者问题,实际上主要是包含了两类线程:一类是生产者线程用于生产数据一类是消费者线程用于消费数据线程池是一种提高多线程处理效率的技术,原创 2024-05-02 00:00:00 · 1141 阅读 · 0 评论 -
【JAVA基础之IO】字节流、字符流以及乱码问题
生活中,你肯定经历过这样的场景。当你编辑一个文本文件,忘记了ctrl+s,可能文件就白白编辑了。当你电脑上插入一个U盘,可以把一个视频,拷贝到你的电脑硬盘里。那么数据都是在哪些设备上的呢?键盘、内存、硬盘、外接设备等等。我们把这种数据的传输,可以看做是一种数据的流动,按照流动的方向,以内存为基准,分为输入input和输出output,即流向内存是输入流,流出内存的输出流。原创 2024-04-24 22:54:05 · 1478 阅读 · 0 评论 -
【JAVA基础之File】文件以及目录的操作方法
类是文件和目录路径名的抽象表示,主要用于文件和目录的创建、查找和删除等操作。File对象表示路径,可以是文件,也可以是文件夹。这个路径可以是存在的也可以是不存在的。原创 2024-04-23 21:50:51 · 1117 阅读 · 0 评论 -
Lambda表达式
Lambda表达式是Java中的一种函数式编程特性,它允许我们以更简洁的方式定义匿名函数。旨在简化代码,使得使用函数式编程风格更加方便。原创 2024-04-21 01:00:00 · 840 阅读 · 1 评论 -
【JAVA基础之泛型】泛型详解版
Java泛型是一种在Java编程语言中用来创建泛型类、接口和方法的机制。泛型提供了在编译时期。进行类型检查和类型安全的方法,使得程序员可以在编写代码时指定类、接口或方法可以操作的数。泛型方法一定有定义泛型,然后在参数列表使用泛型。下面代码将包括泛型类,泛型方法,泛型接口进行说明。使用泛型方法是通过拿类或者接口所定义的泛型来使用。据类型,而不必在实际使用时再指定类型。这里需要注意的是,很多人分不清。泛型接口和泛型类定义基本一致。泛型方法和使用泛型方法。原创 2024-04-20 19:26:34 · 884 阅读 · 0 评论 -
【JAVA基础之集合遍历】Map、List、Set的遍历方式
这篇文章让你彻底理解集合的遍历方式,以及实现的方法!!!!!,因为我觉得,编程这东西,如果没经常涉及到这方面的知识,大概率过几天就会忘记!!!【mysql之基础篇】mysql基本操作详解版-CSDN博客外键(Foreign Key)是关系数据库中的一个重要概念,用于建立表与表之间的关联关系。在关系数据库中,数据通常分布在多个表中,外键定义了一个表中的列(或多列)与另一个表中的列之间的关系。原创 2024-03-31 13:33:17 · 1322 阅读 · 1 评论 -
【AOP技术之穿透版】AOP详解
AOP英文全称:Aspect Oriented Programming(面向切面编程、面向方面编程),其实说白了,面向切面编程就是面向特定方法编程。Spring的AOP底层是基于动态代理技术来实现的,也就是说在程序运行的时候,会自动的基于动态代理技术为目标对象生成一个对应的代理对象。在代理对象当中就会对目标对象当中的原始方法进行功能的增强,动态代理可以用来在方法执行前后插入代码,从而实现日志记录、性能监视、事务管理等功能,而不需要修改原始类的代码。①.execution切入点表达式。原创 2024-03-28 14:13:00 · 1053 阅读 · 0 评论 -
【与众不同】详细讲解过滤器和拦截器
Filter表示过滤器,是 JavaWeb三大组件(Servlet、Filter、Listener)之一。Listener是一种特殊的组件,用于监听和响应 Servlet 容器中的事件。过滤器可以把对资源的请求拦截下来,从而实现一些特殊的功能使用了过滤器之后,要想访问web服务器上的资源,必须先经过滤器,过滤器处理完毕之后,才可以访问对应的资源。过滤器一般完成一些通用的操作,比如:登录校验、统一编码处理、敏感字符处理等。是一种动态拦截方法调用的机制,类似于过滤器。原创 2024-03-27 12:39:57 · 1490 阅读 · 0 评论 -
详细讲解Cookie、Session、JWT令牌技术
这篇文章将带你彻底理解会话跟踪方案的三种技术,分别是Cookie、Session、令牌技术,揭示它们的原理以及对各个技术进行通俗化,让你更好的了解,它们的交互过程 ! ! !原创 2024-03-26 16:50:11 · 1050 阅读 · 0 评论 -
mybatis的认识和用法
MyBatis是一款优秀的 持久层 框架,用于简化JDBC的开发。MyBatis本是 Apache的一个开源项目iBatis,2010年这个项目由apache迁移到了google code,并且改名为MyBatis。2013年11月迁移到Github。Mybatis框架让程序员更关注于SQL语句,动态sql用法持久层和框架这两个词,就是Mybatis特点持久层:指的是就是数据访问层(dao),是用来操作数据库的。框架:是一个半成品软件,是一套可重用的、通用的、软件基础代码模型。原创 2024-03-25 18:04:42 · 1128 阅读 · 0 评论 -
【request,response】全面认识Servlet
再讲简单点就是Servlet是java提供的一门动态web资源开发技术,就是通过后端的逻辑判断,可以根据不同请求,动态响应不同数据在页面上相当于前端html,css等静态web资源开发技术。原创 2024-03-24 15:46:04 · 880 阅读 · 0 评论