- 博客(4)
- 收藏
- 关注
原创 Java 并发编程的相关问题整理
进程是系统运行程序的基本单位.而线程是进程在执行过程中产生的更小的执行单位.与进程不同的是,不同的是在Java中,线程有自己独立的程序计数器/虚拟机栈/本地方法栈,还可以共享进程的堆和方法区资源.简单来说,就是儿子可以共享老爸的钱和人脉.以前的Java线程是用户线程,间接通过jvm操作内核线程.现在已经改变了,java线程的本质就是操作系统的线程.一个java线程就对应一个内核线程.
2025-02-28 18:24:24
640
原创 基于Reactor模式浅谈Redis的网络IO设计
我可以先认为Redis主要使用单线程的设计模式,是因为内存少,内存操作速度快,所以设计的时候基本不考虑大数据的存储和同步的问题.多线程是因为需要大量的数据操作,从而导致的异步通信问题,但如果数据本身就不是很多,而且处理起来就很快,那么就不需要考虑数据处理速度的问题.Redis更多的应该考虑的是网络IO问题.答案是是的.但有区别,成本不一样,我和媒婆沟通成本比较低,和女孩沟通成本比较高.就好像我们约媒婆出来见面,只要喝个茶就行了,聊聊情况就知道了.但是如果约女孩出来,可能吃个饭送个礼物都不见影子.
2025-02-27 15:49:58
297
原创 浅谈数据类型01
说到第一点,就不得不提ASCII编码表,ASCII表由美国人创立,规定了常用的字母/数字/符号与灯泡之间的关系.刚刚这些重要常用的符号就有128个,也就是说我要区分128个符号,就得使用128种不同灯泡亮暗排列方式进行排列.理论上7个灯泡排列可以表示256种方式,但早期不需要用那么多的符号.但第8个灯泡用作奇偶校验位.奇偶校验的原理就是在最高位指示该字节中1的奇偶性.简单来说,cpu寻址的方式是通过矩阵的方式对内存进行编码,有点像军队矩阵的方式.那么如何确定军队矩阵中的某一个人呢?
2024-06-05 20:05:07
157
原创 简单理解go mod init
一个项目,不可能所有的轮子都可以亲自去实现,所以需要应用其他写好的库.引用其他写好的库时,会发现一个问题,就是版本问题.其他的库的版本可能会隔一段时间就更新,甚至更新完后,连引用的函数名都消失了.这种情况是很可怕的,所以为了保证我们的引用是规范有效的,需要在引用其他库的时候,指定其版本和路径.在遇到一个事物之前,不能简单地认为它是什么,更应该理解这是在什么背景下,出于什么目的产生的.
2024-05-28 22:36:26
541
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人