HuXiMi Blog

念念不忘,必有回响。

Java集合使用注意事项总结

这篇文章我根据《阿里巴巴 Java 开发手册》总结了关于集合使用常见的注意事项以及其具体原理。 强烈建议小伙伴们多多阅读几遍,避免自己写代码的时候出现这些低级的问题。 集合判空 《阿里巴巴 Java 开发手册》的描述如下: 判断所有集合内部的元素是否为空,使用 isEmpty() 方法,而不是 size()==0 的方式。 这是因为 isEmpty() 方法的可读性更好,并...

反射

反射

何为反射? 如果说大家研究过框架的底层原理或者咱们自己写过框架的话,一定对反射这个概念不陌生。 反射之所以被称为框架的灵魂,主要是因为它赋予了我们在运行时分析类以及执行类中方法的能力。 通过反射你可以获取任意一个类的所有属性和方法,你还可以调用这些方法和属性。 反射的应用场景了解么? 像咱们平时大部分时候都是在写业务代码,很少会接触到直接使用反射机制的场景。 但是,这并不代表反射...

代理模式

代理模式详解

本文首更于《从零开始手把手教你实现一个简单的RPC框架》 。 1. 代理模式 2. 静态代理 3. 动态代理 3.1. JDK 动态代理机制 3.1.1. 介绍 3.1.2. JDK 动态代理类使用步骤 3.1.3. 代码示例 ...

Java常见关键字总结

Java常见关键字总结

final,static,this,super 关键字总结 final 关键字 static 关键字 this 关键字 super 关键字 参考 static 关键字详解 static 关键字主要有以下四种使用场景 修饰成员变量和成员...

Java 学习

Java 基础

基础概念与常识 Java 语言有哪些特点? JVM vs JDK vs JRE JVM JDK 和 JRE 为什么说 Java 语言“编译与解释并存”? Oracle JDK 和 OpenJDK 的对比 Java 和 C...

IO 模型

IO 模型

IO 模型这块确实挺难理解的,需要太多计算机底层知识。写这篇文章用了挺久,就非常希望能把我所知道的讲出来吧!希望朋友们能有收获!为了写这篇文章,还翻看了一下《UNIX 网络编程》这本书,太难了,我滴乖乖!心痛~ 个人能力有限。如果文章有任何需要补充/完善/修改的地方,欢迎在评论区指出,共同进步! 前言 I/O 一直是很多小伙伴难以理解的一个知识点,这篇文章我会将我所理解的 I/O 讲给...

BigDecimal 学习

BigDecimal 基础

BigDecimal 介绍 BigDecimal 可以实现对浮点数的运算,不会造成精度丢失。 那为什么浮点数 float 或 double 运算的时候会有精度丢失的风险呢? 这是因为计算机是二进制的,浮点数没有办法用二进制精确表示。 BigDecimal 的用处 《阿里巴巴Java开发手册》中提到:浮点数之间的等值判断,基本数据类型不能用==来比较,包装数据类型不能用 equals...

BIO,NIO,AIO 总结

BIO,NIO,AIO 总结

熟练掌握 BIO,NIO,AIO 的基本概念以及一些常见问题是你准备面试的过程中不可或缺的一部分,另外这些知识点也是你学习 Netty 的基础。 BIO,NIO,AIO 总结 1. BIO (Blocking I/O) 1.1 传统 BIO 1.2 伪异步 IO 1.3 代码示例 ...

J2EE基础知识

J2EE基础知识

Servlet总结 阐述Servlet和CGI的区别? CGI的不足之处: Servlet的优点: Servlet接口中有哪些方法及Servlet生命周期探秘 get和post请求的区别 什么情况下调用doGet()和doPost() 转发(Forward)和重定向(Redirect)的区别 自动刷新(Ref...

Ubuntu一键安装Shadowsocks脚本

一键安装shadowsocks&&开启BBR

基于科学上网:VPS上搭建shadowsocks写了一个一键安装shadowsocks的shell脚本。只在Vultr上的Ubunbu 16.04做了测试。内容包括安装shadowsocks+设置shadowsocks开机启动+开启BBR加速。 原文链接:Ubuntu一键安装Shadowsocks脚本 服务器购买+连接远程Linux服务器 这里直接根据Vultr购买图解步骤以及...