java
文章平均质量分 85
five-five
学习吧
展开
-
业务流程组件之Activity的说明与使用
Activity流程引擎是一种用于管理和执行业务流程的软件。它可以帮助企业自动化业务流程,提高工作效率和降低人为错误。原创 2024-04-16 10:14:47 · 393 阅读 · 0 评论 -
Spring事务核心接口:PlatformTransactionManager
PlatformTransactionManager是Spring框架中事务管理的核心接口,它负责管理事务的创建、提交和回滚等操作。在Spring中,事务管理是通过PlatformTransactionManager和TransactionManager接口来实现的。PlatformTransactionManager是一个更高级的接口,它封装了TransactionManager接口,提供了更丰富的事务管理功能。原创 2024-03-25 22:28:27 · 909 阅读 · 0 评论 -
Spring事务核心:声明式事务&注解式事务
在Spring中,事务管理是一个非常重要的特性,它可以帮助开发者在应用程序中实现事务控制。Spring提供了两种事务管理方式:声明式事务和注解事务。原创 2024-03-25 22:27:57 · 922 阅读 · 0 评论 -
Spring核心接口:HandlerMethodArgumentResolver参数解析器
在Spring中,参数解析器是一个接口,它负责将HTTP请求中的参数解析为控制器方法的参数。Spring提供了许多内置的参数解析器,用于处理不同类型的请求参数,例如查询参数、路径变量、请求头、请求体等。开发人员还可以自定义参数解析器,以处理特定的请求参数。除了Spring提供的内置参数解析器外,开发人员还可以自定义参数解析器,以处理特定的请求参数。自定义参数解析器需要实现HandlerMethodArgumentResolver接口,并在配置类中将其添加到WebMvcConfigurer中。原创 2024-03-25 22:26:02 · 890 阅读 · 0 评论 -
Spring核心接口:ObjectProvider接口
它可以用于在需要延迟获取 bean 或在需要对 bean 进行多次访问时,减少 bean 的创建次数和提高应用程序性能。ObjectProvider 和隐式注入可以结合使用,以实现对 bean 的延迟访问和自动注入。例如,可以在一个 bean 中注入 ObjectProvider,然后在需要使用 AnotherBean 时,调用 ObjectProvider 的。在使用隐式注入时,Spring 会自动寻找与要注入的 bean 类型匹配的 bean,并将其注入到需要使用的地方。原创 2024-03-13 22:42:09 · 458 阅读 · 0 评论 -
Spring核心接口:BeanFactory接口
编号接口/实现类名称描述1BeanFactory (接口)Spring IoC 容器的基础接口,提供了最基本的依赖注入功能2ListableBeanFactory (接口)BeanFactory 的子接口,提供了查找 Bean 定义和 Bean 实例的功能3HierarchicalBeanFactory (接口)BeanFactory 的子接口,提供了层次化 Bean 工厂的功能4ConfigurableBeanFactory (接口)原创 2024-03-13 22:41:30 · 881 阅读 · 0 评论 -
Spring神器:SpEl表达式
Spring Expression Language (SpEL) 是Spring框架提供的一种强大的表达式语言,它允许开发人员在运行时动态地计算表达式,并访问和操作对象图。SpEL是一种基于表达式的语言,它支持各种操作符、函数和变量,可以用来执行各种复杂的计算和数据操作。SpEL的语法类似于Java表达式语言,但它更加强大和灵活。SpEL表达式可以用在Spring配置文件中,也可以用在代码中。在Spring配置文件中,SpEL表达式可以用来设置Bean的属性值,或者用来执行一些条件判断和循环操作。原创 2024-03-13 22:39:38 · 381 阅读 · 0 评论 -
Spring核心接口:InstanceStrategy接口
CGLIB实例化策略是Spring中用来控制CGLIB创建代理对象的策略。在Spring中,CGLIB通过一个名为Enhancer的类来创建代理对象。Enhancer会为被代理类创建子类,并在子类中插入一些拦截器逻辑。CGLIB创建代理对象的过程是通过一个名为的接口来控制的。和。原创 2024-03-13 22:39:01 · 375 阅读 · 0 评论 -
Spring具体拓展点:后置处理器
除了使用Spring提供的内置后置处理器,我们还可以通过实现或接口来创建自定义后置处理器。@Component@Override// 在这里编写自定义逻辑,例如修改bean的定义或注册新的bean@Component@Override// 在这里编写自定义逻辑,例如在bean初始化之前进行验证或修改属性@Override// 在这里编写自定义逻辑,例如在bean初始化之后执行额外的设置或处理。原创 2024-03-13 22:38:04 · 896 阅读 · 0 评论 -
深入理解Spring的ApplicationContext:案例详解与应用
如果说是Spring的心脏,那么就是完整的身躯了。由派生而来,提供了更多面向实际应用的功能,是“应用的容器”。通过本文的学习,您应该对有了更深入的理解。它不仅是Spring框架的核心组件,也是您在构建企业级应用程序时的得力助手。希望本文能够帮助您在实际开发中更好地利用,构建出更加健壮和可维护的应用程序。原创 2024-03-13 22:27:03 · 400 阅读 · 0 评论 -
Spring神器:时间多播器ApplicationEventMulticaster
Spring的时间多播器(ApplicationEventMulticaster)是Spring事件机制的核心组件之一。它负责将Spring应用程序中发布的事件分发给感兴趣的监听器。在Spring中,事件机制是一种发布-订阅模式的实现。事件发布者将事件发布到ApplicationEventMulticaster中,然后ApplicationEventMulticaster将事件分发给所有注册的事件监听器。这种机制使得Spring应用程序中的组件可以更好地解耦,并且可以更灵活地响应事件。原创 2024-03-12 21:24:17 · 978 阅读 · 0 评论 -
Spring神器:Environment环境配置
在Spring框架中,Environment是一个很重要的组件,它提供了对当前应用程序运行环境的抽象。Environment是Spring中的一个接口,它代表了应用程序运行时的环境,包括应用程序的配置信息、系统属性、环境变量、JVM属性等。Environment接口提供了许多方法,用于获取不同类型的属性值。原创 2024-03-12 21:23:45 · 468 阅读 · 0 评论 -
Spring神器:SpEl表达式
Spring Expression Language (SpEL) 是Spring框架提供的一种强大的表达式语言,它允许开发人员在运行时动态地计算表达式,并访问和操作对象图。SpEL是一种基于表达式的语言,它支持各种操作符、函数和变量,可以用来执行各种复杂的计算和数据操作。SpEL的语法类似于Java表达式语言,但它更加强大和灵活。SpEL表达式可以用在Spring配置文件中,也可以用在代码中。在Spring配置文件中,SpEL表达式可以用来设置Bean的属性值,或者用来执行一些条件判断和循环操作。原创 2024-03-12 21:23:04 · 821 阅读 · 0 评论 -
邮箱转发工具类
以下是完整的Java代码,其中包含了两个静态方法,分别用于发送纯文本邮件和包含HTML内容的邮件。两个方法的参数列表基本相同,分别为:from:发送方邮箱地址,可以是一个字符串数组,用于支持多发件人。to:接收方邮箱地址,可以是一个字符串数组,用于支持多收件人。subject:邮件标题,字符串类型。content:邮件内容,字符串类型,可以是纯文本或HTML。host:SMTP服务器主机名,字符串类型,。port:SMTP服务器端口号,整型,一般为465或587。原创 2023-04-12 21:57:49 · 827 阅读 · 1 评论 -
阿里云视频点播服务Vod工具类——实现视频上传、删除、播放
需要注意的是,你需要将ACCESS_KEY_ID、ACCESS_KEY_SECRET替换成你自己的阿里云账号的AccessKey信息,将REGION_ID替换成你自己的VOD服务所在的区域。同时,视频文件的路径需要根据你自己的实际情况来修改。如果报错或者是下载不下来,这里需要你把maven的镜像调成aliyun的才行。原创 2023-04-05 21:08:47 · 560 阅读 · 0 评论 -
UML六种箭头代表含义
UML六种箭头代表含义1. 泛化1.1. **概念:**1.2. **表示方法:**用实线空心三角箭头表示。2. 实现2.1. **概念:**2.2. **表示方法:**空心三角形箭头的虚线,实现类指向接口3. 依赖3.1. **概念:**3.2. 表示方法:虚线箭头,类A指向类B。4. 关联4.1. **概念:**4.2. **表示方法:**实线箭头,类A指向类B5. 聚合5.1. **概念:**5.2. **表示方法:**尾部为空心菱形的实线箭头(也可以没箭头),类A指向类B6. 组合6.1. **概念原创 2022-04-12 21:54:04 · 1218 阅读 · 0 评论 -
Quartz学习之Cron表达式详解
一、cron表达式结构cron表达式从左到右(用空格隔开):**秒 分 小时 月份中的日期 月份 星期中的日期 年份**二、各字段的含义字段允许值允许的特殊字符秒(Seconds)0~59的整数, - * /分(Minutes)0~59的整数, - * /小时(Hours)0~23的整数, - * /日期(DayofMonth)1~31的整数(但是你需要考虑你月的天数), - * ? / L W C月份(Month)1~12原创 2021-07-15 09:09:52 · 697 阅读 · 0 评论 -
Tomcat安全以及Tomcat调优
Tomcat安全以及Tomcat调优配置安全应用安全传输安全HTTPS介绍Tomcat支持HTTPS配置安全删除webapps目录下的所有文件,禁用tomcat管理界面;注释或删除**tomcat-users.xml**文件内的所有用户权限;更改关闭tomcat指令或禁用;tomcat的server.xml中定义了可以直接关闭 Tomcat 实例的管理端口(默认8005)。可以通过 telnet 连接上该端口之后,输入 SHUTDOWN (此为默认关闭指令)即可关闭Tomcat 实原创 2021-06-03 21:02:15 · 133 阅读 · 2 评论 -
Tomcat+Nginx集群配置(负载均衡)
Tomcat+Nginx集群配置-负载均衡简介环境准备准备Tomcat安装配置Nginx负载均衡策略轮询参数说明weight权重IP_HASHSession共享方案Session同步的配置如下:SSO单点登录简介由于单台Tomcat的承载能力是有限的,当我们的业务系统用户量比较大,请求压力比较大时,单台Tomcat是扛不住的,这个时候,就需要搭建Tomcat的集群,而目前比较流程的做法就是通过Nginx来实现Tomcat集群的负载均衡。环境准备准备Tomcat在服务器上, 安装两台tomcat,原创 2021-06-03 21:00:25 · 420 阅读 · 2 评论 -
Tomcat源码阅读之Jasper(JSP解释器)详解
Jasper JSP解释器 详解 JSP编译方式运行时编译编译过程JspServlet 处理流程图:编译结果预编译(Apache Ant)JSP编译原理代码分析本文构建好的Tomcat(含注释)gitee地址:点击主要核心一定要是自己去debug源码对于基于JSP 的web应用来说,我们可以直接在JSP页面中编写 Java代码,添加第三方的标签库,以及使用EL表达式。但是无论经过何种形式的处理,最终输出到客户端的都是标准的HTML页面(包含js ,css…),并不包含任何的java相关的语法。 也原创 2021-05-30 16:48:26 · 689 阅读 · 0 评论 -
Tomcat源码阅读之Tomcat容器、连接器、Tomcat启动流程以及Tomcat请求如何找到对应的Servlet
Http工作原理Http工作原理Http工作原理Tomcat整体架构Http服务器请求处理Servlet容器工作流程Tomcat整体架构流程说明连接器 - `**Coyote**`架构介绍IO模型和协议IO模型Tomcat 支持的应用层协议协议分层连接器组件EndPoint:Processor:ProtocolHandler:Adapter:容器 - `**Catalina**`Catalina 地位Catalina结构Catalina 各个组件的职责:Container结构各个组件的含义 :Tomcat原创 2021-05-30 16:48:11 · 560 阅读 · 1 评论 -
Tomcat文件目录详解
Tomcat文件目录1.bin:2.conf:3.lib:4.logs:5.temp:6.webapps:7.work:本文构建好的Tomcat(含注释)gitee地址:点击打开tomcat的解压之后的目录可以看到如下的目录结构:1.bin:**bin目录主要是用来存放tomcat的命令,**主要有两大类,一类是以.sh结尾的(linux命令),另一类是以.bat结尾的(windows命令)。很多环境变量的设置都在此处,例如可以设置JDK路径、tomcat路径**startup 用来启转载 2021-05-30 16:47:53 · 5572 阅读 · 0 评论 -
Tomcat源码阅读之使用IDEA构建Tomcat源码,以及Tomcat文件目录结构说明
Tomcat基础web概念常见的web应用服务器概念常见的web服务器软件Tomcat历史Tomcat安装Tomcat目录结构说明Tomcat启动停止启动停止访问Tomcat源码源码下载运行web概念本文构建好的Tomcat(含注释)gitee地址:点击软件架构C/S: 客户端/服务器端 ‐‐‐‐‐‐‐‐‐‐‐‐> QQ , 360 …B/S: 浏览器/服务器端 ‐‐‐‐‐‐‐‐‐‐‐‐> 京东, 网易 , 淘宝 , CSDN,博客园资源分类静态资源:原创 2021-05-30 16:47:26 · 268 阅读 · 1 评论 -
java常见的一些概念,应付考试(下篇)
java中多态是指什么java中多态性的意思是作为面向对象的程序设计语言最核心的特征,表示一个对象有着多重特征,可以在特定的情况下表现出不同的状态,从而对应着不同的属性和方法。1、就java而言,多态性就是允许将父对象设置成为一个或更多与自身子对象相等的技术,赋值之后父对象就可以根据当前赋值给自身子对象的特性以不同的方式运作。2、据了解,java中多态性可以把不同的子类对象都当作父类来看,从而屏蔽不同子类对象之间的差异,写出通用的代码,做出通用的编程,以适应需求的不断变化。Anonymous Inn原创 2021-05-19 09:50:23 · 176 阅读 · 0 评论 -
java常见的一些概念,应付考试(中篇)
下篇类和对象的关系?类定义了一种新的数据类型,可以用新类型来创建该类型的对象。类( class )是对象( object )的模板,而对象是类的一个实例。定义一个类需要包含什么元素?一个类包含属性和方法。 该类具有哪些特征使用属性表示, 该类具有哪些行为使用方法来表示。如何使用 this 关键字?this 指向自己的引用,即当前方法所在的对象。它的一个主要作用是要将自己这个对象当做参数,传送给别的对象中的方法 或者在类定义时使用 this 来引用自己的属性或方法。类体中的方法包含原创 2021-05-06 20:17:15 · 537 阅读 · 2 评论 -
java常见的一些概念,应付考试(上篇)
上篇1.给方法传递数组参数与传递基本数据类型变量的值有何不同?答:对于基本数据类型参数,传递的是实参的值;对于数组类型的参数,参数值是数组的引用,给方法传递的是这个引用。2.简述线程的基本概念、线程的基本状态。答:在一个进程中的多个线程之间,可以并发执行,甚至允许在一个进程中所有线程都能并发执行;同样,不同进程中的线程也能并发执行。3.启动一个线程是用 run() 还是 start()? 为什么 ?答:启动一个线程用 start()方法,使线程所代表的虚拟处理机处于可运行的状态,这意味着它可以有原创 2021-05-06 20:16:40 · 336 阅读 · 0 评论 -
Java基础之进制转换和位运算
进制转换什么是进制进制也就是进位计数制,是人为定义的带进位的计数方法(有不带进位的计数方法,比如原始的结绳计数法,唱票时常用的“正”字计数法,以及类似的tally mark计数)。 对于任何一种进制—X进制,就表示每一位置上的数运算时都是逢X进一位。 十进制是逢十进一,十六进制是逢十六进一,二进制就是逢二进一,以此类推,x进制就是逢x进位。Java针对整数变量提供了4种表现形式二进制八进制十进制十六进制为什么会有二进制、八进制、十六进制有二进制的原因是因为计算机最底层的原创 2021-04-16 14:48:35 · 641 阅读 · 0 评论 -
使用MAVEN+Druid集成SwaggerUI搭建一个简单的SpringBoot项目
使用Spring Initializr开始搭建注意红框标识出来这几栏一定要选择自己对应的环境说明:Group:项目组名(可以乱写)Artifact:项目名java version:java的版本Package:生成的包目录结构之后点击next这里按照自己的需求进行选择(这里是选择starter场景启动器,也就是你选了啥,你的pom文件就会有生成对应依赖配置),之后点击next之后他会生成如下图所示这些目录编写配置这里不对springboot的配置文件做详细说原创 2021-04-12 20:25:44 · 412 阅读 · 0 评论 -
使用MAVEN从零开始搭建一个SSM+Druid脚手架
环境要求JDK1.8及以上,MAVEN环境3.6,Tomcat8.5,IDEA202.1。(本文直接跳过如何创建一个MAVEN项目巴拉巴拉的)配置文件目录介绍在IDEA中所有的静态资源都必须在resources/文件夹下方,IDEA才会把这些静态资源编译进来。/resources/mapper/*是我用来放Mybatis的Mapper.xml文件的/resources/webapp/*web相关资源存放目录/resources/mybatis/*mybatis全局配置文件存放原创 2021-04-09 10:03:15 · 110 阅读 · 0 评论 -
设计模式大图
原创 2020-10-11 14:18:00 · 223 阅读 · 1 评论 -
Linux的CentOS7安装JDK1.8
引文首先我的个人习惯是所有压缩包都统一丢在/opt/soft这个目录下的。如果没有这个目录就需要自己创建一下,输入一下命令-- 自行百度创建文件夹命令也行mkdir /opt/soft所有安装文件都是安装在/usr/local这个目录下下载JDK首先下载jdk-8u131-linux-x64.tar.gz(在这里我是使用的这个版本)下载地址:官网:https://www.oracle.com/downloads/#category-java网盘下载:https://quqi.原创 2021-03-24 19:35:51 · 106 阅读 · 2 评论 -
SpringBoot集成Eureka中心
首先避免版本冲突的问题,我们引入依赖是需要参照官网给的版本对照表Release TrainBoot Version2020.0.x aka Ilford2.4.xHoxton2.2.x, 2.3.x (Starting with SR5)Greenwich2.1.xFinchley2.0.xEdgware1.5.xDalston1.5.x配置Eureka注册中心pom依赖<?xml version="1.0" encoding=原创 2021-02-25 18:50:59 · 259 阅读 · 0 评论 -
读取Excel,并使用自动义注解加反射直接把读取的数据封装为java对象
需求:将Excel表中的数据直接转换为java的对象(转成Person)对象)excel数据如下:代码实现:POJO类如下:import java.util.Date;/** * @作者 five-five * @创建时间 2021/2/17 */public class Person { @CellKV(key = "编号") private String id; @CellKV(key = "姓名") private String name;原创 2021-02-18 00:24:10 · 572 阅读 · 3 评论 -
JDK1.8的Stream流的使用(提高对集合操作的便利性)
Stream流基本介绍(摘抄菜鸟教程)Java 8 API添加了一个新的抽象称为流Stream,可以让你以一种声明的方式处理数据。Stream 使用一种类似用 SQL 语句从数据库查询数据的直观方式来提供一种对 Java 集合运算和表达的高阶抽象。Stream API可以极大提高Java程序员的生产力,让程序员写出高效率、干净、简洁的代码。这种风格将要处理的元素集合看作一种流, 流在管道中传输, 并且可以在管道的节点上进行处理, 比如筛选, 排序,聚合等。元素流在管道中经过中间操作(interme原创 2021-02-16 22:56:44 · 651 阅读 · 2 评论 -
Arraylist扩容机制理解
ArrayListArrayList底层内存结构ArrayList的扩容机制深、浅拷贝一些关键概念标记接口:解析到标记接口,做一些处理RandomAccess:表明该类支持随机访问(下标访问,就是告诉别人你底层用的是数组)Cloneable:表明该类支持克隆(深拷贝,浅拷贝) /* JDK1.7字符串常量池是在堆(常量池)中的 JDK1.8做了优化,出现一个新概念:元空间(又叫非堆),元空间并不在虚拟机中,而是使用本地内存(可调节)原创 2021-02-10 11:03:41 · 848 阅读 · 5 评论 -
HTTP协议详解以及URL具体访问过程
OSI七层模型应用层:为应用程序提供服务【HTTP、FTP、DNS】表示层:数据格式转换、数据加密【Telnet】会话层:建立、管理和维会话【SMTP】传输层:建立、管理和维护端到端的连接(服务端到客户端)【UDP、TCP】网络层:IP地址及路由选择【IP、RARP】数据链路层:提供介质访问和链路管理物理层:物理层(wife,网络)HTTP协议Http协议是什么即超文本传输协议(HTTP,HyperText Transfer Protocol)是互联网上应原创 2021-02-10 10:59:30 · 1016 阅读 · 0 评论 -
http 请求头的Cookie中的 JSESSIONID 是什么
Http协议首先Http协议是无状态的连接方式,即客户端访问服务端,服务端是不会记录客户端访问服务端的状态的。HTTP无状态协议,是指协议对于事务处理没有记忆能力。缺少状态意味着如果后续处理需要前面的信息,则它必须重传,这样可能导致每次连接传送的数据量增大。另一方面,在服务器不需要先前信息时它的应答就较快。客户端与服务器进行动态交互的Web应用程序出现之后,HTTP无状态的特性严重阻碍了这些应用程序的实现,毕竟交互是需要承前启后的,简单的购物车程序也要知道用户到底在之前选择了什么商品。于是,两种用于保持原创 2021-02-10 10:57:35 · 2322 阅读 · 1 评论 -
TCP报文格式说明
首先理解一个概念(TCP/UDP)都是为了建立连接,只有建立连接,之后才有http或者rpc什么什么的事TCP首部(报文)段概念图报文概念解释(1b=8位):端口号:用来标识同一台计算机的不同应用进程源端口(2个字节):源端口和IP地址的作用是标识报文的返回地址目的端口(2个字节)端口指明接收方计算机上的应用程序接口TCP报头中的源端口号和目的端口号同IP数据报中的源IP与目的IP唯一确定一条TCP连接序号(4个字节):TCP 是面向字节流的,在一个 TCP 连接中传输的字节流中的每原创 2021-02-10 10:56:24 · 5713 阅读 · 0 评论 -
类加载以及对象实例化过程详解
本文旨在加深对类加载以及对象实例化的理解类加载过程**加/装载(loading):**将类的class文件写入到内存中,并且创建对应的java.lang.Class对象(就算有再多对象实例,该java.lang.Class对象也只有一个,且类的加载由类加载器完成)**链接(Linking):**将类的二进制数据合并到JRE中**验证(verification):**验证阶段用于检验被加载的类是否有正确的内部结构,并和其他类协调一致(类似于检查你写的这个类符不符合jdk的规范)文件格原创 2021-02-10 10:53:27 · 657 阅读 · 0 评论 -
springMVC处理请求全过程(参数解析以及返回值处理)
SpringMVC全过程略写图用户发送请求,经过前端控制器Dispacherservlet(Controller的核心)将url交给处理器映射器HandlerMapping处理处理器映射器HandlerMapping处理url,返回HandlerExecutionChain(可能包含拦截器,一定包含自定义的Controller(handler))前端控制器将Controller交给处理器适配器HandlerAdapter处理,处理完成后,返回MV对象(ModelAndView)前端原创 2021-02-07 11:20:44 · 1674 阅读 · 0 评论