Java 非阻塞 IO 和异步 IO

上一篇文章介绍了 Java NIO 中 Buffer、Channel 和 Selector 的基本操作,主要是一些接口操作,比较简单。 本文将介绍 非阻塞 IO 和 异步 IO ,也就是大家耳熟能详的 NIO 和 AIO。很多初学者可能分不清楚异步和非阻塞的区别,只是在各种场合能听到 异步非阻塞 这个词。…

hello hello 发布于 2024-08-09

什么是 JVM 字节码?它是如何工作的?

作为 Java程序员都知道 Java是跨平台的语言,编译一次到处运行,这得益于 JVM字节码,这篇文章,我们将一起分析什么是 JVM字节码以及 JVM字节码是如何工作的? Java 源代码经过编译器编译后,就会生成 JVM 字节码,它是一种基于栈的低级、中立于平台的指令架构,每个字节码指令都会在 JVM…

hello hello 发布于 2024-08-09

MySQL索引18连问,谁能顶住

前言 过完这个节,就要进入金银季,准备了 18 道 MySQL 索引题,一定用得上。 1. 索引是什么 索引是一种数据结构,用来帮助提升查询和检索数据速度。可以理解为一本书的目录,帮助定位数据位置。 索引是一个文件,它要占用物理空间。 2. MySQL索引有哪些类型 数据结构维度 B+tree 索引:…

hello hello 发布于 2024-08-09

设计模式学习总结

设计模式 创建型模式 创建型模式 创建型模式的作用就是创建对象,说到创建一个对象,最熟悉的就是 new 一个对象,然后 set 相关属性。但是,在很多场景下,我们需要给客户端提供更加友好的创建对象的方式,尤其是那种我们定义了类,但是需要提供给其他开发者用的时候。 单例…

hello hello 发布于 2024-08-09

JAVA 中原生的 socket 通信机制

当前环境 jdk == 1.8 知识点 socket 的连接处理 IO 输入、输出流的处理 请求数据格式处理 请求模型优化 场景 今天,和大家聊一下 JAVA 中的 socket 通信问题。这里采用最简单的一请求一响应模型为例,假设我们现在需要向 baidu 站点进行通信。我们用 JAVA 原生的 socket 该如何实现。 建立 socket 连接…

hello hello 发布于 2024-08-09

IO模型与Java网络编程模型

基本概念说明 用户空间与内核空间…

hello hello 发布于 2024-08-09

浅析NIO包中的Buffer、Channel 和 Selector

本文将介绍 Java NIO 中三大组件 Buffer、Channel、Selector 的使用。 本来要一起介绍 非阻塞 IO 和 JDK7 的 异步 IO 的,不过因为之前的文章真的太长了,有点影响读者阅读,所以这里将它们放到另一篇文章中进行介绍。 Buffer 一个 Buffer…

hello hello 发布于 2024-08-09

JAVA NIO 一步步构建IO多路复用的请求模型

当前环境 jdk == 1.8 知识点 nio 下 I/O 阻塞与非阻塞实现 SocketChannel 介绍 I/O 多路复用的原理 事件选择器与 SocketChannel 的关系 事件监听类型 字节缓冲 ByteBuffer 数据结构 场景 接着上一篇中的站点访问问题,如果我们需要并发访问10个不同的网站,我们该如何处理? 在上一篇中,我们使用了…

hello hello 发布于 2024-08-09

JDK中的设计模式

本文主要是归纳了JDK中所包含的设计模式,包括作用和其设计类图。 首先来个总结,具体的某个模式可以一个一个慢慢写,希望能对研究JDK和设计模式有所帮助。 设计模式是什么 (1)反复出现问题的解决方案 (2)增强软件的灵活性 (3)适应软件不断变化 学习JDK中设计模式的好处 (1)借鉴优秀代码的设计,有助于提高代码设计能力…

hello hello 发布于 2024-08-09

Spring涉及到的9种设计模式

设计模式 作为工作学习中的枕边书,却时常处于勤说不用的尴尬境地,也不是我们时常忘记,只是一直没有记忆。 在IT学习者网站就设计模式的内在价值做一番探讨,并以spring为例进行讲解,只有领略了其设计的思想理念,才能在工作学习中运用到“无形”。…

hello hello 发布于 2024-08-09
上一页 下一页