自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

hello_1566的博客

一个会点前端的Java工程师

  • 博客(75)
  • 资源 (1)
  • 收藏
  • 关注

原创 聊聊 Git SubModule(子模块)

是Git版本控制系统中的一种机制,用于在一个Git仓库中包含另一个Git仓库。它允许将一个Git仓库作为另一个Git仓库的子目录,并且可以独立地管理这个子仓库的版本,同时还保持提交的独立。Submodule的作用在于,它允许你在一个项目中使用其他项目的特定版本,而无需将整个子项目的代码复制到主项目中。这对于依赖管理和代码复用非常有用。包括子模块的初始化,如何使用 git submodule add 命令在主仓库添加子模块如何在子模块和主仓库之间的更新和同步子模块主要有以下应用场景。

2024-02-19 15:39:21 2342

原创 VMware 虚拟机环境下的ubuntu 上安装mysql,并能远程访问数据库

需求:为了实现在linux上模拟服务器跑代码,并存储在mysql上,通过远程可视化mysql数据库软件查看linux上mysql数据库数据的实时动态。

2024-01-28 21:44:23 852

原创 聊聊Git合并和变基

在日常对冲突的处理中,很明显的区别在于 rebase 的处理方式能让提交链更加清晰,而使用 merge 方式会显得提交链复杂交错。下面我们具体来看看两者的区别与联系。

2024-01-28 17:50:16 1933

原创 动态规划算法题刷题笔记

首先看动态规划的三要素:重叠子问题、最优子结构和状态转移方程。重叠子问题:存在大量的重复计算最优子结构:状态转移方程:当前状态转移成以前的状态动态规划的解题步骤主要有:* 确定 dp 数组以及下标的含义* 状态转移方程、递推公式* dp数组初始化、遍历顺序* 写代码验证

2024-01-27 20:40:19 1760

原创 JavaScript中的事件

也就是用户或者浏览器执行的某种动作,而JS与Html之间的交互是通过事件而来的。使用仅在事件发生时执行的**监听器(事件处理程序)**来订阅事件。

2024-01-23 16:57:13 911

原创 聊聊Git中的引用

总体来说,引用机制让Git可以通过简单但唯一的ID来识别和追踪对象,管理项目版本以及支持分布式协作开发模式。Git中的引用主要包括HEAD引用,指向当前检出的分支或提交对象。HEAD管理 Git 当前操作所在的分支或提交状态。分支引用,存储在.git/refs/heads目录下,每个分支对应一个引用文件。指向某个提交对象,跟踪分支历史记录和进度。本地分支和远程分支分别保存在不同目录下。标签引用,存储在.git/refs/tags目录下,每个标签对应一个文件或对象。用于标记特定版本,不可变更。

2024-01-23 15:16:22 1327

原创 聊聊Java虚拟机(一)—— 类加载子系统

​虚拟机就是一款用来执行虚拟计算机指令的计算机软件。它相当于一台虚拟计算机。大体上,虚拟机分为系统虚拟机和程序虚拟机。系统虚拟机就相当于一台物理电脑,里面可以安装操作系统;程序虚拟机是为了执行单个计算机程序而设计出来的虚拟机。其中 Java 虚拟机就是执行 Java 字节码指令的虚拟机。派生于抽象类 ClassLoader 的类加载器(1)拓展类加载器(Extension ClassLoader)父类加载器为 BootStrap ClassLoader主要加载的类是ext 文件夹下的类库。

2024-01-20 23:37:04 891

原创 Git 暂存区机制详解

Git的暂存区(Staging Area)是位于Git仓库内部的一个中间区域,也就是版本库.git目录下的index文件。暂存区的含义是,在对项目文件进行修改后,这些修改并不会立即被提交到版本库中。相反,你需要将这些修改先添加到暂存区,然后才能将其作为一个整体提交到版本库中。本文首先从概念上介绍了Git的三大区域:工作区、暂存区和版本库,并阐述了使用Git的标准工作流程。然后详细说明了暂存区的定义、它相关的操作命令和优势,比如分离工作区和版本库,控制提交内容等。

2024-01-20 14:47:47 2092

原创 递归和迭代实现二叉树先序、中序、后序和层序遍历

这是由二叉树的结构所决定的,每个节点都有指向孩子节点的指针,但是没有指向父节点的指针,所以需要利用栈来实现子节点回到父节点的效果。因为递归方法无非是利用函数栈来保存信息,可以寻找相应的数据结构替代函数栈,同样可以实现相同的功能。Morris 遍历的实质就是避免利用栈结构,让下层节点拥有指向上层的指针,具体是通过让底层节点指向 null 的空闲指针指向上层的某个节点,到达子节点指向父节点的效果。和后序完全相反的顺序,然后再将该顺序逆序,最后得到后序遍历的顺序。利用队列来实现层序遍历。

2024-01-18 23:22:51 476

原创 深入剖析 Git 对象底层原理

我们知道,Git 是一个内容寻址文件系统,其核心部分是一个键值对数据库。当我们向 Git 仓库中插入任意类型的内容时,它会返回一个唯一的键。我们可以通过该键在任意时刻再次取回插入的内容。

2024-01-18 09:01:07 1550

原创 重学MySQL之关系型数据库和非关系型数据库

事务,是指一个操作序列,这些操作要么都执行,或者都不执行,而且这一序列是无法分隔的独立操作单位。也就是符合原子性(Atomicity)、 一致性(Consistency)、 隔离性(Isolation)和持久性(Durability)的一组操作。

2024-01-11 11:01:35 1088

原创 git init 执行后发生了什么?

在讲解.git 目录内容前,先来说说 git 中相关的概念:1. **仓库(Repository)**:Git使用仓库来存储项目的版本历史和文件。一个仓库可以包含完整的项目历史记录,包括所有的分支、标签和提交。2. **提交(Commit)**:提交是Git中的基本操作单元,它代表了项目中的一个版本快照。每个提交都包含一个唯一的哈希值,用于标识和引用该提交。

2024-01-11 10:26:43 1180

原创 谈谈Spring Bean

IoC 容器是 Spring 的核心,Spring 通过 IoC 容器来管理对象的实例化和初始化(这些对象就是 Spring Bean),以及对象从创建到销毁的整个生命周期。也就是管理对象和依赖,以及依赖的注入等等。 Spring 提供 2 种不同类型的 IoC 容器:BeanFactory 和 ApplicationContext 容器。

2024-01-10 09:32:19 1031

原创 2023,半路转行程序员的第一年

键盘敲着总结,抬头看桌面的日期,转眼间来到了 2024 年,时间就这么悄悄的流逝。本来想 12 月底就把总结给写完的,结果一拖,拖到了 2024😂。

2024-01-09 21:59:41 1364 2

原创 聊聊 Java 集合框架中的Arrays

``Arrays`` 和 ``Collections``是分别操作数组和集合的两个工具类。今天就来对 ``Arrays`` 中的内容作个总结。

2024-01-09 09:18:04 1287

原创 聊聊 Java 集合框架中的 ArrayList

其实 Java 集合框架也叫做容器,主要由两大接口派生而来,一个是 ``collection``,主要存放对象的集合。另外一个是``Map``, 存储着键值对(两个对象)的映射表。下面就来说说 ``List``接口,``List``存储的元素是有序、可重复的。其下有三个子接口,ArrayList、LinkedList 和 vector。

2024-01-09 09:10:30 846

原创 从源码角度来谈谈 HashMap

HashMap的知识点可以说在面试中经常被问到,是Java中比较常见的一种数据结构。所以这一篇就通过源码来深入理解下HashMap。

2024-01-08 14:37:26 997

原创 浅谈归并排序:合并 K 个升序链表的归并解法

如何实现多个升序链表的合并。这是 LeetCode 上的一道原题,题目具体如下

2024-01-08 14:15:07 991

原创 静态代理还是动态代理?来聊聊Java中的代理设计模式

代理模式(Proxy Design Pattern)是一种结构型设计模式,为一个对象提供一个代理对象,然后使用代理对象控制对原对象的引用。即通过代理对象访问目标对象。被代理的对象可以是远程对象、创建开销大的对象或需要安全控制的对象。

2024-01-06 14:04:03 853

原创 浅析观察者模式在Java中的应用

观察者模式(Observer Design Pattern),也叫做发布订阅模式(Publish-Subscribe Design Pattern)、模型-视图(Model-View)模式、源-监听器(Source-Listener)模式、从属者(Dependents)模式

2024-01-06 13:58:10 1369

原创 还在用if-else? 用策略模式干掉它

策略模式是一种**行为**设计模式,它将一组行为转换为对象, 并使其在原始上下文对象内部能够相互替换。大白话就是比如我写一个登录业务,目前需要满足能通过系统内、微信等平台进行登录,未来还有可能引入其他的平台,这个时候就可以采用策略模式,来让不同的平台的登录都有对应的策略路径。

2024-01-05 14:24:32 384

原创 最简单的设计模式是单例?

单例模式可以说是Java中最简单的设计模式,但同时也是技术面试中频率极高的面试题。因为它不仅涉及到设计模式,还包括了关于线程安全、内存模型、类加载等机制。所以说它是最简单的吗?

2024-01-05 09:59:24 1066

原创 遇到无序多变请求怎么办,可以试试责任链模式

责任链模式(Chain Of Responsibility Design Pattern),也叫做职责链,是将请求的发送和接收解耦,让多个接收对象都有机会处理这个请求。当有请求发生时,可将请求沿着这条链传递,直到有对象处理它为止。

2024-01-03 09:26:32 954 1

原创 聊一聊 JavaScript 中的作用域和闭包

我们知道,作用域(Scope)就是**代码中变量和函数的可访问的区域,这个区域中决定了变量和函数的生命周期**。在当前的高级程序语言中,主要有词法作用域(静态作用域)和动态作用域两种。其实这两种作用域的区别主要是作用域中的变量和函数,是在编译期还是运行期确定的

2023-12-28 18:54:00 1004 1

原创 TCP中的三次握手和四次挥手

我们知道TCP是运输层的面向连接的可靠的传输协议。**面向连接的**,指的就是在两个进程发送数据之前,必须先相互“握手”,确保两进程可以进行连接。并且这个传输是点对点的,即一个TCP连接中只有一个发送方和接收方;**可靠的**,指的是在任何网络情况下,在TCP传输中数据都将完整的发送到接收方。

2023-12-28 11:09:30 1187 1

原创 JVM 类加载子系统

虚拟机就是一款用来执行虚拟计算机指令的计算机软件。它相当于一台虚拟计算机。大体上,虚拟机分为系统虚拟机和程序虚拟机。系统虚拟机就相当于一台物理电脑,里面可以安装操作系统;程序虚拟机是为了执行单个计算机程序而设计出来的虚拟机。其中 Java 虚拟机就是执行 Java 字节码指令的虚拟机。

2023-12-25 09:15:36 1171 1

原创 MySQL 事务的ACID特性

MySQL事务是什么,它就是一组数据库的操作,是访问数据库的程序单元,事务中可能包含一个或者多个 SQL 语句。这些SQL 语句要么都执行、要么都不执行。我们知道,在MySQL 中,有不同的存储引擎,有的存储引擎比如MyISAM 是不支持事务的,所以说MySQL 事务实际上是发生在 存储引擎部分。

2023-12-22 15:14:49 446 1

原创 Redis 如何实现消息队列

消息队列(Messeage Queue,MQ)是在分布式系统架构中常用的一种中间件技术,从字面表述看,是一个存储消息的队列,所以它一般用于给 MQ 中间的两个组件提供通信服务。

2023-12-22 09:02:18 1191 1

原创 从 ECMAScript 6 角度谈谈执行上下文

尝试用ECMAScript 6规范文档,来聊聊执行上下文,文章主要从这几个方面介绍:- ES6规范中的词法环境- ES6规范中定义的执行上下文结构- 从ES6规范看实际代码的执行流程

2023-12-21 12:54:51 1029 1

原创 Redis 高可用之主从模式

在 Redis 中提供复制的服务器称为主服务器(master),被主服务器进行复制的服务器称为从服务器(slave )。读操作:主库和从库都可接收写操作:写操作先在主库中执行,然后再将操作同步给从库为何要采用读写分离,因为如果在不同实例上执行修改操作,要保证实例之间的一致性就必须加锁、实例间的协商等操作,会带来巨额的开销。如果采用读写分离,数据的修改迁移到主库上进行,然后再同步到从库上,就可以达到不使用锁达到数据一致性的效果。

2023-12-21 09:03:15 895 1

原创 Redis 中的 RDB 和 AOF 持久化机制

Redis 的持久化功能是区别于 Memcached 显著特性,数据持久化可以保证系统在发生宕机和重启后数据不会丢失,对于 redis 这种存储在内存中的数据库显得尤为重要。在 Redis 4.0 以前数据持久化的方式主要有两种RDB(Redis DataBase)快照方式: 它是将某一时刻的内存数据以二进制的方式写入磁盘,默认保存文件为 dump.rdbAOF(Append Only File)文件追加方式:它是指将所有的操作命令,以文本的形式追加到文件中。默认保存文件是 appendonly.aof。

2023-12-20 08:38:22 1085 1

原创 Redis 的键管理

Redis 是一个键值对(key-value pair)的数据库服务器,其数据保存在 src/server.h/redisDb 中(网上很多帖子说在 redis.h 文件中,但是 redis 6.x版本目录中都没有这个文件。redisDb 结构应该在 server.h文件中)

2023-12-19 10:27:19 855 1

原创 Redis 底层数据结构

Redis 主要的底层数据结构:SDS、QuickList、ZipList、HashTable、IntSet、ZskipList

2023-12-18 09:09:42 1169

原创 Redis 数据类型和对象机制

Redis 是(key-value)的 NoSQL 数据库,所有的 key 都是 String ,它的 **value** 可以是 **String、hash、list、set、zset(有序集合)**、Bitmaps(位图)、HyperLogLog、GEO(地理信息定位)等数据类型

2023-12-16 20:31:13 861 1

原创 什么是MVCC?看看它的实现原理

对于写操作给读操作的影响这种情形下发生的脏读、不可重复读、虚读问题,是通过MVCC 机制来进行解决的,那么MVCC到底是如何实现的,其内部原理是怎样的呢?我们要抓住三个方面:记录中的4个隐藏字段、undo log 和 read view。

2023-12-15 11:14:04 976 1

原创 JavaScript中的this指向哪?

this 其实就是一个JavaScript语言中的一个关键字,它的值是某个对象引用值,其指代的是当前执行上下文中的对象。

2023-12-14 16:18:57 798 1

原创 re:invent 2023 Amazon Q 初体验

亚马逊云科技在2023 re:Invent全球大会上宣布推出 Amazon Q, 在主题演讲中,亚马逊云科技 CEO Adam Selipsky 将其描述为能够“轻松聊天、生成内容和采取行动”,“一种新型的生成式人工智能助手,旨在工作中为你提供帮助”。Selipsky说,考虑到这个聊天机器人的对话特性,Q这个名字来源于“问题”(question)这个词。这也是对詹姆斯·邦德小说中角色Q和《星际迷航》中强大人物的模仿。Amazon Q专注于工作场所,而不是面向消费者。

2023-12-06 09:04:49 1123 1

原创 Java异常到底是个啥——一次异常引发的思考

这篇文章主要通过三个部分阐释1. Java异常Java中异常的分类,异常的处理机制2. 异常的处理规范和实战,如何利用Springboot框架处理异常2. 从JVM的角度分析异常机制

2023-10-10 17:56:33 150 1

原创 聊聊Spring事件及其应用

什么是Spring 事件,以及观察者模式在Spring事件中是如何应用的

2022-07-11 07:58:23 437 2

原创 项目十大管理(六)人力资源管理

项目人力资源管理主要包括规划人力资源管理、组建项目团队、建设项目团队和管理项目团队四个子过程:一、规划人力资源管理主要是识别和记录项目角色、职责、所需技能、报告关系,并编制人员配备管理计划。本过程的主要作用是建立项目角色与职责、项目组织图,以及包含人员招募和遣散时间标的人员配备管理计划。1.1 规划人力资源管理的输入1.1.1 项目管理计划1.1.2 活动资源需求进行人力资源时,也需要根据活动资源需求来确定项目所需的人力资源。在规划人力资源管理过程中,明确对项目团队成员及其能力的初步需求

2022-05-04 11:47:28 2134 1

物资管理系统平台设计介绍

物资管理系统平台设计介绍

2022-05-05

空空如也

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

TA关注的人

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