山楂树男孩的博客专栏

专注于Java、SpringBoot、SpringCloud、微服务、Docker、Kubernetes、持续集成等领域

java支持的四种I/O模型

同步、异步、阻塞、非阻塞都是和I/O(输入输出)有关的概念,最简单的文件读取就是I/O操作。而在文件读取这件事儿上,可以有多种方式。 本篇会先介绍一下I/O的基本概念,通过一个生活例子来分别解释下这几种I/O模型,以及Java支持的I/O模型。 基本概念 在解释I/O模型之前,我先说明一下几...

2018-12-29 15:21:52

阅读数:42

评论数:0

经典问题之消息队列

面试题 1.为什么使用消息队列? 2.消息队列有什么优点和缺点? 3.Kafka、ActiveMQ、RabbitMQ、RocketMQ 都有什么区别,以及适合哪些场景? 面试官心理分析 其实面试官主要是想看看: 第一,你知不知道你们系统里为什么要用消息队列这个东西? 不少候选人,说自己...

2018-12-27 11:16:05

阅读数:40

评论数:0

2018年Java大企业面试问题

Cvte提前批 阿里内推 便利蜂内推 小米内推 金山wps内推 多益网络 拼多多学霸批 搜狗校招 涂鸦移动 中国电信it研发中心 中兴 华为 苏宁内推 美团内推 ...

2018-09-18 14:43:22

阅读数:175

评论数:0

经典问题之乐观锁和悲观锁及使用场景

悲观锁 悲观锁(Pessimistic Lock),顾名思义,就是很悲观,每次去拿数据的时候都认为别人会修改,所以每次在拿数据的时候都会上锁,这样别人想拿这个数据就会block直到它拿到锁。 悲观锁:假定会发生并发冲突,屏蔽一切可能违反数据完整性的操作。 Java synchronized ...

2018-07-24 14:32:57

阅读数:324

评论数:0

经典问题之HashMap碰撞问题

1. HashMap的数据结构 数据结构中有数组和链表来实现对数据的存储,但这两者基本上是两个极端。       数组 数组存储区间是连续的,占用内存严重,故空间复杂的很大。但数组的二分查找时间复杂度小,为O(1);数组的特点是:寻址容易,插入和删除困难; 链表 链表存储区间离散,占用内...

2018-07-24 12:56:58

阅读数:2001

评论数:1

提示
确定要删除当前文章?
取消 删除
关闭
关闭