摘要:
锁的内存语义 synchronized的底层是使用操作系统的mutex lock实现的。 内存可见性:同步快的可见性是由“如果对一个变量执行lock操作,将会清空工作内存中此变量的值,在执行引擎使用这个变量前需要重新执行load或assign操作初始化变量的值”、“对一个变量执行unlock操作之前
阅读全文
posted @ 2022-03-26 10:43
好好学习一天天向上
阅读(55)
推荐(0)
编辑
摘要:
在Java程序中,一个线程对象只能调用一次start()方法启动新线程,并在新线程中执行run()方法。一旦run()方法执行完毕,线程就结束了。因此,Java线程的状态有以下几种: New:新创建的线程,尚未执行; Runnable:运行中的线程,正在执行run()方法的Java代码; Block
阅读全文
posted @ 2022-03-25 20:53
好好学习一天天向上
阅读(41)
推荐(0)
编辑
摘要:
Java线程常用方法详解 线程的常用方法 1.start() : 线程调用该方法将启动线程,使之从新建状态进入就绪队列排队,一旦轮到它来享用CPU资源时,就可以脱离创建它的线程独立开始自己的生命周期了。 2.run(): Thread类的run()方法与Runnable接口中的run()方法的功能和
阅读全文
posted @ 2022-03-25 20:36
好好学习一天天向上
阅读(389)
推荐(0)
编辑
摘要:
java中创建线程的三种方法以及区别Java使用Thread类代表线程,所有的线程对象都必须是Thread类或其子类的实例。Java可以用四种方式来创建线程,如下所示: 1)继承Thread类创建线程 2)实现Runnable接口创建线程 3)使用Callable和Future创建线程 下面让我们分
阅读全文
posted @ 2022-03-25 20:32
好好学习一天天向上
阅读(22)
推荐(0)
编辑
摘要:
【转】一看你就懂,超详细java中的ClassLoader详解 http://blog.csdn.net/briblue/article/details/54973413 ClassLoader翻译过来就是类加载器,普通的java开发者其实用到的不多,但对于某些框架开发者来说却非常常见。 理解Cla
阅读全文
posted @ 2022-03-25 15:31
好好学习一天天向上
阅读(568)
推荐(0)
编辑
摘要:
Kafka的消息是保存或缓存在磁盘上的,一般认为在磁盘上读写数据是会降低性能的,因为寻址会比较消耗时间,但是实际上,Kafka的特性之一就是高吞吐率。 即使是普通的服务器,Kafka也可以轻松支持每秒百万级的写入请求,超过了大部分的消息中间件,这种特性也使得Kafka在日志处理等海量数据场景广泛应用
阅读全文
posted @ 2022-03-24 18:01
好好学习一天天向上
阅读(90)
推荐(0)
编辑
摘要:
kafka中的消费者在读取服务端的数据时,需要将服务端的磁盘文件通过网络发送到消费者进程,网络发送需要经过几种网络节点。如下图所示: image.png 传统的读取文件数据并发送到网络的步骤如下: (1)操作系统将数据从磁盘文件中读取到内核空间的页面缓存; (2)应用程序将数据从内核空间读入用户空间
阅读全文
posted @ 2022-03-24 18:00
好好学习一天天向上
阅读(112)
推荐(0)
编辑
摘要:
这里“多路”指的是多个网络连接,“复用”指的是复用同一个线程。 redis使用多路复用技术,可以处理并发的连接。非阻塞IO 内部实现采用epoll,采用了epoll+自己实现的简单的事件框架。epoll中的读、写、关闭、连接都转化成了事件,然后利用epoll的多路复用特性,绝不在io上浪费一点时间。
阅读全文
posted @ 2022-03-24 17:56
好好学习一天天向上
阅读(2316)
推荐(0)
编辑
摘要:
优化 https://www.bilibili.com/video/BV1QF411Y7GY?p=57
阅读全文
posted @ 2022-03-14 20:55
好好学习一天天向上
阅读(11)
推荐(0)
编辑
摘要:
mysql存中文 utf-8 mb4 https://www.cnblogs.com/amou/p/9063479.html
阅读全文
posted @ 2022-03-14 17:24
好好学习一天天向上
阅读(33)
推荐(0)
编辑