【Java】BIO源码分析和改造(GraalVM JDK 11.0.19)

【Java】BIO源码分析和改造(GraalVM JDK 11.0.19)

引言本文介绍网络IO编程的入门部分,Java 的传统BIO Socket编程源码分析,了解如何将BIO阻塞行为accept() 和 read() 改造为非阻塞行为,并且将结合Linux文档介绍其中的机制,文档中描述了如何处理Socket的accept,对比Java的Socket实现代码,基本可以发现...

【Java】BIO源码分析和改造(GraalVM JDK 11.0.19)(二)

【Java】BIO源码分析和改造(GraalVM JDK 11.0.19)(二)

【Java】BIO源码分析和改造(GraalVM JDK 11.0.19)(一)https://developer.aliyun.com/article/1395315java.net.PlainSocketImpl#socketAccept不同的操作系统实现不同,这里仅以个人看到的JDK11版本源...

「大师课」搞定 Java 开发基础

23 课时 |
8714 人已学 |
免费

Java Spring Boot 2.6.0开发实战-1024程序员节创造营公益课

5 课时 |
1162 人已学 |
免费

Java Web开发-Web应用、Tomcat、HTTP请求与响应

17 课时 |
1440 人已学 |
免费
开发者课程背景图
【Java】BIO源码分析和改造(GraalVM JDK 11.0.19)(一)

【Java】BIO源码分析和改造(GraalVM JDK 11.0.19)(一)

引言本文介绍网络IO编程的入门部分,Java 的传统BIO Socket编程源码分析,了解如何将BIO阻塞行为accept() 和 read() 改造为非阻塞行为,并且将结合Linux文档介绍其中的机制,文档中描述了如何处理Socket的accept,对比Java的Socket实现代码,基本可以发现...

JuiceFS分布式文件系统源码分析(Java层)

JuiceFS分布式文件系统源码分析(Java层)

01 引言在前面的博客《JuiceFS-开源分布式文件系统入门(一篇就够了)》,我们大致了解了JuiceFS的一些基本概念,它的架构图大致如下:本文主要针对Hadoop的Java API来分析下它的源码。02 JuiceFS Hadoop Java API官方使用教程:《在 Hadoop 生态使用 ...

Java源码分析:Guava之不可变集合ImmutableMap的源码分析

Java源码分析:Guava之不可变集合ImmutableMap的源码分析

一、案例场景遇到过这样的场景,在定义一个static修饰的Map时,使用了大量的put()方法赋值,就类似这样——public static final Map<String,String> dayMap= new HashMap<>(); static { dayMap.p...

[java进阶]——HashMap的底层实现原理和源码分析,另附几个高频面试题

[java进阶]——HashMap的底层实现原理和源码分析,另附几个高频面试题

一、底层数据结构JDK8以后底层使用 数组+链表+红黑树的数据结构,当链表长度大于8并且数组长度大于64,链表自动转为红黑树node与treenodehashmap中每一个元素都是一个node对象或treenode对象,node是链表节点,treenode是红黑树节点。node属性有hash值、ke...

终于拿到了阿里P8架构师分享的JCF和JUC源码分析与实现笔记java岗

终于拿到了阿里P8架构师分享的JCF和JUC源码分析与实现笔记java岗

前言时代的一粒尘,落在每个人身上,就是一座山”。时代更迭变换,我们好像都知道今天与昨天不同,又好像肉眼看不出哪里不同。但其实它就正在以各种各样的方式体现在每一个普通人身上。疫情爆发三个月的时间,截止2020年4月份 全国2296家影视公司破产,1万2千多家教育机构消失,1万1千多家旅游公司倒闭&am...

Java源码类-Optional类源码分析与使用

Java源码类-Optional类源码分析与使用Optional 是 Java8 提供的了 为了解决 Null 安全问题的一个 API 。善用Optional可以使我们代码中很多繁琐、丑陋的设计变得十分优雅 。在阿里巴巴编码规范里面有一段说明:【推荐】防止 NPE,是程序员的基本修养,注意 NPE ...

【Java】从源码分析fail-fast和fail-safe是如何产生的

【Java】从源码分析fail-fast和fail-safe是如何产生的

这个问题出现在使用Iterator迭代器的时候。如果某一个集合在使用的时候,另一个线程修改了这个集合,会出现什么情况呢?因此就出现了两种解决策略fail-fast一旦发现遍历的同时其它人来修改,则立刻抛异常。ArrayList使用的就是这种策略。这里我添加了一个断点,设定只有触发Condition中...

【Java集合框架 二】HashMap源码分析

【Java集合框架 二】HashMap源码分析

在JDK1.8之前,HashMap使用数组+链表实现,即使用链表处理冲突,同一hash值的节点都存储在一个链表里。但是当位于一个桶中的元素较多,即hash值相等的元素较多时,通过key值依次查找的效率较低。而JDK1.8中,HashMap采用数组+链表+红黑树实现,当链表长度...

本页面内关键词为智能算法引擎基于机器学习所生成,如有任何问题,可在页面下方点击"联系我们"与我们沟通。

产品推荐

社区圈子

Java开发者
Java开发者
Java开发者成长课堂,课程资料学习,实战案例解析,Java工程师必备词汇等你来~
287384+人已加入
加入
相关电子书
更多
Java单元测试实战
Java应用提速(速度与激情)
Java工程师必读手册
立即下载 立即下载 立即下载