一.什么是CAS? CAS是compare and swap的缩写(比较和交换)。 在计算机科学中,比较和交换(Conmpare And Swap)是用于实现多线程同步的原子指令。 它将内存位置的内容与给定值进行比较,只有在相同的情况下,将该内存位置的内容修改为新的给定值。 这是作为单个原子操作完成 ...
分类:
其他好文 时间:
2020-05-21 16:23:22
阅读次数:
71
公司最近在招 Java 开发岗,居然一天内就收了几百份简历!想不到吧?! 都快面吐了,想招一个合适的技术同学太不容易了,需要去挖的细节太多了。 一般来说,很多人都会被问 JVM原理、多线程、数据结构和算法、高并发、设计模式等内容,这是在评估普通 Java 面试者的知识结构。 但!如果要面 P7 的技 ...
分类:
其他好文 时间:
2020-05-21 16:22:23
阅读次数:
123
一、为什么需要协程 在回答这个问题之前,我们先回顾一下同步和异步的概念。 同步 :就是发出一个调用时,在没有得到结果之前,该调用就不返回,调用者需要一致等待该调用结束,才能进行下一步工作。 异步 :调用在发出去后,不等待结果,直接进行下一步工作,当结果出来后通过状态来通知调用者继续回来处理该调用。 ...
分类:
其他好文 时间:
2020-05-21 16:01:54
阅读次数:
47
高性能key-value分布缓存,多线程,主线程/工作线程 slab机制 slab->trunk->item 默认slab1M trunk size 递增 freelist LRU 通过hashtable定位key 单向链表解决冲突 高性能特性,单节点百万级QPS 系统架构 网络处理 libeven ...
分类:
系统相关 时间:
2020-05-21 11:54:43
阅读次数:
83
Java IO(八) PipedInputStream 和 PipedOutputStream 一、介绍 PipedInputStream 和 PipedOutputStream 是管道输入流和管道输出流。它们的作用就是让多线程通过管道进行线程间的通讯。在使用管道通讯时,必须 PipedInputS ...
分类:
编程语言 时间:
2020-05-21 09:56:22
阅读次数:
43
可能这份面试题还不足以包含所有Java问题,但有了它,我相信你一定不会“败”的很惨,有了它,足以应对目前市面上绝大部分的Java面试了,因为这些问题不论是从深度还是广度上来讲,都已经囊括了非常多的知识点了。包含的模块本文分为十九个模块,分别是:Java基础、容器、多线程、反射、对象拷贝、JavaWeb、异常、网络、设计模式、Spring/SpringMVC、SpringBoot/SpringClo
分类:
编程语言 时间:
2020-05-21 09:41:24
阅读次数:
70
原文:第三十一节:扫盲并发和并行、同步和异步、进程和线程、阻塞和非阻塞、响应和吞吐等 一. 并发和并行 操作系统扫盲: 1. 对于单核cpu而言(不管单核单线程也好,单核多线程也罢),同一时间只能干一件事!!为了看起像可以“同时干多件事”,windows操作系统把cpu的时间划分为长短基本相同的时间... ...
分类:
编程语言 时间:
2020-05-21 09:20:02
阅读次数:
69
[TOC] 一、什么是Redis redis是一个高性能的key value数据库,它是完全开源免费的,而且redis是一个NOSQL类型数据库,是为了解决高并发、高扩展,大数据存储等一系列的问题而产生的数据库解决方案,是一个非关系型的数据库。但是,它也是不能替代关系型数据库,只能作为特定环境下的扩 ...
分类:
编程语言 时间:
2020-05-20 12:13:27
阅读次数:
65
多线程的状态变化还是比较复杂的,在这其中wait和sleep都能起到使线程中止的目的。
分类:
编程语言 时间:
2020-05-20 09:39:52
阅读次数:
56
在新版谷歌浏览器中,默认并没有开启多线程下载,所以,需要我们手动开启,在谷歌浏览器地址栏输入chrome://flags/命令并回车,进入Chrome实验功能设置。 在Search Flags的搜索框里,输入Parallel downloading并回车,该选项默认是Default设置,将该设置改为 ...
分类:
编程语言 时间:
2020-05-20 00:25:42
阅读次数:
418