- 博客(338)
- 资源 (19)
- 收藏
- 关注
原创 查看 Linux 操作系统信息的常用命令
适用于大多数发行版(RedHat/CentOS/Fedora/Debian/Ubuntu等)# 查看系统日志(不同发行版可能不同)# 查看系统架构(32位/64位)# 查看内核版本和操作系统信息。# 查看系统运行时间和平均负载。# 查看磁盘分区和挂载情况。# 查看CPU详细信息。# 或查看特定日志文件。# 查看CPU核心数。# 查看内存使用情况。# 查看详细内存信息。# 查看磁盘详细信息。# 查看磁盘使用情况。# 查看运行中的进程。# 查看网络接口信息。# 查看所有硬件信息。
2025-04-03 15:07:12
164
原创 如何查看linux硬盘是不是SSD
如果没有显示"Nominal Media Rotation Rate"或显示"Solid State Device",则是SSD。在输出中查找"description"字段,通常会标明是SSD还是HDD。"Solid State Device"表示SSD。应替换为你实际的磁盘标识符(如sda、sdb等)。显示具体RPM值(如7200)表示HDD。表示SSD(非旋转设备)表示HDD(旋转磁盘)注意:在这些命令中,
2025-04-03 13:41:23
184
原创 aerospike6.2.0集群部署
进入解压目录aerospike-server-enterprise_6.2.0.0_tools-8.0.2_el8_x86_64,执行sudo ./asinstall。进入/etc/aerospike,修改aerospike.conf。修改astools.conf。
2025-04-01 17:06:24
281
原创 aerospike6.2集群配置
access-address 192.168.1.100 # 本节点对外IP(需替换为实际IP)data-in-memory true # 数据同时驻留内存(高性能模式)replication-factor 2 # 副本数(通常=集群节点数)address 192.168.1.100 # 本节点IP(需替换)multicast-group 239.1.99.222 # 组播地址(默认),因为组播在某些云环境(如 AWS、Azure)可能不可靠。
2025-04-01 14:21:10
893
原创 ApplicationContext与BeanFactory的用法区别
/ 首次调用时初始化。// 自动注入依赖(@Service/@Autowired):基础 DI vs 全栈支持(AOP、事件、国际化等)。// 自动加载并初始化所有单例 Bean(预加载)// 获取 Bean(懒加载,首次调用时初始化)无需 Spring 的高级功能(如 AOP)。需要注解驱动、AOP、事务管理等高级功能。:支持注解、AOP、国际化、资源访问等。// 适用于资源受限环境(如嵌入式设备):不支持注解、AOP、事件等高级特性。// 直接获取已初始化的 Bean。// 发布事件(观察者模式)
2025-04-01 10:11:50
683
原创 如何去评估一个系统的高可用
评估一个系统的高可用性(High Availability, HA)需要从多个维度综合分析,包括架构设计、容错能力、运维监控、灾备机制等。关键组件(数据库、中间件)是否有集群化方案(如 MySQL 主从、Redis Cluster)?是否有集中式日志(如 ELK)和分布式追踪(如 SkyWalking)?是否覆盖全链路指标(CPU、内存、QPS、延迟、错误率)?(恢复时间目标):业务恢复最大耗时(如 ≤ 1分钟)。是否定期进行混沌工程测试(如模拟网络分区、节点宕机)?
2025-03-28 16:26:08
597
原创 离散的数据及参数适合用什么算法做模型
离散数据和参数适用的机器学习算法取决于具体任务(分类、回归、聚类等)、数据特点(稀疏性、类别数量等)以及业务需求。将离散特征(如用户ID、商品类别)通过嵌入层(Embedding Layer)映射为连续向量,再输入DNN。优先尝试树模型(如XGBoost)或概率模型(如朴素贝叶斯),复杂场景可结合嵌入技术或深度学习。用目标变量的统计量(如均值)编码类别,适合高基数特征。对离散特征自动处理(需转换为数值),适合表格数据。降低维度,适合大规模稀疏数据(如文本)。适用于集合型离散数据(如用户兴趣标签)。
2025-03-28 13:40:26
435
原创 redis的key是如何找到对应存储的数据原理
Redis 通过哈希表实现高效的键值对存储和查找。其核心步骤包括:计算 Key 的哈希值。定位哈希槽。遍历链表,找到匹配的键值对。为了提高性能,Redis 使用了渐进式 Rehash 和链地址法等优化技术。合理设计 Key 可以进一步提升 Redis 的性能和可维护性。
2025-03-20 16:12:14
844
原创 dubbo服务META-INF.dubbo文件夹作用
SPI 是 Java 提供的一种服务发现机制,允许框架在运行时动态加载实现类。Dubbo 对其进行了扩展,使其更加强大和灵活。Dubbo 的 SPI 机制通过。
2025-03-20 11:27:22
795
原创 TreeNode底层实现原理
Java 中的TreeNode是树结构的基本单元,通过对象引用实现节点之间的连接。其核心是数据域和子节点引用,具体的实现和操作会根据树的类型(如二叉树、多叉树、平衡树等)和应用场景有所不同。
2025-03-19 15:16:32
445
原创 可重入锁synchronized
可重入锁是指一个线程在已经持有锁的情况下,可以再次获取该锁。每次获取锁时,锁的计数器会加 1;每次释放锁时,计数器会减 1。只有当计数器归零时,锁才会完全释放,其他线程才能获取该锁。当线程第一次获取锁时,计数器为 1,持有线程设置为当前线程。同一个线程在持有锁的情况下,可以多次获取同一把锁而不会造成死锁。由于锁不可重入,线程 A 会被阻塞,等待自己释放锁,从而导致死锁。是可重入的,线程可以再次获取同一把锁,而不会阻塞。作为内置锁,使用更简单,且不需要显式释放锁。,同一个线程可以多次获取同一把锁。
2025-03-19 10:48:09
300
原创 mysql与redis的日志策略
的写前日志(WAL)机制是为了满足事务的 ACID 特性,特别是持久性(Durability)。在数据写入磁盘之前,先将修改操作记录到日志(Redo Log)中。:记录事务修改前的数据,用于回滚和 MVCC(多版本并发控制)。在数据写入内存后,再将操作记录追加到日志(AOF 文件)中。:定期生成数据快照,不是日志机制,但也是持久化的一种方式。的写后日志(AOF)机制更注重性能,同时通过配置(如。)控制日志写入磁盘的频率,平衡性能和数据安全性。通过记录操作日志,实现数据的持久化。确保数据的持久性和一致性。
2025-03-19 10:28:44
785
原创 org.apache.groovy与org.codehaus.groovy的区别
迁移到 Apache 后,Groovy 的开发更加规范化,并与其他 Apache 项目(如 Apache Maven、Apache Ant)更好地集成。2015 年,Groovy 项目从 Codehaus 迁移到了 Apache 软件基金会(ASF),并成为 Apache 的顶级项目。这是 Groovy 在 Apache 时期的包名前缀,主要用于 Groovy 3.x 及更高版本。这是 Groovy 的早期版本(1.x 和 2.x)使用的包名前缀。如果你使用的是较新的 Groovy 版本,建议使用。
2025-03-17 18:25:27
657
原创 线程的各个方法使用
常用方法start()sleep()join()。注意事项不要使用已弃用的方法(如stop()suspend()resume()使用和来安全地终止线程。守护线程适合执行后台任务,但不要依赖它完成关键任务。
2025-03-17 13:35:10
676
原创 DGL-LifeSci
DGL-LifeSci 提供了多种预定义模型。这里我们使用(基于图卷积网络的预测器)。# 定义模型in_feats=atom_featurizer.feat_size(), # 输入特征维度hidden_feats=[64, 64], # 隐藏层维度n_tasks=1, # 输出任务数(回归任务)activation=torch.relu, # 激活函数。
2025-03-12 17:22:14
814
原创 XGBoost模型使用
以下是,涵盖了从安装、数据准备、模型训练、调优到评估的完整流程。通过这份指南,你可以快速上手 XGBoost 并应用于实际问题。
2025-03-12 17:12:07
831
原创 java线程状态详解与转换
System.out.println("线程状态: " + thread.getState());System.out.println("线程状态: " + thread.getState());System.out.println("线程状态: " + thread.getState());System.out.println("线程状态: " + thread.getState());当线程尝试进入一个被其他线程占用的同步代码块或方法时,线程会进入。:线程无限期等待其他线程的唤醒。
2025-03-11 14:25:22
794
原创 java多线程实现方式
Java提供了多种实现多线程的方式,包括继承Thread类、实现Runnable接口、实现Callable接口、使用线程池、和等。开发者可以根据具体需求选择合适的方式:简单任务:继承Thread或实现Runnable。需要返回值:实现Callable。大量短期任务:使用线程池。异步编程:使用。分治任务:使用。
2025-03-11 14:12:02
548
原创 java虚拟机模型
Java虚拟机(Java Virtual Machine, JVM)是Java平台的核心组件,它负责执行Java字节码,并提供了内存管理、垃圾回收、线程管理等功能。JVM模型是Java程序运行的基础,理解JVM模型对于优化Java程序性能、解决内存泄漏等问题非常重要。JVM的总体架构可以分为以下几个部分:类加载器子系统(Class Loader Subsystem):负责加载类的字节码文件(文件)到内存中。包括加载、验证、准备、解析和初始化等步骤。运行时数据区(Runtime Data Areas):包括方
2025-03-11 13:24:23
251
原创 java内存模型
Java内存模型(JMM)是理解Java并发编程的基础,它定义了多线程环境下线程如何与内存交互,以及如何保证原子性、可见性和有序性。
2025-03-11 13:16:07
937
原创 java双亲委派机制
双亲委派机制是指当一个类加载器收到类加载请求时,它不会立即尝试加载该类,而是将请求委派给父类加载器去完成。每一层的类加载器都会依次向上委派,直到启动类加载器(Bootstrap ClassLoader)。如果父类加载器无法完成加载(在自己的搜索范围内找不到该类),子类加载器才会尝试加载。双亲委派机制是Java类加载机制的核心设计,通过层次化的类加载器结构和委派机制,保证了类的唯一性、安全性和一致性。
2025-03-11 10:25:20
261
原创 ArrayList底层原理
/ 将元素添加到数组末尾。是 Java 中最常用的动态数组实现,它基于数组实现,提供了高效的随机访问和动态扩容功能。// 获取要删除的元素。// 返回数组中的元素。添加元素(尾部):平均 O(1),最坏 O(n)(扩容时)。直接通过索引访问数组中的元素,时间复杂度为 O(1)。添加元素:平均 O(1),最坏 O(n)。删除元素:平均 O(n),需要移动元素。
2025-03-07 18:12:42
557
原创 ConcurrentHashMap底层原理
最坏情况下(所有键都映射到同一个桶),时间复杂度是 O(n) 或 O(log n)(红黑树)。:平均时间复杂度 O(1),最坏情况下 O(n) 或 O(log n)。:默认是 0.75,表示当元素数量达到容量的 75% 时,会触发扩容。是线程安全的,支持高并发的读写操作。如果是红黑树,将树拆分为两个链表,分别插入新数组。如果是链表,重新计算每个节点的索引,插入新数组。创建一个新的数组,容量是原数组的 2 倍。如果是红黑树,调用红黑树的插入方法。如果是红黑树,调用红黑树的查找方法。
2025-03-07 17:47:14
525
原创 HashMap底层原理
最坏情况下(所有键都映射到同一个桶),时间复杂度是 O(n) 或 O(log n)(红黑树)。当链表的长度超过阈值(默认是 8)时,链表会转换为红黑树,以提高查找效率。:平均时间复杂度 O(1),最坏情况下 O(n) 或 O(log n)。转换的目的是将查找时间复杂度从 O(n) 降低到 O(log n)。当红黑树的节点数量减少到阈值(默认是 6)时,红黑树会转换回链表。当链表的长度超过阈值(默认是 8)时,链表会转换为红黑树。如果链表长度超过阈值(默认是 8),将链表转换为红黑树。
2025-03-07 17:42:00
675
原创 nginx: [emerg] bind() to 0.0.0.0:8099 failed (98: Unknown error)
通常是由于端口被占用、权限不足或配置错误引起的。通过检查端口占用、权限、配置文件和系统设置,可以解决该问题。是 Nginx 启动或重启时常见的错误,通常表示 Nginx 无法绑定到指定的端口(这里是。如果系统启用了 SELinux 或防火墙,可能会阻止 Nginx 绑定端口。如果端口被占用,输出会显示占用端口的进程 ID(PID)和进程名称。端口(通常低于 1024 的端口需要 root 权限)。:配置文件中可能存在重复的端口绑定。表示端口已被占用或没有权限绑定。),确保没有重复的端口绑定。
2025-03-07 14:38:18
390
原创 Java中CAS原理
它是一种原子操作,用于在多线程环境下实现线程安全的变量更新。:CAS 只能检查变量的值是否发生变化,而不能检查变量的值是否被修改过多次。:CAS 只能对一个变量进行原子操作,无法保证多个变量的原子性。如果 CAS 失败,则重新读取变量的当前值,并重复上述步骤。线程调用 CAS 操作,尝试将变量的值从当前值更新为新值。CAS 操作是原子的,即在执行过程中不会被其他线程打断。)实现,能够在不使用锁的情况下保证操作的原子性。:在低竞争情况下,CAS 的性能优于锁机制。:CAS 操作是原子的,能够保证线程安全。
2025-03-06 18:11:18
553
原创 Java中AQS机制原理
acquireQueued(addWaiter(Node.EXCLUSIVE), arg)) // 加入队列并等待。// 如果等待过程中被中断,则恢复中断状态。tryAcquire(arg) && // 尝试获取资源。AQS 的设计非常灵活,通过实现少量的模板方法,可以构建各种复杂的同步器。if (tryRelease(arg)) { // 尝试释放资源。:获取共享资源,如果失败则进入同步队列等待。:获取资源,如果失败则进入同步队列等待。来实现同步队列,队列中的每个节点(成功,则唤醒同步队列中的后继节点。
2025-03-06 18:02:06
763
原创 mysql中如何保证没有幻读发生
在 MySQL 中,幻读(Phantom Read)是指在一个事务中,两次相同的查询返回了不同的结果集,通常是由于其他事务插入或删除了符合查询条件的数据。默认情况下,MySQL 的可重复读隔离级别通过 MVCC 和 Next-Key Lock 避免了幻读。Next-Key Lock 是 MySQL 在可重复读隔离级别下避免幻读的锁机制。是 MySQL 的默认隔离级别,在该级别下,MySQL 通过。锁定索引记录之间的间隙,防止其他事务在间隙中插入新数据。这样,在当前事务中再次执行相同的查询时,不会出现幻读。
2025-03-06 17:36:00
1020
原创 mysql中什么机制保证宕机数据恢复
记录事务修改前的数据状态(逻辑日志),用于回滚未提交的事务和实现 MVCC(多版本并发控制)。这些机制共同作用,确保 MySQL 在宕机或崩溃后能够快速恢复数据,保证数据的完整性和一致性。:从 Checkpoint 开始,重放 Redo Log 中的操作,恢复未持久化的数据。在事务回滚或崩溃恢复时,可以通过 Undo Log 恢复到事务开始前的状态。:记录所有对数据的修改操作(物理日志),用于在崩溃后恢复未写入磁盘的数据。最后,MySQL 会在合适的时机将缓冲池中的数据刷新到磁盘(持久化)。
2025-03-06 17:29:21
552
原创 synchronized锁的原理
从无锁 -> 偏向锁 -> 轻量级锁 -> 重量级锁,逐步升级以提高性能。线程会在栈帧中创建锁记录(Lock Record),并将对象头的。如果失败,则说明存在竞争,升级为重量级锁。如果同一个线程再次请求锁,可以直接获取锁,无需同步操作。如果锁状态为重量级锁,则线程进入阻塞状态,等待锁的释放。:当有多个线程竞争时,偏向锁会升级为轻量级锁。如果锁状态为偏向锁或轻量级锁,则直接释放锁。:当竞争激烈时,轻量级锁会升级为重量级锁。机制,线程会进入阻塞状态,等待锁的释放。代码块时,JVM 会检查对象头的锁状态。
2025-03-06 17:22:39
677
原创 ReentrantLock锁的原理
acquireQueued(addWaiter(Node.EXCLUSIVE), arg)) { // 加入同步队列并等待。} else if (current == getExclusiveOwnerThread()) { // 可重入逻辑。compareAndSetState(0, acquires)) { // 尝试获取锁。if (compareAndSetState(0, 1)) { // 尝试直接获取锁。// 直接进入 AQS 的获取锁逻辑。if (c == 0) { // 锁完全释放。
2025-03-06 17:12:15
644
原创 Java锁
if (lock.tryLock(1, TimeUnit.SECONDS)) { // 尝试获取锁,最多等待 1 秒。// 3 个线程相互等待。stampedLock.validate(stamp)) { // 检查是否被写操作修改。synchronized (this) { // 锁住当前对象。
2025-03-06 17:08:00
690
原创 mysql当前读与快照读
- 更新数据并提交。-- 仍然读取事务开始时的数据(快照读)-- 快照读,读取事务开始时的数据。-- 快照读,读取事务开始时的数据。:读取数据时,基于事务开始时的数据快照,而不是最新的数据。读取的数据是事务开始时的快照,不受其他事务的影响。读取的数据是最新的,可能包括其他事务已提交的修改。:读取数据时,直接读取最新的数据,而不是快照。隔离级别下,快照读每次读取时生成新的快照。隔离级别下,快照读使用事务开始时的快照。
2025-03-04 13:27:28
952
超精美工作总结汇报PPT模板.pptx
2019-11-27
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人