我是攻城师

468 篇文章
62 人订阅

缓存

我是攻城师

为什么Java里面String类是不可变的

在Java里面String类型是不可变对象,这一点毫无疑问,那么为什么Java语言的设计者要把String类型设计成不可变对象呢?这是一个值得思考的问题。

773
我是攻城师

为什么单线程Redis性能也很出色

高性能的服务器,不一定是多线程实现的,也就是说多线程不一定比单线程效率高,这得分具体的情况。以redis为例,核心处理请求的线程只有一个,所以我们常常理解其仅仅...

1263
我是攻城师

关于Java的BIO,NIO和AIO的演进

Java里面的IO模型种类较多,主要包括BIO,NIO和AIO,每个IO模型都有不一样的地方,那么这些IO模型是如何演变呢,底层的原理又是怎样的呢? 本文我们就...

981
我是攻城师

IO设计模式之Reactor和Proactor

上面文章中,我们提到不同的操作系统实现的io策略可能不一样,即使是同一个操作系统也可能存在多重io策略,常见如linux上的select,poll,epoll,...

1531
我是攻城师

理解JVM垃圾回收的机制

其中(1)和(2)我们在之前已经介绍过了,今天我们来学习一下关于JVM垃圾回收(Garbage Collection)的内容:

1771
我是攻城师

理解Java并发工具包线程池的设计

创建线程的流程依赖底层的操作系统,不同的操作系统可能不一样,此外更多的线程意味着 OS调度需要做更多的工作来决定哪一个线程可以访问资源,并且要通过OS调度切换维...

1282
我是攻城师

理解Java并发工具类CountDownLatch

CountDownLatch相信大家并不陌生,我们在上篇文章中已经分析其实现,这里在简单回顾一下CountDownLatch是基于AQS共享锁构建的一种同步器,...

1225
我是攻城师

为什么说Elasticsearch搜索是近实时的?

36913
我是攻城师

Nginx入门介绍与安装

3074
我是攻城师

你选的不是专业,而是阶级

4375
我是攻城师

10行Java代码实现最近被使用(LRU)缓存

3604
我是攻城师

spark总体概况

3416

扫码关注云+社区