一个相当简要的java要点总结
一个相当简要的java要点总结(这算摸鱼文吧)
一、Java语言深度解析
噗噗,这份笔记我有一个更好,更全的,这个只是为了快点背,如果要查看全面详细,费劲本大爷心思精细书写的请转《java快速学习速查》系列
因为不想排版所以很多直接包裹在代码块里了,这篇文章更多的是为了测试mermaid是否可以正常渲染
1.1 语言本质剖析
Java是一种严格遵循”Write Once, Run Anywhere”原则的高级编程语言,其核心特性包括:
- 跨平台性:通过JVM实现字节码的跨平台执行
- 面向对象:完全基于对象的编程范式(封装/继承/多态)
- 自动内存管理:垃圾回收机制(GC)自动处理内存分配与释放
- 多线程支持:原生支持多线程并发编程
1.2 发展历程详解
有种写书人既视感,很啰嗦欸
时间节点 | 重大事件 | 技术影响 |
---|---|---|
1991 | Oak语言诞生 | 面向家电嵌入式系统 |
1995.5.23 | 正式更名Java | 首个公开版本JDK 1.0a2 |
1998 | J2SE 1.2发布 | 引入集合框架/JIT编译器 |
2004 | J2SE 5.0 | 泛型/自动装箱/注解等革命性特性 |
2014 | Java 8 | Lambda表达式/Stream API |
二、开发环境专业配置
2.1 JDK组件架构
1 | graph LR |
这是个图(解析不出来算了,我也不想我也不想耗费资源)
2.2 环境变量原理
- JAVA_HOME:指向JDK安装根目录
- 示例:
C:\Program Files\Java\jdk-17.0.2
- 示例:
- PATH:添加
%JAVA_HOME%\bin
使系统识别命令 - CLASSPATH(可选):指定类加载路径
验证命令示例:
1 | # 查看版本 |
三、HelloWorld深度解读
3.1 程序结构分解
1 | /** |
3.2 编译执行全流程
编译阶段(生成字节码)
1
javac -encoding UTF-8 HelloWorld.java
- 生成
HelloWorld.class
文件 -encoding
参数解决中文乱码
- 生成
运行阶段(JVM解释执行)
1
java HelloWorld
注意:运行时不需要.class后缀
四、代码规范最佳实践
4.1 注释规范模板
1 | // 单行注释:方法内部简短说明 |
4.2 命名规范细则
元素类型 | 规范示例 | 错误示例 |
---|---|---|
类名 | UserService |
userService |
方法名 | getUserName() |
GetUserName() |
变量名 | studentCount |
StudentCount |
常量名 | MAX_SIZE |
maxSize |
五、数据类型系统详解
5.1 基本类型内存布局
1 | pie |
这是个饼图你信不信,反正我是信了,解析的出来就解析出来,没有就罢了
5.2 类型转换原理
自动转换规则(满足以下任一条件):
- 目标类型范围大于源类型
1
2int i = 100;
double d = i; // 自动转换 - 表达式中的自动提升
1
2byte b = 10;
int r = b + 20; // byte自动提升为int
强制转换风险点:
掉精度警告,数据类型报错警告,类型组合相性警告
1 | double price = 99.99; |
六、运算符高级应用
6.1 位运算实战
1 | // 权限控制示例 |
6.2 运算符优先级表
优先级 | 运算符 | 结合性 |
---|---|---|
1 | () [] . |
左→右 |
2 | ! ~ ++ -- |
右→左 |
3 | * / % |
左→右 |
4 | + - |
左→右 |
5 | << >> >>> |
左→右 |
6 | < <= > >= |
左→右 |
七、企业级编码规范
防御式编程:
1
2
3
4// 对象判空
if (obj == null) {
throw new IllegalArgumentException("参数不能为空");
}常量定义原则:
1
2
3
4
5
6
7
8// 使用枚举替代魔法数字
public enum Color {
RED("#FF0000"),
GREEN("#00FF00");
private String hexCode;
// 构造方法...
}文档化要求:
- 所有public类/方法必须包含JavaDoc
- 复杂算法需要添加实现思路说明
- 修改历史通过@since标记
没搞完喔,等着更新……,先用着
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 XHAYANEの小屋!