自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(31)
  • 收藏
  • 关注

原创 线程和进程和synchronized

进程(Process)是系统进行资源分配和调度的一个独立单位,是程序的一次执行过程,具有自己的地址空间和文件描述符等资源。但是,进程是独立的执行单元,具有自己的调度算法,在并发条件下更加稳定可靠。线程(Thread)是进程的一个执行单元,是CPU调度和分派的基本单位。线程共享进程的地址空间和资源,因此创建和销毁线程的开销较小。但是,线程之间的调度和同步比较复杂,对并发条件的处理需要更多的注意。保护的代码块或方法时,它们会被序列化,即一个接一个地执行,以确保在同一时刻只有一个线程能够执行那段代码。

2024-05-26 23:12:03 219

原创 springboot中线程池的使用

通过添加Actuator的依赖并启用相关端点,你可以查看线程池的实时状态,如当前线程数、活动线程数、任务队列大小等。线程池就是将多个线程对象放入一个池子里面,例如一个池塘,线程池就是这个池塘,池塘里面的鱼就是线程池中的多个线程对象。(2)ThreadPoolExecutor.CallerRunsPolicy:该任务被线程池拒绝,由调用 execute方法的线程执行该任务。中的方法是通过接口定义的,并且你正在使用基于接口的代理(这是Spring AOP的默认行为),那么只有通过代理调用这些方法时,

2024-05-25 11:25:46 354

原创 switch case 的用法

swich case是许多编程语言(如 C, C++, Java, C#, JavaScript, PHP等)中用于基于一个表达式的值来执行不同代码块的语句。swich case只适用于一些条件比较固定的场景,例如:星座、月份、礼拜、生肖...,其他情况一律用。包装数据类型:Byte, Short, Character, Integer。基本数据类型:byte, short, char, int。字符串类型:String(Jdk 7+ 开始支持)

2024-05-19 14:16:42 473

原创 JWT的学习

签名部分是对前两部分(头部和负载)的编码后的数据进行签名,以确保数据在传输过程中没有被篡改。如果使用的是HMAC算法,签名是通过将Base64Url编码后的头部和负载,用一个密钥进行HMAC SHA256运算,最后产生的签名也被Base64Url编码。如果使用的是RSA或ECDSA,签名是通过私钥对头部和负载的编码后的数据进行的。JWT全称是JSON Web Token(JSON Web令牌),JWT是一个开放标准(RFC 7519),它提供了一种在各方之间安全地传输信息的方式。

2024-05-17 18:32:12 344

原创 关于数据结构B+TREE 和 HASH的整理

B+Tree是一种树数据结构,是B-Tree的变种,属于n叉排序树,每个节点通常有多个孩子。B+Tree是和B-Tree相比,B+Tree的所有的数据都会出现在叶子节点上,并且叶子节点会形成一个单向链表,非叶子节点仅仅起到索引数据作用,具体的数据都是在叶子节点存放的。在MySQL的索引中,对原本的B+Tree进行了优化,MySQL给每个叶子节点加了一个指针,这个指针会指向它的下一个邻居叶子节点。然后,所有的叶子节点就通过这些指针连成了一个大圈圈,变成一个双向的循环链表。

2024-05-15 20:28:11 213

原创 关于索引的整理

这种方法非常快捷,但缺点是,如果两个人的号码(哈希值)相同,你就需要再仔细看一下,确保找到的是你要找的那个人(解决哈希冲突)。组合索引能够提高多列查询的性能,单列索引在多列查询就不是很适用了,而且组合索引支持对多个列进行过滤条件,从而提高数据检索速度。现在,你想找某个朋友的联系方式,你只需要查看电话本前面的索引(哈希函数),找到这个朋友对应的号码(哈希值)。就和在《新华字典》中的按拼音或者按笔画查字是一样的,通过缩小查询的范围,用最短的时间搜索到满足条件的记录。唯一索引就是索引列只能是唯一的不可以重复的。

2024-05-15 20:14:29 411

原创 jBPM的介绍

jBPM(Java Business Process Management)是一个开源的业务流程管理框架,用于管理和执行业务流程。它提供了一个可视化的流程设计器,可以创建、模拟和部署业务流程,并提供了灵活的流程执行引擎。jBPM可以帮助开发人员和业务分析师更好地管理和优化业务流程。它提供了以下功能和作用:流程建模:jBPM提供了一个可视化的流程设计器,使开发人员和业务分析师能够创建和修改业务流程。

2024-04-21 23:32:19 2082

原创 Flowable 基本用法

Flowable 是一个用 Java 编写的轻量级业务流程引擎。Flowable 流程引擎允许您部署 BPMN 2.0 流程定义(用于定义流程的行业 XML 标准)、创建这些流程定义的流程实例、运行查询、访问活动或历史流程实例和相关数据Flowable 在将其添加到应用程序、服务、体系结构时非常灵活。您可以将引擎嵌入到您的应用程序或服务中,方法是包含 Flowable 库,该库作为 JAR 提供。因为它是一个 JAR,所以可以很容易地将它添加到任何 Java 环境中:javase;

2024-04-21 23:15:46 1934

原创 Mysql的用户创建、授权(只读)等用户权限体系

MySQL的用户创建、授权以及权限管理体系是其核心功能之一。

2024-04-18 10:18:36 570

原创 注解(整理)

是一个组合注解,由@ControllerAdvice、@ResponseBody组成,而@ControllerAdvice继承了@Component,因此@RestControllerAdvice本质上是个Component,用于定义@ExceptionHandler,@InitBinder和@ModelAttribute方法,适用于所有使用@RequestMapping方法。方法的名称就是参数的名称,返回值类型就是参数的类型(返回值类型只能是基本类型、Class、String、enum)。

2024-04-10 21:43:32 908

原创 见过的注解

是一个组合注解,由@ControllerAdvice、@ResponseBody组成,而@ControllerAdvice继承了@Component,因此@RestControllerAdvice本质上是个Component,用于定义@ExceptionHandler,@InitBinder和@ModelAttribute方法,适用于所有使用@RequestMapping方法。在定义注解时,不能继承其他的注解或接口。@Result是MyBatis中的注解之一,用于标记单个属性与结果集中的列之间的映射关系。

2024-04-09 22:11:08 503

原创 什么是数据标注?

数据标注是对未经处理的语音、图片、文本、视频等数据进行加工处理, 并转换为机器可识别信息的过程。原始数据一般通过数据采集获得, 随后的数据标注相当于对数据进行加工, 然后输送到人工智能算法和模型里完成调用。

2024-03-17 22:55:30 462 1

原创 数据可视化

数据可视化指的是数据的任何可视化表示,是一个广义的术语。它包括图表、图形或仪表板等格式。数据可视化的目标是让所有相关人员能够轻松地将数据分析过程中发现的关系、趋势和模式等见解传达给他人,使得数据更容易被理解。记录、观测、跟踪数据分析数据辅助理解数据分析推理增强数据吸引力。

2024-03-17 22:41:25 451 1

原创 数据库连接池

Druid提供了MySql、Oracle、Postgresql、SQL-92的SQL的完整支持,这是一个手写的高性能SQL Parser,支持Visitor模式,使得分析SQL的抽象语法树很方便。阿里出品,淘宝和支付宝专用数据库连接池,但它不仅仅是一个数据库连接池,它还包含一个ProxyDriver,一系列内置的JDBC组件库,一个 SQL Parser。支持所有JDBC兼容的数据库,包括Oracle、MySql、Derby、Postgresql、SQL Server、H2等等。

2024-03-11 21:30:01 282 1

转载 Redis-学习笔记

Redis(Remote Dictionary Server ),即远程字典服务,是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。有序集合,在 set 的基础上给每个元素多存了⼀个分数,类似于 value 类型为整型的 HashMap。2. 单线程,每个命令的执⾏具备原⼦性,中途不会执⾏其他命令(指命令处理始终是单线程的,⾃ 6.x 起改为多。1、内存存储、持久化,内存中的数据是断电即失的,所以持久化很重要(RDB、AOF)

2024-03-11 17:49:49 39 1

原创 Spring AOP

Spring的核心是控制反转(IoC)和面向切面(AOP)。AOP (Aspect Orient Programming),直译过来就是 面向切面编程,AOP 是一种编程思想,是面向对象编程(OOP)的一种补充。AOP可以拦截指定的方法并且对方法增强,而且无需侵入到业务代码中,使业务与非业务处理逻辑分离,比如Spring的事务,通过事务的注解配置,Spring会自动在业务方法中开启、提交业务,并且在业务处理失败时,执行相应的回滚策略。连接点(Joinpoint) 程序执行的某个特定位置,如某个方法调用前,调

2024-03-11 17:03:25 628 1

原创 2024.1.10 Servlet上传下载文件

如果上传文件后上传的文件名出现乱码的问题,可以看一看tomcat的VM options是否和idea的编码一致,可以在VM options 内输入。这样就可以下载各种类型的文件,但是像txt这样的还是下载不了,这就需要考虑汉字问题,对文件使用URL编码。上传效果: 用户点击选择文件按钮选择文件,然后点击上传,即可上传到本地的服务器(文件夹)。在下载的时候,出现了下载文件的类型不同导致下载不了的问题,可以使用。下载效果: 用户点击页面中下载的链接,浏览器开始下载文件。完成文件的上传和下载功能。

2024-01-10 20:43:49 364

原创 2024.1.9笔记

根据 HTTP 标准,HTTP 请求可以使用多种请求方法。在HTTP1.0 定义了三种请求方法: GET, POST 和 HEAD。然后在HTTP1.1 新增了六种请求方法:OPTIONS、PUT、PATCH、DELETE、TRACE 和 CONNECT。(1) GET():就是发送一个请求来取得服务器上的某一资源。资源通过一组HTTP头和呈现数据(如HTML文本,或者图片或者视频等)返回给客户端。GET请求中,永远不会包含呈现数据。

2024-01-10 00:31:07 865

原创 2024.1.8学习笔记

引用传递(pass by reference):在调用函数时,将实际参数的地址直接传递到函数中。这样在函数中对参数进行的修改,就会影响到实际参数;值传递(pass by value):在调用函数时,将实际参数复制一份传递到函数中,这样在函数中对参数进行修改,就不会影响到原来的实际参数;我的理解这传递就是定义的实际参数在调用结束后不会变,引用就是在调用函数后,定义的实际参数会在调用后改变。所以这个用例就是测试1+1是不是等于2.如果相等,那么测试的就是对的,如果错的,就会报错。方法用于断言两个值是否相关。

2024-01-08 20:52:41 353

原创 12.27笔记

有@Retention和@Target这两个注解就不得不想到@interface,定义注解需使用 @interface关键词 ,并在接口上注明@Rentention(...) 或@Target(...) ,注解@interface不是接口是注解类,在使用@interface自定义注解时,会自动继承了java.lang.annotation.Annotation接口。1) 元注解,是用于定义注解的注解,,通常用于注解的定义上,标明该注解的使用范围、生效范围等。元注解是最基本不可分解的注解,

2023-12-27 23:20:25 396 1

原创 2023.12.19笔记

它合并了许多超出基本XML文档表示的功能,包括集成的XPath,支持XML Schema支持以及用于大文档或流化文档的基于事件的处理。直接好处是,虽然DOM4J付出了更复杂的API的代价,但是它提供了比JDOM大得多的灵活性。在添加灵活性、XPath集成和对大文档处理的目标时,DOM4J的目标与JDOM是一样的:针对Java开发者的易用性和直观操作。JDOM自身不包含解析器。你配置了环境变量,不论在哪cmd都能运行你软件的指令,如果不配置环境变量,那只有在软件的目录下运行cmd,cmd才能运行软件的指令。

2023-12-19 17:20:57 906 1

原创 2023.12.18笔记(3)MySQL触发器

(Trigger)是 MySQL 中一个非常实用的功能,它可以在操作者对表进行「增删改」 之前(或之后)被触发,自动执行一段事先写好的 SQL 代码。1.创建触发器不能创建具有相同名字的触发器。对于具有相同触发程序动作时间和事件的给定表,不能有两个触发器(比如after insert插入之后有一个触发器那么就不能再有触发器是after的了,但是before insert是可以的)。因此,在创建触发器之前,需要查看MySQL中是否已经存在该标识符的触发器和触发器的相关事件。

2023-12-18 21:31:55 365 1

原创 2023.12.18笔记(2)MySQL检查约束

检查约束(CHECK)其实就是一个检查功能,就是对输入的数据有一个限制,如果不满足限制,那么就无法插入数据。检查约束可以通过 CREATE TABLE 或 ALTER TABLE 语句实现,根据用户实际的完整性要求来定义。它可以分别对列或表实施检查约束。

2023-12-18 21:03:43 415 1

原创 2023.12.18笔记(1),MySQL索引

MySQL 索引是一种数据结构,用于加快数据库查询的速度和性能。MySQL 索引的建立对于 MySQL 的高效运行是很重要的,索引可以大大提高 MySQL 的检索速度。索引能够显著提高查询的速度,尤其是在大型表中进行搜索时。通过使用索引,MySQL 可以直接定位到满足查询条件的数据行,而无需逐行扫描整个表。MySQL 索引就好像是字典内的拼音、部首部分,可以快速查到所需要的字。普通索引(由关键字KEY或INDEX定义的索引)的唯一任务是加快对数据的访问速度。

2023-12-18 20:47:59 361 1

原创 2023.12.17笔记

最常见的例子就是二手房东,其实很多我们租房子时签约的人不是房子的真正房东,而是房东委托的中介,房东不想管事或者房子太多,只靠自己无法进行管理,所以才会通过中介(代理)进行处理,像蛋壳、自如这样的租房软件其实也是中介的一种,真正的房东是直接将房子委托给这样的第三方中介进行出租。因此,深克隆可以解决多层克隆问题,即如果一个对象内部还包含其他对象,并且这些内部对象也包含其他对象,那么使用深克隆可以一次性复制所有这些对象,而不需要逐层复制。因此,浅克隆的源对象和目标对象的成员变量指向相同的内存地址。

2023-12-17 23:05:51 935 1

原创 2023.12.16笔记

文件中,然后在任何物理设备(Linux设备或Window设备等)上安装运行实现虚拟化,让应用程序彻底脱离底层设备,可以在物理机之间灵活迁移部署,使运维工程师摆脱了繁琐的环境部署,极大的提高了工作效率,同时减少了部署过程中的潜在风险。Docker容器对于宿主机器来说只是一个运行在Linux上的应用,因此它的数据存储还是会依赖宿主机器,Docker是通过挂载宿主机文件系统或内存的方式来实现数据存储的,挂载方式有三种:volume、bind mount和tmpfs。是下载好的镜像,或自己打包好的镜像,镜像可以。

2023-12-16 21:10:45 1548

原创 2023.12.13总结

1)将win64_11gR2_database_2of2中的\win64_11gR2_database_2of2\database\stage\Components\*(Components目录下所有文件)拷到win64_11gR2_database_1of2中的\win64_11gR2_database_1of2\database\stage\Components目录下。原文链接:https://blog.csdn.net/Ninewind/article/details/89520400。

2023-12-14 00:33:02 402 1

原创 2023.12.10学习笔记

下面是使用setInterval()轮播图。效果图如上,每3秒换一次图片。

2023-12-10 19:34:49 324 1

原创 作业2023-11-28

在硬件领域,端口指的是设备的接口,比如USB端口、串行端口等。在网络技术中,端口指的是网络中面向连接服务和无连接服务的通信协议端口,是一种抽象的软件结构,包括一些数据结构和I/O(基本输入输出)缓冲区。物理端口是可见的,比如计算机背板的RJ45网口、交换机路由器集线器等RJ45端口,电话使用的RJ11插口也属于物理端口的范畴。Java中的字符集是java.nio.charset包中的一组枚举类型,可以通过Charset类的静态方法获取默认的字符集,也可以通过枚举类型直接获取。

2023-11-28 19:17:24 385

原创 泛型的用法总结

泛型是Java编程语言的一种功能,它允许程序员在类、接口和方法的定义中使用类型参数。泛型的目的是增加代码的可重用性和可读性,同时还能保证类型安全。总的来说,泛型是一种强大的工具,它可以使你的代码更加灵活、安全和易于理解。只要你理解了泛型的原理和规则,就可以在你的Java程序中有效地使用它。

2023-11-23 19:10:44 357

原创 在Java中default关键字的用法

用于接口方法:在Java中,接口中的方法默认都是抽象方法,不需要实现。如果某个接口的实现类没有实现接口中的所有抽象方法,则该实现类必须声明为抽象类。然而,如果某个实现类实现了接口中的所有抽象方法,则可以使用。用于Lambda表达式和方法引用:在Java中,Lambda表达式和方法引用可以用来简化函数式接口的实现。关键字可以作为访问控制修饰符,用于限制类的成员变量、方法和构造函数的访问权限。关键字可以用于switch语句中,表示当所有case都不匹配时执行的代码块。用于switch语句:在Java中,

2023-11-23 19:07:46 3985

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除