自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 JMM详解(Java内存模型)

一开始就需要情调一下,JMM与JVM是两个概念,JVM指的是JVM虚拟机,但是JMM指的是Java内存模型!!!!!!当然JVM内存模型与JMM内存模型也不是一个东西!!!!以下是我个人对JMM的理解,希望和大家一起探讨!

2025-03-24 10:30:00 643

原创 JVM详解(包括JVM内存模型与GC垃圾回收)

学会使用Java对于一个程序员是远远不够的。Java语法的掌握只是一部分,另一部分就是需要掌握Java内部的工作原理,从编译到运行,到底是谁在帮我们完成工作的?接下来着重对Java虚拟机,也就是JVM有一个深刻认识,对日后完成项目的开发或是更底层的开发有很大的帮助。接下来说的均为个人的一点小见解和观点,希望大家多多指点!

2025-03-23 10:30:00 1193

原创 MySQL相关日志详解

mysql作为数据库,有着存储数据、读写数据的基本功能,当然作为数据库,必须具备有安全性、可靠性等相关基础功能。以我个人的理解,mysql多被用在分布式集群、高并发情景等数据量较大的地方,此时能够支撑mysql完成一系列事务的原因之一就是"日志"。mysql中有着庞大的日志体系,有等。这些日志起到了不同的作用。接下来就来深入探究一下这些日志的作用以及相关的作用原理。

2025-03-18 16:08:24 941

原创 数据库MySQL原理(相关程序)

MySQL数据库在存储数据、读取数据有着优秀的数据结构和算法。接下来就来深入学习MySQL相关的操作和内部原理。注:接下来对于mysql的相关操作都是在Linux环境下进行操作!!

2025-03-13 09:36:13 934

原创 Redis基础原理(1)(Java)

MySQL等关系型数据库我们多少可能都接触过了,使用起来也是非常nice的,但是总是会存在一个小问题,那就是读取数据的快慢问题!由于MySQL存储的数据是放在硬盘当中,此时存取数据就会涉及到"IO"操作,速度是比较慢滴,此时有牛人就站了出来,想改变M有SQL的存储效率慢的问题,最后以失败而告终!最后设计出了Redis的前身,专属于LLOOGG的数据库,这位大神的名字是!!通过以上的简单介绍,大致清楚了Redis的故事!接下来就来详细探讨一下当时设计出Redis的核心思想。

2025-03-11 08:57:45 596

原创 JVM、MySQL常见面试题(尽力局)

一.谈一谈JDK、JRE、JVM分别是什么,有什么联系?1.JDK是Java工具包,里面包含了JRE、Javac编译器等。2.JRE是java运行环境,里面包含了JVM、JavaSE标准库类等。3.JVM是Java虚拟机,运行编译后的.class的文件,调用系统API运行。JDK = JRE+Javac编译器 JRE = JVM+JavaSE标准库二.JVM运行时数据区由哪几部分构成,分别有什么作用1.程序计数器:保存执行下一条指令的地址。(线程私有化)

2025-03-10 19:37:19 2039

原创 计算机网络面试题(尽力局)

一.谈一谈TCP/IP网络及协议1.TCP/IP网络协议有5层,分别是:应用层、传输层、网络层、数据链路层、物理层。OSI网络协议中将应用层细化为:应用层、表示层、会话层2.应用层协议有:DNS协议(域名解析协议)、HTTP协议、HTTPS协议等3.传输层协议有:UDP协议、TCP协议等4.网络层协议有:IP协议等5.数据链路层协议有:以太网协议等二.谈一谈传输层UDP协议1.UDP协议:无连接、不可靠传输、面向数据报、全双工。

2025-03-08 10:30:00 1005

原创 进程、线程、锁面试前复习(尽力局)

一.进程和线程的区别是什么?1.进程是"资源分配"的最小单位,每个进程都享有一块内存空间,线程是"系统调度"的最小单位。2.线程是轻量级的进程,进程结束所有线程一定都被结束,但是线程结束进程不一定刚结束。3.一个进程中至少有一个线程。4.控制进程的模块是PCB进程控制模块,里面包含PID(进程标识符)、进程状态、进程上下文、指令计数器等。控制线程的模块是TCB线程控制模块,同样也有,线程上下文、线程标识符、寄存器等。

2025-03-07 10:15:00 1860

原创 Spring项目-抽奖系统(实操项目-用户管理接口)(END)

Spring项目-抽奖系统(实操项目-用户管理接口)(THREE)-优快云博客上一次完成了活动的创建和活动的展示,接下来就是重头戏——抽奖及结果展示。

2025-03-02 11:25:01 627

原创 Spring项目-抽奖系统(实操项目-用户管理接口)(THREE)

登录接口博客链接:写完注册和登录接口后,接下来就做抽奖奖品、抽奖活动相应的创建展示过程。UI页面如下:接下俩将一一完成下列这些接口。

2025-03-02 10:56:18 708

原创 Spring项目-抽奖系统(实操项目-登录接口)(TWO)

紧接着之前的话题,完成了注册功能之后,接下来就完成登录接口的实现。当然本次登录功能的实现也可以运用在自己的项目中,为自己的项目提供一定的有效思路。

2025-03-02 10:45:00 976

原创 Spring项目-抽奖系统(实操项目)(ONE)

随着互联网技术的快速发展,线上营销活动已成为企业吸引用户、增强品牌影响力的重要手段。抽奖系统作为一种高效的用户互动工具,广泛应用于电商促销、节日活动、用户拉新等场景。然而,一个高并发、高可用且安全可靠的抽奖系统,不仅需要满足基本的随机抽奖功能,还需解决库存管理、概率控制、防刷机制、分布式事务等一系列技术挑战。本项目基于框架,结合Spring生态的核心技术(如Spring MVC等),设计并实现了一个轻量级、模块化的抽奖系统。系统以可扩展性和高并发处理能力。

2025-03-01 11:09:11 1396

原创 Java序列化与反序列化(超详解)

序列化是什么意思?反序列化是什么意思?为什么要使用序列化?

2025-02-21 10:30:00 858

原创 String的深层理解(Java)

String是Java当中特有的数据类型——字符串类型,可能大家都会用,但是对于其内部的深层原理的掌握还是不太清楚,接下来就来深度剖析String类型!

2025-02-18 10:30:00 1713

原创 Spring框架基本使用(Maven详解)

当我们创建项目的时候,第一步少不了搭建环境的相关准备工作。那么如果想让我们的项目做起来方便快捷,应该引入更多的管理工具,帮我们管理。Maven的出现帮我们大大解决了!!

2025-02-17 10:45:00 1507

原创 Java程序运行剖析(JVM+JDK+JRE)(总结+超详解)

学会使用Java对于一个程序员是远远不够的。Java语法的掌握只是一部分,另一部分就是需要掌握Java内部的工作原理,从编译到运行,到底是谁在帮我们完成工作的?接下来着重对Java虚拟机,也就是JVM有一个深刻认识,对日后完成项目的开发或是更底层的开发有很大的帮助。接下来说的均为个人的一点小见解和观点,希望大家多多指点!

2025-01-19 21:11:52 942

原创 应用层协议(Https)(超详解)

https是在http基础上的进行一些"加密"操作,也可以认为是http的强化版。欢迎留言一起交流技术!!

2024-12-30 11:15:00 3310

原创 应用层协议(Http)(超详解)

如果是程序员,应用层的协议的学习是非常重要的,日常开发都是站在应用层协议上。当然有关应用层的相关协议也是非常多的,但是需要重点掌握几个相关的协议,例如Http,HTML,URL...

2024-12-27 11:15:00 1923

原创 数据链路层(Java)(MAC与IP的区别)

"以太⽹" 不是⼀种具体的⽹络, ⽽是⼀种技术标准;既包含了数据链路层的内容, 也包含了⼀些物理层的内容. 例如: 规定了⽹络拓扑结构, 访问控制⽅式, 传输速率等;例如以太⽹中的⽹线必须使⽤双绞线;传输速率有10M, 100M, 1000M等;以太⽹是当前应⽤最⼴泛的局域⽹技术;和以太⽹并列的还有令牌环⽹, ⽆线LAN等;以太网可以理解为是一种有线的网卡。它的传递必须要借助"网线"。

2024-12-13 10:47:15 832

原创 网络层IP协议(TCP)

在了解IP协议之前,我们市面上看到的"路由器"其实就是工作在网络层。如下图:那么网络层中的IP协议究竟是如何发送数据包的呢?

2024-12-12 11:30:32 1121

原创 网络编程(2)(对于UDP与TCP协议深层理解)

前期掌握了网络的基础原理,可以简单编写代码完成网络编程。对于我们程序员来说,网络的相关的协议是掌握的重中之重,但是对于5层协议来说,传输层与网络层的协议更是重点。

2024-12-10 11:15:00 965

原创 网络编程(JavaEE)

熟悉了网络的基本概念之后,接下来就需要针对网络进行一系列的编程,其中可能涉及到新的一些编程操作,需要我们进一步探索!

2024-12-04 11:15:00 988

原创 网络原理(1)(JavaEE)

学习网络是计算机的必修课,理解网络的深层原理,可以有助于我们提高日常开发能力。

2024-12-01 16:03:55 791

原创 文件操作与IO(Input&Output)(JavaEE)

日常我们经常讲"硬盘"与"内存"搞混,这两者究竟有什么区别?从硬盘中读取数据和从内存中读取数据有什么区别?以及对应的读写操作,接下来就来探讨相关的问题。

2024-11-30 10:45:00 1238

原创 多线程考点(JavaEE)(锁策略等)

在基本掌握多线程的相关知识点以后,接下来我们就针对一些常见的问题考点展开来分析。概念性的东西偏多,理解加记忆是最好的学习方式。

2024-11-29 11:00:00 953

原创 定时器(JavaEE)

定时器是什么?定时器就类似于一个"闹钟",等时间一到就去执行某段代码。定时器是⼀种实际开发中⾮常常⽤的组件.⽐如⽹络通信中, 如果对⽅ 500ms 内没有返回数据, 则断开连接尝试重连.⽐如⼀个 Map, 希望⾥⾯的某个 key 在 3s 之后过期(⾃动删除).类似于这样的场景就需要⽤到定时器.包括之前学的wait(),join()带有超时间,可以理解成内部有定时器。Java标准库中提供了Timer类,该类的核心方法是schedule。(注意是util包底下的Timer类)

2024-11-28 11:00:00 508

原创 线程池(超详解)(JavaEE)

为什么会引入"线程池"的概念呢?引入多线程的概念是为了减小进程的开销,线程可以理解是轻量级进程。在此引入线程池就是为了在使用多线程的时候,减少内核的利用。原本创建一个线程的时候,要调用系统的api也就是使用用户态和内核态。但是引入线程池之后,线程在我们在使用之前就已经创建好了,我们只需要在用户态调用即可。当然Java标准库中提供了这样的类和方法,供我们使用。

2024-11-27 10:45:00 870

原创 阻塞队列(Java)

阻塞队列是在原来的队列(先进先出)的基础上,做出的扩充。主要特征如下:1、线程安全2、具有阻塞特性:(1).如果队列为空,此时出队列操作就会阻塞,一直阻塞到其他线程在队列中添加新的元素。(2).如果队列满了,此时入队列操作就会进行阻塞,一直阻塞到其他线程从队列中取走元素为止。基于阻塞队列,最大的应用场景是"生产者消费者模型",在后端开发中"分布式系统",不是一台服务器解决所有的问题,而是分成了多台服务器,服务器之间相互调用。

2024-11-25 10:30:00 898

原创 多线程安全问题(2)(单例模式的讲解)

在我们日常生活中,不知道大家有没有下过围棋或者象棋,这些棋类大多是情况下都有对应的棋谱。这些棋谱是前人下棋经验的总结,能有效帮我们制胜。当然在"多线程"中也有自己"棋谱",我们称为多线程设计模式,这里的设计模式有很多种,接下来,首先学习两种。

2024-11-24 10:45:00 576

原创 多线程安全问题(1)(超详解)

当我们用多线程解决一些问题的啥时候,会有一些安全问题,也就是会出现一些bug。什么是bug??也就是程序运行的时候并没有按照预期的执行。此时有问题就应该得到解决,接下来我们就针对线程的安全问题,以及一些实例进行解决!!

2024-11-23 11:00:00 754

原创 多线程编程(Java)

前面了解了线程与进程的相关概念,尤其是线程中系统是如何"调度"的,还有创建PCB的过程,以及PCB中的一些性质,这些都必须掌握清楚!!接下来我们就来实际实现以下"多线程"编程,并且掌握Java中提供的多线程编程的类(Thread)及方法!!

2024-11-21 11:15:00 756

原创 进程与线程的区别(详解)(包括线程与进程的调度问题)

计算机的发展是飞速的,从底层的算术逻辑单元ALU(Arithmetic & Logic Unit)、控制单元CU(Control Unit),到中央处理器CPU(Center Process Unit)。发展是非常迅速的,如今我们需要要深刻认识计算机,学会计算机是如何"管理"所有的"程序"正常运行,如何合理"分配资源"。也就是我们的操作系统圆形程序的机制!!操作系统:操作系统是一组做计算机资源管理的软件的统称。

2024-11-19 11:15:00 1699

原创 JDBC编程(如何利用IDEA操作数据库)

关于数据库中的一些常见的操作以及数据库中的相关原理前面进行了一个简单的介绍,接下来就来谈谈我们如何利用Java语言来实现对数据库的操作,也就是JDBC。

2024-11-18 11:15:00 1647

原创 MySQL索引事务

在这一章节,需要涉及到一些数据结构,数据结构可以有助于我们组织数据,我们需要对常见的数据结构有一定的掌握程度,当然更希望大家可以掌握哈希表,AVL树,红黑树,B树,B+树,图等更高阶的数据结构,对理解MySQL的索引事务有一定的帮助!当然在接下来的讨论中,也会提到甚至再次实现一些数据结构。

2024-11-17 10:45:00 846

原创 MySQL基础(初阶+进阶)(详解)

MySQL基础的操作还有很多,上一次主要是针对MySQL的库的增删查的相关操作,接下来就来探究一下MySQL中表的更多的操作。主要围绕着MySQL中表增删查改的操作进行探究!

2024-11-16 10:45:00 1239

原创 MySQL基础

为什么要学习MySQL?MySQL是什么?MySQL怎么使用?首先来谈谈上面的三个问题,第一为什么要学习MySQL?MySQL是一个开源数据库,那么数据库是干什么的?数据库毋庸置疑就是用来存放数据的,当我们有大量的数据,这时候肯定不能存放在内存当中,因为内存空间比较小,成本高,此时肯定要将数据存放在硬盘或者磁盘当中,空间大,但是读取速度慢。

2024-11-07 11:27:41 661

原创 信奥赛_NOIP/CSP——差分算法

在学习的过程中,对于一些有意思的算法的还是需要留意一下,这些算法有助于我们对解决现实问题有很大帮助,当然更有助于我们在参加一些比赛的时候思路开阔!!!接下来我们来一起探究一下差分算法!并且对其性质的一些应用。

2024-11-07 00:44:32 980

原创 B-树(Java数据结构)

我们所学过的所有基本搜索结构,包括顺序查找、二分查找、二叉搜索树(AVL树、红黑树)、位图、哈希、布隆过滤器等等,有的效率很高,但是这些基本搜索结构都难以解决一个问题——如果此时数据量非常大,无法一次性加载到内存是难以进行搜索的!此时就有一个新的数据结构出现来解决以上问题。上面方法其实只在内存中保存了每一项数据信息中需要查找的字段以及数据在磁盘中的位置,整体的数据实际也在磁盘中。缺陷:1.树的高度比较高,查找时最差情况下要比较树的高度次2.

2024-11-04 10:30:00 754

原创 并查集与LRUCache(Java数据结构)

学习过二叉树之后就应该知道了如何构建一颗二叉树,双亲结点和孩子节点的关系,甚至可以放在顺序表中去构建一棵二叉树!接下来我们要以另一种方式去组织一棵树:如何表示一棵树之间的关系?(这棵树只能存放整型数据)有这样的一个思路,我们可以继续借助顺序表,用顺序表的下标表示每个整型,每个下表里面放的内容有两种情况:1、如果该节点就是根节点的话,就需要存放(所有孩子(包括孙子等)的个数)。不要忘记加负号2、如果该节点不是根节点的时候,就需要存放双亲结点的下标!接下就以这种方式去组织一棵二叉树!

2024-11-02 10:45:00 939

原创 哈希(Hash)与加密(Encrypt)(简单了解)

哈希(Hash)是将目标文本转换成具有相同长度的不可逆的杂凑字符串(或叫做消息摘要),而加密(Encrypt)是将目标文本转换成具有。当然想要更深层次的理解二者的差异,接下来就来深入研究一下!!

2024-11-01 10:30:00 1047

oCamTask.exe

oCamTask.exe

2022-11-24

空空如也

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

TA关注的人

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