自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 ARM架构安装MongoDB 6.0一学就会

该版本的主要功能特性包括:时序集合增强Change Stream增强可查询加密聚合&query能力增强集群同步环境准备使用uname -m命令确认自己系统的架构使用catetcredhatrelease 查看linux版本下载地址:进入自己为mongodb准备的文件夹,然后下载解压tar包--dbpath :指定数据文件存放目录--logpath :指定日志文件,注意是指定文件不是目录--logappend :使用追加的方式记录日志--port:指定端口,默认为27017。

2023-12-12 23:29:12 1646

原创 MongoDB数据建模与文档设计

文档是MongoDB中基本的数据单元,类似于关系型数据库中的行,但比行更灵活,可以包含嵌套文档和数组。在MongoDB中,可以选择将相关数据嵌套在同一文档中,也可以选择使用引用将相关数据存储在不同的文档中。MongoDB支持丰富的数据类型,包括字符串、数字、日期、数组、嵌套文档等。在设计文档时,选择适当的数据类型以最好地反映数据的本质。MongoDB允许在文档中嵌套数组和文档,以便更好地表示复杂的数据关系。这对于存储包含多个值或子文档的字段非常有用。这表示成功插入和查询到一个包含嵌套文档和数组的复杂文档。

2023-12-08 23:24:18 456

原创 MongoDB简介与安装

NoSQL数据库是一类不使用传统SQL关系型数据库模型的数据库管理系统。它们以更灵活的数据模型为特点,适用于大规模的分布式数据存储和处理。MongoDB属于NoSQL数据库的一种。MongoDB的优势与特点:MongoDB采用文档数据库模型,数据以类似JSON的BSON(Binary JSON)格式存储,支持嵌套文档和数组。MongoDB具有高度的读写并发能力,并支持水平扩展,适用于大规模应用。MongoDB可以通过分片技术实现水平扩展,自动分配数据存储在多个节点上,提高系统性能和容错性。

2023-12-08 23:18:49 990

原创 老板问我JVM的启动参数有哪些,它们的作用是什么?差点没回答上来

以上示例提供了一些常见的启动参数用法,但实际上,参数的使用方式会根据具体的应用场景和需求而有所不同。启动参数的设置应根据具体情况进行调整和优化。指定Java类的搜索路径,即类路径。设置永久代或元空间的最大大小。设置Java本地库的搜索路径。设置每个线程的栈大小。

2023-12-07 23:23:13 160

原创 Hibernate更新多实体对象的坑

在处理Hibernate中多线程环境下实体对象同步的问题时,选择适当的锁定机制是一个需要慎重考虑的决策。乐观锁适用于并发度较高的场景,但需要额外的版本字段开销。悲观锁适用于对数据一致性要求较高的场景,但可能引起性能问题。同步机制则需要谨慎使用,以避免死锁和性能下降。在实际应用中,可以根据业务需求、系统性能和并发访问模式来选择合适的解决方案。综合考虑乐观锁、悲观锁和同步机制的优劣势,可以构建出稳定、高性能的多线程环境下的Hibernate应用。

2023-12-07 23:11:21 524

原创 面试官问:如何手动触发垃圾回收?幸好昨天复习到了

需要注意的是,垃圾回收的触发和执行是由Java虚拟机决定的,因此实际的结果可能会有所不同。在正常情况下,Java虚拟机会根据内存状况和程序运行状态自动执行垃圾回收,无需手动触发。方法打印了内存状态,包括空闲内存、总内存和最大内存。在手动触发垃圾回收之前和之后,都打印了内存状态。并不能确保立即执行垃圾回收,因为具体的垃圾回收行为是由Java虚拟机决定的,而不受程序员直接控制。在Java中,手动触发垃圾回收可以使用。可能并不会立即执行垃圾回收。在上面的代码中,通过。

2023-12-06 22:52:48 439

原创 面试官问:怎么判断对象已死?

引用计数器是一种简单的垃圾回收算法,通过记录每个对象被引用的次数。当引用计数为零时,意味着没有任何引用指向该对象,可以被回收。但由于Java不直接支持引用计数器,它无法解决循环引用等问题,因此在实际开发中使用较少。cleanup();// 对象清理操作// 执行对象清理的逻辑,例如关闭资源等// 若对象的实例全部被清理,则可以触发额外的逻辑// 针对所有实例被清理的逻辑在上述代码中,类演示了引用计数器的基本实现,用于记录对象被引用的次数。

2023-12-06 22:43:12 204

原创 深入理解Redis分片策略:提升系统性能的关键一步

通过将数据的键映射到一个虚拟的哈希环上,每个Redis节点在哈希环上占据一定的范围。这样,当有新的节点加入或节点失效时,仅影响到环上的少数节点,而不会导致大量数据迁移。在实际应用中,结合业务需求和特点,选择最适合的分片策略,将为系统的发展带来长远的利益。另一种常见的分片策略是按照数据的范围或规定的分片规则将数据划分到不同的Redis节点上。Redis作为一款高性能的键值存储系统,为了应对大规模数据和高并发的访问,引入了分片策略,使得数据能够分布存储在多个节点上,实现系统的横向扩展性。

2023-12-05 23:08:51 445

原创 如何保障Redis的安全性?

以上这些措施需要结合具体的业务场景和风险评估来选择和实施。在保障Redis安全性的过程中,综合考虑多个层面的防护措施,形成完备的安全策略,是确保系统安全的关键。

2023-12-05 23:05:01 667

原创 Redis性能优化:提升效率的15个关键措施

通过采取上述15个关键的Redis性能优化措施,开发者可以更好地发挥Redis的潜力,提高系统的性能和稳定性。性能优化是一个迭代的过程,需要不断地监测、分析和优化。选择适合自己业务场景的优化策略,将为系统的发展带来长远的利益。

2023-12-03 22:21:53 812

原创 Redis事务中MULTI和EXEC的神奇组合

Redis事务允许开发者将一系列的Redis命令打包成一个原子操作单元,保证这些命令要么全部执行成功,要么全部执行失败。命令,之后的所有Redis命令都会被放入一个事务队列中,但不会立即执行。是Redis事务中的关键命令,它的作用是执行事务队列中的所有命令,将它们作为一个原子操作提交给Redis服务器。在Redis中,事务是一项强大而灵活的特性,为开发者提供了一种将多个命令打包、原子性执行的机制。是Redis事务的救星,它的作用是取消事务,放弃所有已入队的命令。被调用时会被清除,整个事务被取消。

2023-12-03 22:12:35 283

原创 面试官问我Redis是否支持事务,一时间我都不知道如何回答

通过使用SET命令在特定键上设置一个值,可以确保在同一时间内只有一个客户端能够拥有这个键,从而实现锁的效果。WATCH命令用于监视一个或多个键,如果在事务执行前这些键被其他命令改动,则事务会被打断。这意味着事务中的所有命令要么全部执行成功,要么全部执行失败,保持了数据的一致性。Redis事务是一项强大的特性,它不仅提供了对一系列命令的原子性执行,还支持乐观锁、分布式锁等高级用法。在事务开始和提交之间,所有的命令都会被放入一个事务队列中,Redis保证在执行期间不会中断事务。

2023-12-03 22:04:22 76

原创 MySQL注入攻防详解:保障数据库安全的最佳实践

MySQL注入攻击是一项持续威胁数据库安全的攻击技术。通过了解攻击原理、常见类型以及采取相应的防御策略,开发者可以有效地提高应用程序对MySQL注入的抵御能力。采用合适的安全措施,保护数据库的安全性是任何Web应用程序的首要任务。

2023-12-02 04:00:00 927

原创 深入探讨Redis高可用性解决方案:Sentinel与Cluster对比

Redis的高可用性解决方案涵盖了Sentinel和Cluster两种机制,每种都有其独特的优势。在实际应用中,可以根据具体的需求和场景选择适合的方案,甚至将两者结合使用,以实现更全面、稳定的高可用性。

2023-12-01 23:28:21 708

原创 面试官问:什么是Redis的主从复制?它的作用是什么?我差点没答上来

Redis主从复制为应用提供了高可用性、负载均衡和数据备份的解决方案。通过深入理解其工作原理和合理配置,开发者可以更好地利用这一得力助手,为应用架构提供更稳定、高效的支持。在构建现代化应用时,将主从复制纳入考虑范围,必将使系统更具弹性和可维护性。

2023-12-01 23:25:30 161

原创 面试官问:在什么情况下你会选择使用RDB,而在什么情况下你会选择使用AOF?

在Redis中,RDB(Redis DataBase)和AOF(Append-Only File)是两种不同的持久化机制,它们各自有优势和适用的场景。选择使用哪种持久化方式取决于对数据的安全性、恢复速度以及对性能的要求等因素。ps:对这两种持久化机制不了解的伙伴可以先看我的另一篇博客。

2023-11-29 23:21:05 138

原创 面试被问到Redis的Zset(Sorted Set)是什么?我懵了

有序集合提供了灵活的数据排序和检索机制,使其适用于多种场景,包括排行榜、任务调度等。Redis内部采用跳跃表和哈希表的结合实现,保证了对于插入、删除和查找的高效处理。使用有序集合可以简化系统的设计,减少不必要的复杂性,提高代码的可读性。有序集合对于实时的排名和排序非常合适,适用于需要即时展示数据的场景。在架构设计中,合理利用有序集合,可以有效提升系统的性能和响应速度,为用户提供更好的体验。这使得有序集合成为Java架构师工具箱中的一项强大工具。

2023-11-29 23:17:28 1130

原创 Redis支持哪些数据结构?

Redis支持多种数据结构,每种数据结构都有其独特的用途。以下是Redis支持的主要数据结构。

2023-11-28 23:10:05 254

原创 面试官问:什么是缓存?Redis在缓存中有哪些优势?

当我们谈论缓存时,我们指的是一种存储技术,用于临时存储经常访问的数据,以便在后续请求中更快地获取这些数据。缓存的核心思想是通过牺牲一些空间来换取更快的时间,以提高数据的访问速度。

2023-11-28 23:05:53 181

原创 面试官问:Redis和传统关系型数据库的主要区别是什么?

Redis和传统关系型数据库在多个方面存在显著的区别,这些区别主要涉及数据模型、存储方式、性能特点等。总体而言,Redis和传统关系型数据库在设计目标、数据模型和应用场景上有很大差异,开发者需要根据具体需求选择合适的存储方案。

2023-11-27 22:56:25 289

原创 面试官问:什么是Redis?它的特点和用途有哪些?

Redis,全称Remote Dictionary Server,是一种开源的内存数据结构存储系统。它通常被称为数据结构服务器,因为它支持各种数据结构,如字符串、哈希、列表、集合等。总体而言,Redis是一个轻量级、高性能的开源数据库,广泛应用于Web开发、分布式系统、实时数据处理等领域,为应对高并发和大规模数据处理提供了强大的支持。

2023-11-27 22:54:28 129

原创 初识ArkTS语言

ArkTS是HarmonyOS优选的主力应用开发语言。ArkTS围绕应用开发在TypeScript(简称TS)生态基础上做了进一步扩展,继承了TS的所有特性,是TS的超集。因此,在学习ArkTS语言之前,建议开发者具备TS语言开发能力。基本语法:ArkTS定义了声明式UI描述、自定义组件和动态扩展UI元素的能力,再配合ArkUI开发框架中的系统组件及其相关的事件方法、属性方法等共同构成了UI开发的主体。状态管理:ArkTS提供了多维度的状态管理机制。

2023-11-15 22:00:25 211

原创 ARM aarch64架构安装Redis看这一篇就够了

注释 bind 127.0.0.1 -::1 #bind绑定的是自己机器网卡的ip,如果有多块网卡可以配置多个ip,代表允许客户端通过机器的那些网卡ip去访问,内网一般可以不配置bind。在安装 Redis 时需要安装 GCC 是因为 Redis 需要编译 C 语言源代码,并将其转换为二进制可执行文件。protected-mode no #关闭保护模式,开启的话只有本机才可以访问redis。arm架构安装redis相对来说感觉比x86简单一些,一个命令就完全搞定了。三. 启动redis。

2023-10-22 16:09:44 5670

原创 JVM 虚拟机字节码指令表

字节码 助记符 指令含义 0x00 nop None 0x01 aconst_null 将null推送至栈顶 0x02 iconst_m1 将int型-1推送至栈顶 0x03 iconst_0 将int型0推送至栈顶 0x04 iconst_1 将int型1推送至栈顶 0x05 iconst_2 将int型2推送至栈顶 0x06 iconst_3 将int型3推送至栈顶 0x07

2023-08-05 17:06:53 110

原创 面试官问:如何打破双亲委派机制?

在上篇中,讲到了类加载的双亲委派机制,那为什么又要打破双亲委派机制呢?难道是它不好用吗?我们想一个场景,比如在一个tomcat中,部署了多个应用包,其中一个包使用的是spring5.0,另一个包使用的是spring4.0,此时在双亲委派机制下,如果先加载spring4.0的包,那么另一个使用spring5.0的包再来加载的时候发现spring的相关类已经被类加载器加载过了,就不会再次加载。可想而知,这就会导致巨大的兼容性问题。因此,在特殊场景下,是需要打破双亲委派机制的。

2023-08-05 16:21:07 569 1

原创 超详细的ARM架构安装Mysql8.0

mysql默认目录是 /var/lib/mysql,这个文件夹下文件较多,不方便做数据管理,所以在该目录下新增data目录。在CentOS中默认安装有MariaDB,是MySQL的一个分支,主要由开源社区维护。CentOS 7及以上版本已经不再使用MySQL数据库,而是使用MariaDB数据库。首次登陆没有设置密码,mysql会自动为root用户生成临时密码。因此,需要先卸载自带的MariaDB,再安装MySQL。如果直接安装MySQL,会和MariaDB的文件冲突。2.2 卸载以前的mysql。

2023-08-01 23:42:43 7689 1

转载 MySQL国内镜像

MySQL是一种关系型数据库管理系统,使用标准SQL查询语句进行数据访问,广泛应用于Web系统的数据存储。MySQL国内镜像指的是在国内建立的MySQL镜像站点,用于提供MySQL的各种资源下载和服务。由于MySQL在国内访问速度较慢,因此使用MySQL国内镜像可以有效提高MySQL的使用效率。

2023-07-30 10:51:30 4430 1

原创 Linux下安装JDK1.8

1. 下载好的tar包通过rz命令,上传至linux文件夹。如果没有安装rz命令的,可以先通过如下命令安装。2. 上传至linux后,通过tar命令解压。通过shift + g定位光标到最后一行。Linux版本:Cent OS 9。Linux安装需要下载tar包。4. 刷新profile文件。显示这样,就是安装好啦~tar -xvf 文件名。5. 验证jdk安装结果。

2023-07-24 22:58:13 3506

原创 Redis集群架构其实并不难

Redis 集群架构是一种分布式系统,它将数据分片存储到多个节点上,并使用节点间协调机制来实现数据分布和负载均衡。Redis 集群可以通过横向扩展的方式提高性能和可用性,适用于大规模分布式场景。

2023-05-04 21:47:26 118

原创 Redis哨兵架构

当 Redis 的主节点发生故障时,哨兵(Sentinel)架构可以自动进行主从切换,使得从节点能够接替主节点的功能,并保持服务的可用性。Redis 哨兵架构由多个 Sentinel 节点组成,其中一个充当领头 Sentinel 角色,负责执行自动故障转移的任务。

2023-05-01 16:46:16 273

原创 学习Redis主从架构有何难?

Redis的主从复制是一种数据复制和同步机制,其中一个Redis服务器(称为主服务器)可以通过异步将其数据复制到一个或多个备份Redis服务器(称为从服务器)。这种复制模式允许在主服务器上进行写操作,而从服务器只能读取数据。

2023-05-01 12:27:26 64

原创 Redis持久化机制看这一篇就够了!

Redis 的持久化指的是将内存中的数据持久化到磁盘上,以便在 Redis 服务器重启或宕机时能够恢复数据。Redis 支持两种持久化方式:RDB 和 AOF。

2023-04-26 22:09:51 1297

原创 Parallels Desktop中安装及配置CentOS 9

的网卡配置文件移动在 /etc/NetworkManager/system-connections/好了,到这静态ip就设置完成了。重启完成后通过ifconfig检查一下ip,确认就是刚才我们设置的那个ip。安装完毕后进入语言选择页面,根据需要选择对应语言,然后继续。然后就进入到安装页面类,直接回车,继续执行,等待系统安装。设置完毕后点击开始安装,然后等待几分钟,等系统安装完毕。然后将刚才下载的CentOS 9镜像拖动到此处,点击继续。和之前的版本都不一样了,设置网卡。设置ipv4为手动,并设置静态IP。

2023-04-23 23:06:58 3038 9

原创 Linux系统中安装Redis

Redis(Remote Dictionary Server ),即远程字典服务,是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。

2023-04-22 17:57:00 154

原创 VMware中安装CentOS8一看就会

centos8安装及静态IP配置

2023-04-22 16:35:12 859

原创 自定义类加载器

自定义类加载器

2023-04-09 16:23:54 134

原创 JVM类加载机制

JVM、类加载机制、双亲委派机制

2023-04-05 16:22:31 175

原创 线程创建的三种方式

线程创建的三种方式

2022-11-27 23:27:51 5714

原创 并发编程 - 线程基础知识入门

线程让进程的内部并发成为可能

2022-11-07 23:04:49 73

原创 Java集合之HashSet

HashSet实现自Set接口,它是由哈希表支持的一个集合

2022-11-01 23:11:32 366

空空如也

空空如也

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

TA关注的人

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