自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 【对称加密算法】AES算法的CBC和ECB模式!

密钥的加密和解密!

2023-07-18 17:34:07 6755 1

原创 【非对称加密算法】RSA算法

非对称加密算法使用了两个不同的密钥:公钥和私钥。公钥是公开的,可以被任何人使用,而私钥是只有特定的人能够使用的。这种算法的加密和解密过程使用不同的密钥,因此称为非对称加密算法。在非对称加密算法中,使用公钥进行加密,私钥进行解密。因此,它的主要优点是可以实现安全的通信,因为即使公钥被攻击者获得,攻击者也无法破解消息,因为只有使用私钥才能解密。非对称加密算法常用于网络安全、电子邮件通信、电子支付和数字签名等领域。其中最常见的非对称加密算法是RSA算法。

2023-09-17 11:30:51 307

原创 【哈希加密算法】MD5和SHA-1基本介绍和使用!

哈希算法,根据碰撞概率,输出的长度越长,就越难产生碰撞,也就越安全。

2023-09-15 20:10:41 2889

原创 【JVM】Java的内存模型(JMM)!

JVM虚拟机在执行 Java 程序的过程中会把它管理的内存划分成若干个不同的数据区域。JDK 1.8HeapJDK 1.8后Heap堆区MetaSpace元空间虚拟机栈本地方法栈程序计数器。

2023-09-15 16:31:29 269

原创 【JVM】Java类的加载机制!

加载验证准备解析初始化5简单来说就是将java类的字节码文件加载到机器内存中。在加载类时,Java虚拟机必须完成以下3件事情:通过类的完全限定名称获取定义该类的二进制字节流。将该字节流表示的静态存储结构转换为Metaspace元空间区的运行时存储结构。在内存中生成一个代表该类的Class对象,作为元空间区中该类各种数据的访问入口。

2023-09-13 19:31:36 383

原创 HTTP协议的基本概念与理解!

HTTP(超文本传输协议)是一个基于请求与响应,无状态的,应用层的协议,常基于TCP/IP协议传输数据,互联网上应用最为广泛的一种,所有的WWW文件都必须遵守这个标准。设计HTTP的初衷是为了提供一种发布和接收HTML页面的方法。

2023-09-12 16:41:49 305

原创 Spring框架——介绍与基本概念!

Spring是一个轻量级的Java 开发开源框架,用于构建企业级应用程序。它提供了一组广泛使用的技术和API,包括依赖注入AOP数据访问事务管理Web开发和集成测试等。它是为了解决企业应用开发的复杂性而创建的。框架的主要优势之一就是其分层架构,分层架构允许使用者选择使用哪一个组件。Spring框架的主要目标是帮助开发人员提高生产力和系统可维护性。Spring的核心是控制反转(IoC)和面向切面(AOP)。

2023-09-11 19:22:12 599 1

原创 redis的基本概念和常见问题的解决!

Redis是一个NoSQL(非关系型数据库)数据库之一,是一个用C语言开发的一个开源的高性能键值对(key-value)数据库或者说是一个缓存键值对数据库 ,用作数据库、缓存、消息中间件等。它支持多种数据结构,包括字符串、哈希表、列表、集合、有序集合等,并且支持丰富的操作命令,如查找、插入、删除等。(1)从Redis缓存中获取数据,如果存在数据,直接返回值。(2)如果不存在,执行数据库的查询方法(3)将数据库中的值放入缓存,并返回值。

2023-09-09 16:02:57 214

原创 【5种数据结构的操作】RedisTemplate模版类!

RedisTemplate 是 Spring Data Redis 提供的一个操作 Redis 的模板类,它封装了 Redis 的操作,方便开发者进行 Redis 缓存操作!

2023-09-07 19:31:28 301

原创 【详细版】在ideal上从git上拉取项目并建立分支!

或github,获取需要拉取的项目的仓库地址。打开克隆下来的项目建立支。2.在ideal中。

2023-09-01 18:12:53 412

原创 Docker的安装及使用!

Docker 是一个开源的容器化平台,它可以帮助开发者将应用程序及其依赖项打包成一个独立的、可运输的容器,从而实现轻松地在不同平台和系统之间部署和运行应用程序的目的。Docker 可以在不同的操作系统上运行,包括 Windows、Mac 和 Linux。使用 Docker 可以实现快速部署、高效的资源利用和隔离。

2023-08-29 16:21:51 92

原创 【java8的特性-4】日期时间!

Java 8提供了三个主要的类来处理日期和时间:LocalDate、LocalTime和LocalDateTime。代表一个日期时间,它包含了年、月、日、小时、分钟、秒等信息。代表一个时间,它包含了小时、分钟、秒等信息,但没有日期信息。代表一个日期,它包含了年、月、日等信息,但没有时间信息。可以用来处理一段时间间隔,例如两个时间点之间的时间差。则可以用来处理一段时间段,例如两个日期之间的时间差。

2023-08-23 19:20:37 1067 2

原创 Linux常用指令!

注意!严格区分大小写!

2023-08-23 16:51:02 136

原创 【java8的特性-3】Stream流!

filter方法会将集合中的每一个元素都传入Predicate中,如果Predicate返回true,则保留该元素,否则移除该元素。需要注意的是,sorted()方法并不会改变原来的元素顺序,它会返回一个新的有序的流。在流中,有一组与Collectors类相关的方法,可以用来收集流中的元素并将它们转换为不同的数据结构。Stream流中的Map方法可以将一个Stream中的每个元素都映射成另外一个元素,映射后的结果会放到一个新的Stream中返回。它返回一个long类型的值,代表Stream流中元素的个数。

2023-08-23 00:22:07 78

原创 【java8的特性-2】函数式接口!

函数式接口是一种只包含一个抽象方法的接口,用于支持函数式编程。在Java 8中,引入了一个新的注解@FunctionalInterface,用来标记一个接口是函数式接口!

2023-08-21 11:28:05 116 1

原创 【java8的特性-1】Lambda表达式!

Lambda表达式的基本语法是:parameter表示函数的参数,可以是一个或多个参数,用逗号隔开;而expression表示函数要执行的操作,可以是任意合法的Java表达式。Lambda表达式可以用来简化Java中的某些操作,比如集合的遍历、排序、筛选等,让代码更加简洁易读。同时,Lambda表达式也支持函数式编程的一些特性,比如高阶函数、函数组合等,可以使编程更加灵活和抽象。

2023-08-20 14:36:42 62 1

原创 ThreadLocal的基本原理和使用!

是Java中的一个类,被成为线程局部变量,用于保存数据。在ThreadLocal实例中保存的数据仅属于当前线程,该数据对于其他线程来说是隔离的,是当前线程所独有的。可以用于在线程之间共享数据的情况下,避免使用synchronized等线程同步机制,提高程序的并发性能。在多线程环境下,ThreadLocal可以提高程序的安全性和可靠性。

2023-08-16 19:24:29 87 1

原创 SpringAOP面向切面编程!

将那些与业务无关,却为业务模块所共同调用的逻辑(例如事务处理、日志管理、权限控制等)封装抽取成一个可重用的模块,这个模块被命名为“切面”(Aspect),便于减少系统的重复代码,降低模块间的耦合度,并有利于未来的可拓展性和可维护性。运行阶段(AOP完成)=============spring帮我们做的。execution(* *.*.*.类名称.方法名称(参数列表))execution(* 包名称.类名称.方法名称(参数列表))开发阶段(开发者完成)===========我们自己做。

2023-08-14 19:30:21 41

原创 YAML基础语法!

boolean: TRUE #TRUE,true,True,FALSE,false,False均可。int: 123 #支持二进制、八进制、十六进制。commpany: [阿里巴巴,华为,腾讯,字节跳动]数组:一组按次序排列的值( List、set )字面量:普通的值 [ 数字,布尔值,字符串 ]yaml:简洁,以数据为核心。对象、Map(键值对)

2023-08-14 19:17:19 194

原创 MySQL的基本语法总结!

UNION语句:用于将两个或多个SELECT语句的结果集合并在一起,并去除重复的行。WHERE语句:用于过滤数据。可以根据WHERE语句指定的条件来选择需要查询的行。DELETE语句用于删除表中的一些行,可以使用WHERE子句来指定要删除的行。GROUP BY语句:用于按照指定的列对查询结果进行分组。HAVING语句:用于过滤GROUP BY分组后的结果集。JOIN语句:用于将两个或多个表中的数据合并成一个结果集。DISTINCT语句:用于查询结果去除重复的行。LIMIT语句:用于限制查询结果返回的行数。

2023-08-11 09:09:25 48 1

原创 CopyOnWriteArrayList源代码阅读!

CopyOnWriteArrayList体现了写时复制的思想,增删改操作都是在复制的新数组中进行的。CopyOnWriteArrayList的增删改方法通过可重入锁确保线程安全;CopyOnWriteArrayList线程安全体现在多线程增删改不会抛出异常,并不能确保数据的强一致性。

2023-07-18 20:54:43 74 1

原创 ReentrantLock和synchronized的区别!

在Java中,每一个对象都有一个关联的锁,当一个线程进入synchronized块时,它会自动获得对象的锁,其他线程只能等待该线程释放锁之后才能进入。:ReentrantLock是可重入锁,同一个线程可以多次获取同一把锁,而synchronized也是可重入锁,但是如果出现嵌套锁的情况,就可能会出现死锁的情况。可重入性是指线程可以多次获取同一把锁,未释放锁的线程可以继续获取锁,如果没有可重入机制,那么当线程持有锁时,尝试再次获取锁会导致死锁。公平性是指多个线程按照其请求锁的顺序获取锁,实现上要复杂一些。

2023-07-18 18:53:29 182 1

原创 线程池的基本创建方式and执行流程!

线程池维护了一个固定数量的线程集合,可以从线程池中取出一个线程来执行任务,当任务执行完毕后,线程又会返回到线程池中,等待下一个任务的到来。如果大于核心线程数则回去检查工作等待队列,如果工作队列未满则会放入工作队列中进行等到有空闲线程去处理它,如果工作队列已经满了,则需要判断当前存活的线程数是否达到最大线程数,如果没有就创建一个新的非核心线程进行处理新任务,如果达到了,则采用拒绝策略处理新任务。任务队列:线程池中的任务队列用于存放等待执行的任务,线程池中的线程会从任务队列中取出任务进行处理。

2023-07-17 20:24:36 783 1

原创 线程的基本状态、创建方式以及常用方法!

线程对象创建后,其他线程(比如main线程)调用了该对象的start()方法。join()方法底层是利用wait()方法实现,join()方法是一个synchronized同步方法,当主线程调用线程th.join()方法时,主线程先获得了线程th对象的锁,随后进入join()方法,调用线程th对象的wait()方法,使得主线程进入线程th对象的等待池中。线程可以并发执行,不同的线程可以同时执行不同的任务,共享进程中的资源,如内存空间、打开的文件等,可以提高程序的执行效率和响应速度。:表示线程阻塞于锁。

2023-07-17 18:13:40 177 1

原创 Java反射(Reflection)机制!

获取和修改成员变量的值:可以使用Field对象的get()方法获取一个对象中成员变量的值,而set()方法可以修改成员变量的值。反射调用方法:通过反射机制,我们可以动态地获取一个类的方法,然后通过invoke()方法调用该方法,从而实现动态调用方法的功能。获取类的信息:通过调用Object类的getClass()方法,可以得到一个对象的Class对象,从而获取到该对象所属类的相关信息。判断方法访问权限:可以通过Method类的getModifiers()方法获取方法的修饰符,进而判断方法的访问权限。

2023-07-13 18:39:11 199 1

原创 哈希算法总结!!!

使用哈希算法校验下载文件、存储用户密码!

2023-07-10 19:15:45 225 1

原创 Java实现FTP的上传和下载!

java实现连接FTP服务器,实现文件的上传和下载!!!

2023-07-09 14:32:51 3640 1

原创 JavaEmail--发送html格式的电子邮件!

基于SMTP服务器的html格式的电子邮件的发送!

2023-07-08 23:13:21 2523

原创 ArrayList扩容方式的理解

ArrayList集合是Collection和List接口的实现类,底层的数据结构可变的Object数组,对ArrayList的所有操作都是通过数据来实现的,数据结构特点是增删慢、查询快。list的特点:是有顺序的,先进先出原则;元素是可以重复的;包含带索引的方法。

2023-04-25 22:11:17 146 2

原创 LinkedList源代码阅读

源代码解析

2023-04-25 00:40:36 129 3

空空如也

空空如也

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

TA关注的人

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