首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
死磕 Java
大明哥09
创建于2023-10-15
订阅专栏
『死磕 Java 』是大明哥多年从事一线互联网 Java 开发的学习历程技术汇总,为大明哥倾全力打造的 Java 进阶类教程,旨在为大家提供一个清晰且详细的 Java 教程。
等 103 人订阅
共72篇文章
创建于2023-10-15
订阅专栏
默认顺序
默认顺序
最早发布
最新发布
为了NullPointerException,你知道Java到底做了多少努力吗?
null 何错之有? 对于 Java 程序员而言,NullPointerException 是最令我们头疼的异常,没有之一 ,大明哥相信到这篇文章为止一定还有不少人在写下面这段代码: 1965年,老爷
在 Java NIO 中如何正确处理消息边界?
背景 我们先看下面一段代码。 启动服务端,客户端连接并发送内容:“hi,i am client-01”,服务端收到内容如下: 从服务端输出的结果可以看出,服务端将客户端发送的消息“hi,i am cl
听说 String 的底层存储结构发生了改变,你知道么?
大明哥相信绝大数小伙伴一定看过 Java 8 的 String 源码,对于它的底层存储结构一定不陌生,在 Java 9 之前,String 的底层存储结构都是 char[]: 每个 char 都以 2
Java 序列化是如何破坏单例模式的?
先看代码: 我想应该没有不知道这行个类是干嘛的小伙伴了吧,这是单例模式的一种写法。 单例模式是每一个 Java boy 必须要掌握的设计模式,它所描述的是在某个进程内,某个类有且仅有一个实例。我们知道
一文搞定 Java 10 新特性
JEP 286:局部变量类型推断 Java 10中引入了var关键字,允许开发者在声明局部变量时不必显式声明变量的类型,编译器会自动根据变量的初始值推断变量的类型。这使得代码更加简洁,尤其是在处理泛型
【死磕 Java 基础】 — 你以为异常就是 try…catch ?那你天真了
前言 我敢说对于很多小伙伴来说,他们以为在 Java 中异常就是 try...catch,稍微有点儿意识的还会用下 throw new Exception,真的有这么简单吗?请宽恕小编直言,你对 Ja
是时候放弃 Java 序列化了!!
基本概念 Java 序列化和反序列化三连问: 什么是 Java 序列化和反序列化? 为什么需要 Java 序列化和反序列化? 如何实现 Java 序列化和反序列化? 是什么 一句话就能够说明白什么是
【死磕 Java 基础】--- 我一口气自己就动手实现一个 LRU
LRU,即 Least Recently Use ,直译为 “最近最少使用”。它是根据数据的历史访问记录来进行数据淘汰的,淘汰掉最先访问的数据,其核心思想是 如果数据最近被访问过,那么将来被访问的几率
【死磕 Java 基础】 — 谈谈那个写时拷贝技术(copy-on-write)
copy-on-write,即写时复制技术,这是小编在学习 Redis 持久化时看到的一个概念,当然在这个概念很早就碰到过(Java 容器并发有这个概念),但是一直都没有深入研究过,所以趁着这次机会对
【死磕 Java 基础】— 我同事一个 select 分页语句查出来了 3000W 条数据
某天我正在工位上听着 Vicotry,愉快地敲着 hello world ,这感觉就像我写的代码能征服世界。突然运维给我打了一个电话,说我们某台服务器 OOM 了,要我过去看下,这感觉就像 xxx,你
【死磕NIO】— 阻塞、非阻塞、同步、异步,傻傻分不清楚
「这是我参与11月更文挑战的第 2 天,活动详情查看:2021最后一次更文挑战 要想完全掌握 NIO,并不是掌握上面文章(【死磕NIO】— NIO基础详解)中的三大组件就可以了,我们还需要掌握一些基本
【死磕 NIO】— 深入分析Buffer
「这是我参与11月更文挑战的第 8 天,活动详情查看:2021最后一次更文挑战 大家好,我是大明哥,今天我们来看看 Buffer。 上面几篇文章详细介绍了 IO 相关的一些基本概念,如阻塞、非阻塞、同
【死磕NIO】— NIO基础详解
Netty 是基于Java NIO 封装的网络通讯框架,只有充分理解了 Java NIO 才能理解好Netty的底层设计。Java NIO 由三个核心组件组件: Buffer Channel Sele
【死磕 NIO】— ServerSocketChannel 的应用实例
持续创作,加速成长!这是我参与「掘金日新计划 · 6 月更文挑战」的第 1 天,点击查看活动详情 上篇文章大明哥介绍了 SocketChannel 的核心原理及其源码,这篇文章就来介绍如何使用 Ser
关于 Java NIO 的 Selector 的事儿,这篇文章里面全都有
前面 4 篇文章深入分析了 NIO 三大组件中的两个:Buffer 和 Channel: 【死磕 NIO】— 深入分析Buffer 【死磕 NIO】— 深入分析Channel和FileChannel
关于 Selector 源码,这篇文章说得明明白白
上篇文章(【死磕 NIO】— 详解 Selector)详细介绍了 Selector 的核心原理和使用方法,这篇文章我们来深入了解 Selector 的源码,主要讲三个最常用的方法 open(),reg
【死磕 NIO】— 深入分析Channel和FileChannel
大家好,我是大明哥,这次我们来看看NIO的第二个组件:Channel。 上篇文章[【死磕 NIO】— 深入分析Buffer]介绍了 NIO 中的 Buffer,Buffer 我们可以认为他是装载数据的
【死磕NIO】— 探索 SocketChannel 的核心原理
前两篇文章我们分析了 Channel 及 FileChannel,这篇文章我们探究 SocketChannel的核心原理,毕竟下一个系列就是 **【死磕 Netty】**了。 聊聊Socket 要想掌
【死磕NIO】— 跨进程文件锁:FileLock
上篇文章(【死磕 NIO】— 深入分析Channel和FileChannel)已经详细介绍了 FileChannel的核心原理及相关API,了解了FileChannel是用来读写和映射一个系统文件的
下一页