Java基础
1. String 和StringBuffer和 StringBuilder的区别?
2025年09月20日
公平锁的目的是确保请求锁的线程能够按照请求顺序获得锁,避免锁的饥饿现象。在使用Redis实现分布式锁时我们应该如何保证锁的公平性呢?下面我们就来看看在实际开发中比较常用的几种保证分布式锁的公平性的操作。
可以使用Redis的List结构来实现一个队列,通过这个队列,当请求锁的线程到来时将其标识线程ID放入队列中。在锁的持有线程需要释放锁的时候,我们可以从队列中从队列中取出下一个请求并给它分配锁。
2025年09月20日
在并发编程中,同步是一个重要的概念。它用于控制对共享资源的访问,确保线程之间的正确协作和数据一致性。 Java并发包中的
AbstractQueuedSynchronized(AQS)提供了一个强大的同步框架,可以用于构建各种同步器,如lock(锁)、semaphore(信号量)、CountDownLatch(倒计时门栓)等。本文将深入探索AQS的原理和应用、特性以及AQS的源码。
2025年09月20日
在 POSIX 系统中,进程间通信是一个很有意思的话题。
POSIX信号量进程是3种 IPC(Inter-Process Communication) 机制之一,3种 IPC 机制源于 POSIX.1 的实时扩展。Single UNIX Specification 将3种机制(消息队列,信号量和共享存储)置于可选部分中。在 SUSv4 之前,POSIX 信号量接口已经被包含在信号量选项中。在 SUSv4 中,这些接口被移至了基本规范,而消息队列和共享存储接口依然是可选的。
2025年09月20日
1.引言
毕业已经一年有余,这一年里特别感谢技术管理人员的器重,以及同事的帮忙,学到了不少东西。这一年里走过一些弯路,也碰到一些难题,也受到过做为一名开发却经常为系统维护和发布当救火队员的苦恼。遂决定梳理一下自己所学的东西,为大家分享一下。
经过一年意识到以前也有很多认识误区,比如:
偏爱收集,经常收集各种资料视频塞满一个个硬盘,然后心满意足的看着容量不行动。
2025年09月20日
我们知道,Java程序的运行需要一个运行时环境,即:JVM,启动Java进程即启动了一个JVM。
2025年09月20日
“学 RTOS,光看 FreeRTOS 不够;自己写一个小 OS,才是真的懂。”
在 STM32、RISC-V 等 MCU 项目的开发中,许多初学者面临着从裸机到操作系统的转变难题。FreeRTOS 功能齐全,却结构复杂,直接上手容易迷失。
2025年09月20日
之前关于iOS开发多线程的内容发布过一篇博客,其中介绍了NSThread、操作队列以及GCD,介绍的不够深入。今天就以GCD为主题来全面的总结一下GCD的使用方式。GCD的历史以及好处在此就不做过多的赘述了。本篇博客会通过一系列的实例来好好的总结一下GCD。GCD在iOS开发中还是比较重要的,使用场景也是非常多的,处理一些比较耗时的任务时基本上都会使用到GCD, 在使用是我们也要主要一些线程安全也死锁的东西。
本篇博客中对iOS中的GCD技术进行了较为全面的总结,下方模拟器的截图就是我们今天要介绍的内容,都是关于GCD的。下方视图控制器中每点击一个Button都会使用GCD的相关技术来执行不同的内容。本篇博客会对使用到的每个技术点进行详细的讲解。在讲解时,为了易于理解,我们还会给出原理图,这些原理图都是根据本篇博客中的实例进行创作的,在其他地方可见不着。