自定义博客皮肤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)
  • 收藏
  • 关注

原创 计算机网络知识点小结

谈一谈对OSI七层模型和TCP/IP四层模型的理解?谈谈TCP协议的3次握手过程?TCP协议为什么要3次握手?2次,4次不行吗?谈谈TCP协议的四次挥手过程?什么是流量控制?什么是滑动窗口?什么是拥塞控制?TCP和UDP有什么区别?

2023-09-23 16:18:51 78

原创 MySQL锁机制

为了保证数据并发访问的一致性和有效性,数据库会提供锁机制。但是锁会消耗资源,增加系统的开销。表级锁行级锁页级锁死锁

2023-09-20 17:58:37 83

原创 MySQL索引

MySQL索引创建索引B+Tree树

2023-09-18 19:27:05 91

原创 值传递与引用传递

值传递与引用传递在Java中都是值传递

2023-09-15 17:57:25 127

原创 JVM垃圾收集算法

JVM垃圾收集

2023-09-13 19:27:58 47

原创 Git使用教程

Git安装IDEA中使用GIT在IDEA中从码云下载项目

2023-09-11 18:54:21 133

原创 ElasticSearch

Elasticsearch是一个基于Lucene的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基 于RESTful web接口。Elasticsearch是用Java语言开发的,并作为Apache许可条款下的开放源码发布, 是一种流行的企业级搜索引擎。可让用户以极快的速度进行搜索和分析大量数据。ElasticSearch还具有水平扩展性和多种功能,例如实时分析和搜索,全文搜索,自动完成,聚合和地理空间搜索等。它主要应用于大数据分析、企业搜索、网站搜索、日志分析等领域。

2023-09-09 15:40:18 63

原创 RocketMQ简介

RocketMQ 是阿里开源的分布式消息中间件,RocketMQ 的特点是利用消息中间件利用高效可靠的消息传递机制进行平台无关的数据交流,并基于数据通信来进行分布式系统 的集成。通过提供消息传递和消息排队模型,它可以在分布式环境下扩展进程间的通信。

2023-09-07 19:34:53 333

原创 Linux常用基本命令

Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX的多用户、多任务、 支持多线程和多CPU的操作系统。Linux目录结构/bin存放基础系统所需的命令。/sbin存放超级权限用户root的可执行命令/etc存放系统程序或一般工具的配置文件/dev设备文件存储目录/proc操作系统运行时,进程信息及内核信息/var存放内容可能增长的文件

2023-09-06 22:01:31 58

原创 Java8特性

Lambda 表达式本质是一个匿名函数,用于把函数作为参数,传入方法中,实现函数式编程风格。它是推动Java8发布的最重要的新特性,使用Lambda表达式可以写出更简洁、更灵活的代码,而其作为一种更紧凑的代码风格,使Java的语言表达能力得到了提升。

2023-09-03 22:21:27 53

原创 线程池核心源码阅读

使用线程池可以避免多次创建和销毁线程所带来的资源消耗。使用线程池可以进行统一的分配、调优和监控。

2023-09-01 22:23:00 65 1

原创 Spring Boot框架--初识

Spring Boot它使用 “习惯 优于配置” (项目中存在大量的配置,而 Spring Boot 内置一个习惯性的配置,让你无须手动进行配 置)的理念让你的项目快速运行起来。使用 Spring Boot 很容易创建一个独立运行(运行jar,内嵌 Servlet 容器)、准生产强力的基于 Spring 框架的项目,使用 Spring Boot你可以不用或者只需要很少的 Spring 配置。

2023-08-30 22:48:52 141 1

原创 spring中所用到的设计模式

Spring使用工厂模式,通过BeanFactory或ApplicationContext来创建对象单例模式:Bean默认作用域为单例,按照单例设计模式进行设计实现策略模式:Resource的实现类,针对不同资源文件,实现了不同方式的资源获取策略代理模式:Spring的AOP的实现依靠动态代理模板方法:Spring提供好了JdbcTemplate,RedisTemplate等模板对象,将相同的操作步骤进行了封装。

2023-08-29 15:15:28 111 1

原创 SpringAop基础

开发阶段(开发者完成)===========我们自己做正常的制作程序将非共性功能开发到对应的目标对象类中,并制作成切入点方法将共性功能独立开发出来,制作成“通知”在配置文件中,声明“切入点”在配置文件中,声明"切入点"与"通知"间的关系(含通知类型),即"切面"运行阶段(AOP完成)=============spring帮我们做的Spring容器加载配置文件,监控所有配置的“切入点”方法的执行当监控到“切入点”方法被运行,使用“代理”机制,动态创建“目标对象”的“代理对象”,

2023-08-28 21:40:12 57

原创 spring及springIOC基础知识

Spring 是分层的 Java SE/EE 应用 full-stack 轻量级开源框架,核心思想是IOC(Inverse Of Control:控制反转)和 AOP(Aspect Oriented Programming:面向切面编程),用于组件之间的解耦,以及简化第三方JavaEE中间件技术的使用,是一个基础架构型的开发框架。

2023-08-28 20:36:13 80

原创 MyBatis基础知识

MyBatis 是一个开源、轻量级的数据持久化框架,是 JDBC 和 Hibernate 的替代方案。MyBatis 内部封装了 JDBC,简化了加载驱动、创建连接、创建 statement 等繁杂的过程,开发者只需要关注SQL 语句本身。不用关心底层数据库的连接,结果集的遍历等。MyBatis 的主要思想是将程序中的大量 SQL 语句剥离出来,使用 XML 文件或注解的方式实现SQL 的灵活配置,将 SQL 语句与程序代码分离,在不修改程序代码的情况下,直接在配置文件中修改 SQL 语句。

2023-08-24 17:27:01 79 1

原创 Redis基础知识点

官方推荐两个都启用,如果对数据不敏感,可以选单独用RDB,不建议单独用 AOF,因为可能会出现 Bug 如果只是做纯内存缓存,可以都不用。

2023-08-23 12:56:21 86

原创 ThreadLocal

ThreadLocal(线程局部变量)用于在线程中保存数据,在ThreadLocal中保存的数据仅属于当前线程,该变量是当前线程独有的变量。ThreadLocal使用ThreadLocalMap进行数据存储。

2023-08-17 22:31:47 275 1

原创 synchronized实现原理

synchronized是Java内建的同步机制,当一个线程获取当前所示,其他试图获取的线程只能阻塞。在Java5以前(在Java1.6后进行了优化), synchronized是仅有的线程同步手段。synchronized可以修饰方法,代码块,静态方法。本质上 synchronized方法等同于全部语句用 synchronized包起来。

2023-08-14 21:06:31 56

原创 JDBC基础操作

在JAVA中JDBC是唯一连接数据库的技术也可以理解为底层技术。JDBC是JAVA程序访问数据库的标准接口,在访问数据库时就可以忽略不同数据库的差异。程序访问数据要不可以直接通过建立TCP连接,而是要通过JDBC接口建立连接,而JDBC通过JDBC驱动来实现真正的数据库访问。在JDBC驱动实现类中,通过建立TCP连接来建立真正的网络通讯连接。具体的JDBC驱动有数据库厂商提供。所以访问不同的数据库只需要引入该厂商的JDBC驱动,通过JDBC接口访问。

2023-08-14 12:59:03 64

原创 ReentrantLock与synchronized的区别

synchronized是关键字,保证代码块在任意时刻最多只有一个线程,通过内部对象Monitor(监视器锁)来实现。线程在执行synchronized代码块时必须先获得锁,执行结束后会自动释放锁。解决了多线程同步访问共享变量的正确性问题。使用synchronized:1,找出修改共享变量的线程代码块2,选择一个共享实例作为锁(任何一个对象都可以作为锁)3,使用synchronized(lockObject){ }synchronized是可重入锁,JVM允许同一个线程重复获取同一个锁。

2023-07-19 19:33:27 48

原创 CopyOnWriteArrayList核心源码阅读

好处:在对 CopyOnWrite集合容器写入时保证了线程安全,但又不会影响并发的读取操作。其实也相当于读写分离。CopyOnWriteArrayList相当于线程安全的ArrayList,内部存储结构采用Object[]数组,线程安全使用ReentrantLock实现,允许多个线程并发读取但只有一个线程写入。基本思想:往一个集合容器中写入元素(添加,修改,删除),不会直接在集合容器中写入,而是先复制出一个新的容器,然后往新的容器中写入元素,写入完成后,再将原容器的引用指向新的容器。

2023-07-18 20:45:13 42 1

原创 线程池的执行流程

线程池内部维护若干个线程,没有任务时,线程处于空闲状态。如果有新的线程任务就分配一个空闲线程执行。如果线程都处于忙碌状态,线程池会创建一个新线程进行处理或者放入工作队列中等待。

2023-07-17 20:32:45 195 1

原创 AES算法的CBC和ECB两种工作模式

AES算法是一种对称加密算法,加密和解密使用的是同一把密钥。常用的对称算法如下:AES算法密钥长度是固定的,密钥长度直接决定加密强度,而工作模式和填充模式可以看成是对称加密算法的参数和格式选择。目前比较常见的工作模式是ECB和CBC。

2023-07-17 19:21:28 228 1

原创 线程的实现方式

程序是含有指令和数据的文件,进程是程序的一次执行过程,是系统运行程序的基本单位。进程是由操作系统统一管理并分配资源。某些进程内部还需要同时执行多个子任务,这些字子任务又称为线程。线程是一个比进程更小的执行单位。一个进程在执行过程中可以产生多个线程。进程与线程的关系:一个进程可以包含一个或多个线程,但至少会有一个主线程。

2023-07-17 18:30:32 39 1

原创 Java反射总结

在Java中,只要给定类的名字,就可以通过反射机制来获取类的所有信息。Java反射机制在运行时,对于任意一个类,都能够知道这个类的所有属性和方法,这种动态获取信息以及动态调用对象方法的功能称为Java反射机制。反射使用场景:运行期确定对象的类型Student stu=(Student)(Class.forName("").newInstance());JVM持有的每个Class实例都指向一个数据类型(class或interface).获取一个class的Class实例的三个方法:因为Class实例在J

2023-07-13 16:24:07 62 1

原创 FTP协议文件传输相关案例

FTP是应用层的一个文件传输协议, 主要作用是在服务器和客户端之间实现文件的传输和共享。. FTP协议运行在TCP连接上,保证了文件传输的可靠性。使用FTP协议进行文件传输,首先要创建基于FTP协议访问文件服务器的客户端对象,并准备好连接ftp服务器并验证用户名密码。

2023-07-10 19:10:59 216 1

原创 JavaMail发送不同格式邮件相关案例

发送邮件分为三步骤:1,创建Session会话 2,创建邮件对象 3,发送邮件发送首先需要准备好登录信息,SMTP服务器连接信息,并创建Session会话。为便于重复使用,将其封装成一个工具类。将SMTP服务器连接信息封装成Properties对象,使用props.put()添加相关信息。

2023-07-10 19:09:54 565 1

原创 哈希算法总结

哈希算法可对任意一组输入数据进行计算,得到一个固定长度的输出摘要。哈希算法可以验证原始数据是否被篡改。哈希算法的用途:1.可用于校验下载文件2.存车处用户密码,直接将原始密码放入数据库中会有很大风险。

2023-07-10 19:08:29 493 1

原创 ArrayList扩容方式的理解

ArrayList是List接口的实现类,它相当于一个可以动态增长的数组。数组的长度是固定的,也就是说数组一旦被创建,那么它的长度就不能再发生变化。除非提前知道所需数组的长度,否则就会发生数组长度过大或者过小的情况。ArrayList正好弥补了这个缺点,它可以进行动态扩容。ArrayList的扩容主要发生在向ArrayList集合添加元素的时候,add()方法会先进行检查容量,如果需要扩容,那么扩容后的容量时扩容前的1.5倍。

2023-04-25 21:33:25 65 1

原创 LinkedList源代码阅读

LinkedList源代码阅读List内部按照放入元素的先后顺序存放,每个元素都可以通过索引确定自己的位置,List的索引和数组一样,从0开始。LinkedList通过”链表“实现List接口, 采用链表结构,是双向链表,每次添加元素都会创建新的Nodej节点并分配空间。

2023-04-24 22:52:52 121 1

空空如也

空空如也

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

TA关注的人

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