这个项目是一个 GitHub 活动生成器脚本,可以帮助您快速生成一个漂亮的 GitHub 贡献图表。该脚本可以在过去一年内为您的 GitHub 帐户生成大量提交记录,以丰富您的贡献图表。 使用前: 使用后: GitHub:https://github.com/Shpota/github-activity-generator 主要功能点 创建一个空的…
Clash for Windows 汉化版是一个为 Clash for Windows 提供汉化支持的项目。它提供了汉化补丁和汉化版安装程序,支持 0.15.3 及以上版本的 Clash for Windows。 GitHub 核心功能 提供 Clash for Windows 的汉化版本,包括汉化补丁和汉化版安装程序 支持 0.15.3 及以上版本的…
1. 代理模式 代理模式是一种比较好理解的设计模式。简单来说就是 我们使用代理对象来代替对真实对象(real object)的访问,这样就可以在不修改原目标对象的前提下,提供额外的功能操作,扩展目标对象的功能。 代理模式的主要作用是扩展目标对象的功能,比如说在目标对象的某个方法执行前后你可以增加一些自定义的操作。…
何为反射? 如果说大家研究过框架的底层原理或者咱们自己写过框架的话,一定对反射这个概念不陌生。 反射之所以被称为框架的灵魂,主要是因为它赋予了我们在运行时分析类以及执行类中方法的能力。 通过反射你可以获取任意一个类的所有属性和方法,你还可以调用这些方法和属性。 反射的应用场景了解么?…
什么是序列化和反序列化? 如果我们需要持久化 Java 对象比如将 Java 对象保存在文件中,或者在网络传输 Java 对象,这些场景都需要用到序列化。 简单来说: 序列化 :将数据结构或对象转换成可以存储或传输的形式,通常是二进制字节流,也可以是 JSON, XML 等文本格式 反序列化 :将在序列化过程中所生成的数据转换为原始数据结构或者对象的过程…
final 关键字 final 关键字,意思是最终的、不可修改的,最见不得变化 ,用来修饰类、方法和变量,具有以下特点: final 修饰的类不能被继承,final 类中的所有成员方法都会被隐式的指定为 final 方法; final 修饰的方法不能被重写; final…
Maxun 是一个开源的无代码数据提取平台。 用户通过Maxun可以轻松创建一个数据抓取机器人,自动化地从Web网页上获取数据。 该项目提供了多种功能:包括列表捕获、文本捕获和屏幕截图捕获。用户还可以使用外部代理来绕过反机器人保护。该项目还提供了一个托管的云版本,可以在大规模提取数据时处理反机器人检测和验证码解决。…
前言 阿里巴巴 Java 开发手册》中提到:“为了避免精度丢失,可以使用 BigDecimal 来进行浮点数的运算”。 浮点数的运算竟然还会有精度丢失的风险吗?确实会! 示例代码: float a = 2.0f - 1.9f; float b = 1.8f - 1.7f; System.out.println(a);// 0.100000024…
一、基本概念 Java NIO 是 Java 1.4 引入的,用于处理高速、高并发的 I/O 操作。与传统的阻塞 I/O 不同,NIO 支持非阻塞 I/O 和选择器,可以更高效地管理多个通道。 二、核心组件 通道(Channel) Channel 是 NIO 中用于读取和写入数据的主要接口,提供双向数据传输的能力。 常见的通道实现: FileChannel…
Java 的 IO(输入/输出)操作是处理数据流的关键部分,涉及到文件、网络等多种数据源。以下将深入探讨 Java IO 的不同类型、底层实现原理、使用场景以及性能优化策略。 1. Java IO 的分类 Java IO 包括两大主要包: java.io 和 java.nio 。 1.1 java.io 包 字节流:用于处理二进制数据,主要有…