首先我们分别画图来看看,BIO、NIO、AIO,分别是什么?BIO:传统的网络通讯模型,就是BIO,同步阻塞IO它其实就是服务端创建一个ServerSocket, 然后就是客户端用一个Socket去连接服务端的那个ServerSocket, ServerSocket接收到了一个的连接请求就创建一个Socket和一个线程去跟那个Socket进行通讯。接着客户端和服务端就进行阻塞式的通信,客户端发送一
原创
2021-12-24 17:16:28
85阅读
首先我们分别画图来看看,BIO、NIO、AIO,分别是什么?BIO:传统的网络通讯模型,就是BIO,同步阻塞IO它其实就是服务端创建一个ServerSocket, 然后就是客户端用一个Socket去连接服务端的那个ServerSocket, ServerSocket接收到了一个的连接请求就创建一个Socket和一个线程去跟那个Socket进行通讯。接着客户端和服务端就进行阻塞式的通信,客户
原创
2022-03-03 16:49:41
129阅读
JavaOOP面试题0221、String 是最基本的数据类型吗?22、float f=3.4;是否正确?23、short s1 = 1; s1 = s1 + 1;有错吗?short s1 = 1; s1 += 1; 有错吗?24、重载和重写的区别重写**(Override)**重写 总结:重载(Overload)重载总结:25、equals与==的区别==:equals:总结:36、++i与i
转载
2023-07-13 15:06:11
62阅读
Hello,各位小伙伴们,我们的面试真题系列又来啦~JDK 中常用的包有哪些java.lang:这个是系统的基础类;java.io:这里面是所有输入输出有关的类,比如文件操作等;java.nio:为了完善 io 包中的功能,提高 io 包中性能而写的一个新包;java.net:这里面是与网络有关的类;java.util:这个是系统辅助类,特别是集合类;java.sql:这个是数据库操作的类。imp
转载
2023-07-17 21:42:31
124阅读
点赞
传统 IO 基于字节流和字 符流进行操作,而 NIO 基于 Channel 和 Buffer(缓冲区)进行操作,数据总是从通道读取到缓冲区 中,或者从缓冲区写入到通道中。Selector(选择区)用于监听多个通道的事件(比如:连接打开, 数据到达)。因此,单个线程可以监听多个数据通道。
转载
2023-07-20 17:37:15
71阅读
目录前言JavaOOP面试题1、什么是B/S架构?什么是C/S架构2、Java都有那些开发平台?4、Java语言有哪些特点6、什么是数据结构?7、Java的数据结构有那些?8、什么是OOP?9、类与对象的关系?10、Java中有几种数据类型12、instanceof关键字的作用13、什么是隐式转换,什么是显式转换14、Char类型能不能转成int类型?能不能转化成string类型,能不能转成dou
转载
2023-07-26 19:33:55
56阅读
JAVA面试题 —————— JVM篇011、请你简述一下JAVA内存结构(运行时数据区)如图所示:1.1、程序计数器程序计数器:线程私有。一块较小的内存空间,程序计数器用于保存JVM中下一条所要执行的字节码指令的地址!如果正在执行的是Native方法,则这个计数器值为空,程序计数器在硬件层面是通过寄存器实现的。JAVA指令执行流程:
.java代码源文件经过编译为.class二进制文件
.cla
转载
2023-09-18 07:13:39
51阅读
1、String类可以被继承吗?String类在声明时使用final关键字修饰,被final关键字修饰的类无法被继承。接下来我们可以看一下String类的源代码片段:public final class String
implements java.io.Serializable, Comparable<String>,CharSequence {
/**
转载
2023-09-14 14:48:52
53阅读
阿里面试总结1.一面首先确认对阿里的意向度;其次面试官会针对你曾经做过的项目来做具体技术的交流,你对项目细节是不是掌握到位,以及java技术基础和原理掌握程序,比如并发编程以及数据库和JVM三个方面,也会交流到分布式、线程池的实现等等(重点考察有没有深入钻研技术和技术上的亮点);2.二面技术面,根据项目深入的了解技术实力,了解你的知识面、问题解决能力以及技术灵活运用能力,也通过这一过程考察团队合作
转载
2023-07-26 19:34:27
88阅读
说明:本节内容来源于网络汇总输入输出流是相对于内存而言的!1、面试题汇总(1)java中有几种类型的流?字符流和字节流。字节流继承inputStream和OutputStream,字符流继承自InputSteamReader和OutputStreamWriter。(2)谈谈Java IO里面的常见类,字节流,字符流、接口、实现类、方法阻塞答:输入流就是从外部文件输入到内存,输出流主要是从内存输出到
转载
2023-07-04 19:35:50
72阅读
首先我们分别画图来看看,BIO、NIO、AIO,分别是什么?BIO:传统的网络通讯模型,就是BIO,同步阻塞IO它其实就是服务端创建一个ServerSocket, 然后就是客户端用一个Socket去连接服务端的那个ServerSocket, ServerSocket接收到了一个的连接请求就创建一个Socket和一个线程去跟那个Socket进行通讯。接着客户端和服务端就进行阻塞式的通信,客户端发送一
前言本题集列举了众多IT公司面试真题,对应聘Java程序员职位的常见考点和知识体系都进行的分类和归纳整理。本题集适合应聘Java和Java SE职位的程序员作为面试复习、学习和强化的资料,也适合其他程序员作为拓展读物进行阅读。本题集包含了常见的算法、面试题,也包含了新的高级技术,比如:微服务架构等技术的面试题目。本题集非常全面,对于工作1-5年左右的java程序员面试有非常好的指导作用。大家也可以
请你说一说BIO、NIO、AIO 有什么区别? 在对比这三者的区别之前,先了解一下什么是同步/异步、阻塞/非阻塞: 同步:一个任务的完成之前不能做其他操作,必须等待(单行道,前车不走你没法走)。 异步,一个任务的完成之前,可以进行其他操作(多行道,前车不走,你换条道走)。 阻塞,是相对于CPU来说的 ...
转载
2021-07-29 20:24:00
263阅读
2评论
面试也好,学习的技术知识也好,IOC和AOP都是很重要的东西,这篇文章分享一下我对这个技术知识点的了解。什么是IOC? IOC控制反转/反转控制。它是一种思想不是一个技术实现。描述的是:Java开发领域对象的创建以及管理的问题。 例如:现有类A依赖于类B 使用IOC思想的开发方式:不通过new关键字来创建对象,而是通过IOC容器来帮助我们实例化对象。我们需要哪个对象,直接从IOC容器里面获取
转载
2024-09-04 21:06:50
18阅读
前言Java虚拟机栈是线程私有的,没有数据安全问题,而堆相比较于Java虚拟机栈而言更为复杂,因为堆是所有线程共享的一块内存空间,会出现线程安全性问题,而垃圾回收也主要是回收堆内空间,所以堆内的布局我们非常有必要深入去了解一下。现在就让我们继续来分析一下堆内布局以及Java对象在内存中的布局吧。Java BIO 问题分析每个请求都需要创建独立的线程,与对应的客户端进行数据 Read,业务处理,数据
转载
2023-07-13 10:53:00
40阅读
java流类图结构 1.什么是IO流?它是一个从源到目标的数据流。文件复制就是一个很好的例子。这涉及两个流——输入流和输出流。输入流从文件中读取数据并将数据存储在流程中(通常以临时变量的形式)。输出流从进程中读取并写入目标文件。 Java流操作有关的类或接口2.有什么必要有两种类型的流-字节流和字符流?字节流是在JDK1.0中引入的,并对包含ASCII字符
转载
2023-09-05 13:50:09
46阅读
前言晴,这样的好天气真的像盲盒,好惊喜!今日学习IO/NIOIO 面向流、阻塞的。NIO 面向缓存、非阻塞的。正文Java NIO(New IO,Non-Blocking IO)是从Java 1.4版本开始引入的一套新的 IO API,可以替代标准的 Java IO API。NIO 与原来的 IO 有同样的作用和目的,但是使用的方式完全不同。NIO 支持面向缓冲区的、基于通道的IO操作。NIO将以
原创
精选
2024-05-16 11:56:18
195阅读
文章目录1、Java 中 IO 流?2、 Java IO与 NIO的区别3、常用io类有那些4、字节流与字符流的区别5、阻塞 IO 模型6、非阻塞 IO 模型7、多路复用 IO 模型8、信号驱动 IO 模型9、异步 IO 模型10、JAVA NIO11、NIO 的缓冲区12、NIO 的非阻塞13、Channel14、Buffer15、Selector扩展连接:[更多请点击这里](https://bl...
原创
2021-05-20 11:22:52
267阅读
1.简介1.1 IO分类Java IO一般包含两个部分:http://java.io的阻塞型IO和java.nio的非阻塞型IO,即NIO。系统运行的瓶颈一般在于IO操作,一般打开某个IO通道需要大量的时间,同时端口中不一定就有足够的数据,这样read方法就一直等待读取此端口的内容,从而浪费大量的系统资源。使用java的多线程技术在当前进程中创建线程也是要花费一定的时间和系统资源的,因此不一定可取
转载
2023-09-11 08:11:32
337阅读
消息队列的使用场景非核心流程异步化,提高系统响应性能应用解耦:系统不是强耦合,消息接受者可以随意增加,而不需要修改消息发送者的代码。消息发送者的成功不依赖消息接受者(比如有些银行接口不稳定,但调用方并不需要依赖这些接口)不强依赖于非本系统的核心流程,对于非核心流程,可以放到消息队列中让消息消费者去按需消费,而不影响核心主流程最终一致性:最终一致性不是消息队列的必备特性,但确实可以依靠消息队列来做最
转载
2023-09-01 10:17:40
51阅读