面试整体事项 简历要准备好,联系方式一定要正确清晰醒目,项目经历按照时间倒序阐述,注意描述自己在项目中承担的职责,简历的模板尽量选择简洁的,毕竟程序员大部分还是喜欢简单明了的。推荐boss直聘,我觉得很好用(不是广告)。一般的整体面试流程都是电面->现场面->HR面->等着。不要觉
Java NIO 基本介绍 Java NIO 全称 java non-blocking IO,是指 JDK 提供的新 API。从 JDK1.4 开始,Java 提供了一系列改进的输入/输出的新特性,被统称为 NIO(即 New IO),是同步非阻塞的NIO 相关类都被放在 java.nio 包及子包下,并且对原 java.io 包中的很多类进行改写。NIO 有三大
请你说一说BIO、NIO、AIO 有什么区别? 在对比这三者的区别之前,先了解一下什么是同步/异步、阻塞/非阻塞: 同步:一个任务的完成之前不能做其他操作,必须等待(单行道,前车不走你没法走)。 异步,一个任务的完成之前,可以进行其他操作(多行道,前车不走,你换条道走)。 阻塞,是相对于CPU来说的, 挂起
Netty 是一个利用 Java 的高级网络的能力,隐藏了Java背后的复杂性然后提供了一个易于使用的 API 的客户端/服务器框架。 高性能 扩展性强 在网络发展初期,需要花很多时间来学习 socket 的复杂,寻址等等,在 C socket 库上进行编码,并需要在不同的操作系统上做不同的处理。 Java
前言 在上一篇文章中,我们了解了操作系统中内核程序和用户程序之间的区别和联系,还提到了内核空间和用户空间,当我们需要读取一条数据的时候,首先需要发请求告诉内核,我需要什么数据,等内核准备好数据之后 , 再从内核空间拷贝到用户空间 注意加粗的部分,这两个阶段至关重要 对以上的两
第一章 BIO、NIO、AIO课程介绍 身边同学写的,没发布出来,我算是转载 1.1 课程说明 在Java的软件设计开发中,通信架构是不可避免的,我们在进行不同系统或者不同进程之间的数据交互,或者在高并发下的通信场景下都需要用到网络通信相关的技术,对于一些经验丰富的程序员来说,Java早期
本文是笔者在之前写过的一篇《iostat IO统计原理linux内核源码分析----基于单通道SATA盘》基础上,对IO传输过程涉及的IO请求的合并、加入IO算法队列、从IO算法队列派发IO请求、deadline调度算法涉及的linux内核源码,做更深层次的探讨,内核版本3.10.96。更详细的源码注释见h
IO复用,AIO,BIO,NIO,同步,异步,阻塞和非阻塞 区别( 如果面试问到IO操作,这篇文章提到的问题,基本是必问,百度的面试官问我三个问题 (1)什么是NIO(Non-blocked IO),AIO,BIO (2) java IO 与 NIO(New IO)的区别 (3)select 与 epoll,poll区别 我胡乱说了一气,自己边说边觉得完蛋了。果然,
什么是Netty? Netty 是一个利用 Java 的高级网络的能力,隐藏其背后的复杂性而提供一个易于使用的 API 的客户端/服务器框架。 Netty 是一个广泛使用的 Java 网络编程框架(Netty 在 2011 年获得了Duke's Choice Award,见https://www.java.net/dukeschoice/2011)。它活跃和成长于用户
# 1\. 前言大家都知道,Postman是一个非常受欢迎的API接口调试工具,提供有Chrome扩展插件版和独立的APP,不过它的很多高级功能都需要付费才能使用。![](https://s2.51cto.com/images/20210709/1625784608272306.jpg)如果你连Postman都还没有用过,不妨可以先体验一番。Postman官网:```htt
直击面试 反正我是带着这些问题往下读的 说一下 JVM 运行时数据区吧,都有哪些区?分别是干什么的?Java 8 的内存分代改进举例栈溢出的情况?调整栈大小,就能保存不出现溢出吗?分配的栈内存越大越好吗?垃圾回收是否会涉及到虚拟机栈?方法中定义的局部变量是否线程安全? 运行时数据区 内存
作为一个 java 中年兵,每每遇到面试要准备的时候,都绕不开 BIO、NIO 这个话题。 最近又打开了一篇 NIO 文章,刚阅读前面部分的时候,突然想通了一些问题。想阅读原文的朋友可以vx文章里搜一下“NIO 概览”这个标题,是收集于 JavaGuide 公众号的一篇文章。 其在最开始提到: NIO中的N可以
## Java NIO 基本介绍* Java NIO 全称 java non-blocking IO,是指 JDK 提供的新 API。从 JDK1.4 开始,Java 提供了一系列改进的输入/输出的新特性,被统称为 NIO(即 New IO),是同步非阻塞的* NIO 相关类都被放在 java.nio 包及子包下,并且对原 java.io 包中的很多类进行改写。* NI
在线聊天时序图 服务端实现 主程序入口 1 package server; 2 3 import java.io.BufferedWriter; 4 import java.io.IOException; 5 import java.io.OutputStreamWriter; 6 import java.io.Writer; 7 import java.net.ServerSocket; 8 import java.net.Soc
BIO的网络通信原理 BIO的特点就是每次一个客户端接入,都要在服务端创建一个线程来服务于这个客户端,所以如果有很多个客户端,就会对应成千上万个服务端线程,这会导致服务端负载过高,甚至卡死。 NIO的网络通信原理 1.一个客户端会对应一个channel,然后多路复用器selector会轮询channel
Java NIO 基本介绍 Java NIO 全称 java non-blocking IO,是指 JDK 提供的新 API。从 JDK1.4 开始,Java 提供了一系列改进的输入/输出的新特性,被统称为 NIO(即 New IO),是同步非阻塞的NIO 相关类都被放在 java.nio 包及子包下,并且对原 java.io 包中的很多类进行改写。NIO 有三大
常见的分布式事务场景 分布式事务其实就在我们身边,你一直在用,但是你却一直不注意它。 转账 扣你账户的余额,增加别人账户余额,如果只扣了你的,别人没增加这是失败;如果没扣你的钱别人也增加了那银行的赔钱。 下订单/扣库存 电商系统中这是很常见的一个场景,用户下单成功了,店家没收
一、业务场景介绍 先来给大家说一个业务场景,假设咱们现在开发一个电商网站,要实现支付订单的功能,流程如下: 创建一个订单之后,如果用户立刻支付了这个订单,我们需要将订单状态更新为“已支付” 扣减相应的商品库存 通知仓储中心,进行发货 给用户的这次购物增加相应的积分 针对上述
简介 BIO Blocking IO 阻塞IO 简单来说, 就是服务器对每一个接收数据请求, 开启一个线程进行对于数据和逻辑的处理, 但是能创建的线程数量有限. 很多处理逻辑开启的线程处于阻塞状态. NIO Non-blocking IO 非阻塞 IO 简单来说, 服务器对于每一个接受数据的请求, 就是多路复用器,可
前言 本文涵盖了阿里巴巴、腾讯、字节跳动、京东、华为等大厂的Java面试真题,不管你是要面试大厂还是普通的互联网公司,这些面试题对你肯定是有帮助的,毕竟大厂一定是行业的发展方向标杆,很多公司的面试官同样会研究大厂的面试题。 与此同时,今年算法面试一定是会被问的,而算法不
必要的基础 IO:输入输出(IO)是指计算机同任何外部设备之间的数据传递。 同步与异步 同步: 同步就是发起一个调用后,被调用者未处理完请求之前,调用不返回。 异步: 异步就是发起一个调用后,立刻得到被调用者的回应表示已接收到请求,但是被调用者并没有返回结果,此时我们可以处理其他的
前言:今天在学习netty,看了BIO一章,内容也非常的简单,书中的例子也非常的简单,我又把其中的代码敲了一遍,感觉虽然简单,却受益匪浅,使我对阻塞同步式IO有了更清晰的认知。 经典的BIO例子,就是有一个服务端,负责监听客户端连接,然后为每一个客户端建立线程,处理客户端的请求,处理完成后销毁。
BIO是一个连接一个线程。 NIO是一个请求一个线程。 AIO是一个有效请求一个线程。 先来个例子理解一下概念,以银行取款为例: 同步 : 自己亲自出马持银行卡到银行取钱(使用同步IO时,Java自己处理IO读写); 异步 : 委托一小弟拿银行卡到银行取钱,然后给你(使用异步IO时,Java将IO读写委托给OS
前言 写文章的目的是想通过记录自己的学习过程,以便以后使用到相关的知识点可以回顾和参考。 一、块设备驱动框架 . 1、 block_device 结构体 linux 内核使用 block_device 表示块设备, block_device 为 一 个 结 构 体 , 定 义 在 include/linux/fs.h 文件中,结构体内容如下: str
谈起MyBatis,我先提个问:什么是 MyBatis ? MyBatis 是支持定制化 SQL、存储过程以及高级映射的优秀的持久层框架。MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。MyBatis 可以对配置和原生Map使用简单的 XML 或注解,将接口和 Java 的 POJOs(Plain Old Java O