归档

2024 年 11 月

一、基本概念 Java NIO 是 Java 1.4 引入的,用于处理高速、高并发的 I/O 操作。与传统的阻塞 I/O 不同,NIO 支持非阻塞 I/O 和选择器,可以更高效地管理多个通道。 二、核心组件 通道(Channel) Channel 是 NIO 中用于读取和写入数据的主要接口,提供双向数据传输的能力。 常见的通道实现: FileChannel…
前言 阿里巴巴 Java 开发手册》中提到:“为了避免精度丢失,可以使用 BigDecimal 来进行浮点数的运算”。 浮点数的运算竟然还会有精度丢失的风险吗?确实会! 示例代码: float a = 2.0f - 1.9f; float b = 1.8f - 1.7f; System.out.println(a);// 0.100000024…
Spring IOC(Inversion of Control,控制反转)依赖注入是 Spring 框架的核心特性之一,旨在实现对象之间的松耦合,提升代码的可维护性、可测试性和可扩展性。下面我们将从以下几个方面深入探讨 Spring IOC 依赖注入的机制和实现原理。 一、基本概念 控制反转(Inversion of Control)…
Spring Security 是一个强大且灵活的安全框架,提供了身份验证(认证)和授权(授权)功能。下面我们将详细介绍 Spring Security 的认证功能流程,并提供自定义实现登录接口的示例,包括自定义认证过滤器和登出功能。 一、Spring Security 认证流程的深入分析 Spring Security…
hls.js 是一个JavaScript库,实现了HTTP直播流(HLS)客户端。它依赖于HTML5视频和MediaSource扩展进行播放。它通过将MPEG-2传输流和AAC/MP3流转换为ISO BMFF(MP4)片段来实现。转换过程在Web Worker中异步进行。hls.js还支持HLS + fmp4。…
fscan 是一款内网综合扫描工具,提供了全方位的漏洞扫描功能,包括存活探测、端口扫描、服务爆破、系统信息收集、Web指纹识别和漏洞扫描等。该工具旨在帮助安全从业者快速、自动化地对内网进行全面的安全评估。 GitHub地址:https://github.com/shadow1ng/fscan Main Function Points…
MySQL中SQL的执行顺序…
Collections 类位于 java.util 包下,提供了许多有用的对象和方法,来简化java中集合的创建、处理和多线程管理。掌握此类将非常有助于提升开发效率和维护代码的简洁性,同时对于程序的稳定性和安全性有大有帮助。 Empty集合 用来创建一个空的集合,这个最常用了,相信大家都不陌生就不过多介绍了,它有三个实现: EmptySet…

2024 年 10 月

** 进程、线程和协程是程序设计中三个重要的知识点,这篇文章,我们将从概念、通信方式、区别和优缺点等方面深入探讨它们。 基本概念 进程 进程(Process)是操作系统中资源分配和调度的基本单位。每个进程有自己的内存空间和系统资源,是一个独立运行的程序实例。进程之间是相互隔离的,通常一个进程的崩溃不会影响到其他进程。 线程…
前言 在我们日常工作中,经常会遇到一些异常,比如:NullPointerException、NumberFormatException、ClassCastException等等。 那么问题来了,我们该如何处理异常,让代码变得更优雅呢? 1 不要忽略异常 不知道你有没有遇到过下面这段代码: 反例: Long id = null try { id =…
上一页 下一页