03-22 Git 技术博客 Java Git远程协作 Git远程协作是借助远程库完成的 Git远程协作的过程 团队内协作过程 先提交原始版本 团队所有经过授权的人都可以clone代码到自己本地库中进行修改 修改完成后可以将该版本push到远程库中供创始人查看 创始人可以pull别人push的代码加入自己的远程库中 团队间协作过程 先将别人团队的代码fo 6 0 0
03-22 Git 技术博客 Java Git简介 date: 2025-09-25 tags: 专业知识 Git概述 Git是一个免费的、开源的分布式版本控制系统,可以快速高效地处理从小型到大型的各种项目 特点 Git易于学习,占地面积小,性能极快。它具有廉价的本地库(在本地的磁盘) ,方便的暂存区域和多个工作流分支等特性。其性能优于Subvers 9 0 0
03-22 Git 技术博客 Java Git分支 date: 2025-09-25 tags: 专业知识 Git与GitHub 简介 在版本控制过程中,同时推进多个任务,为每个任务,我们就可以创建每个任务的单独分支。使用分支意味着程序员可以把自己的工作从开发主线上分离开来,开发自己分支的时候,不会影响主线分支的运行。对于初学者而言,分支可以简单理解 7 0 0
03-22 Git 技术博客 Java Git常用命令 date: 2025-09-25 tags: 专业知识 "#Git与GitHub" 设置用户签名 基本语法 # 配置用户名和邮箱(首次使用必须配置) git config --global user.name 你的用户名 git config --global user.email 你的邮箱 6 0 0
03-22 JVM 技术博客 Java (12)《JVM类加载过程》 核心思想:类加载是JVM“认识”类的过程,类似“建房子”——先画图纸(加载),再检查图纸(链接),最后装修(初始化)。全程懒加载(用到才触发),避免浪费资源。 类加载过程 1. 加载(Loading) 通俗解释:JVM把.class文件(字节码)从磁盘读入内存,存到元空间(JDK8+取代了“永久代” 9 0 0
03-21 JVM 技术博客 Java (14)《JVM 语法糖》 说明:本笔记深入剖析 Java 中常见语法糖的底层实现机制、JVM 字节码表现及实际应用场景。所有知识点均围绕“编译期优化”展开,旨在帮助理解 Java 语言的“表象”与“本质”的差异。 🌟 什么是语法糖? 语法糖(Syntactic Sugar) 是指在编程语言中为了提升代码可读性或简洁性而引入 5 0 0
03-21 JVM 技术博客 Java (18)《CAS》 核心思想:乐观锁(假设冲突少,先操作再重试;冲突时自动重试,不阻塞线程) 1. CAS 基础原理 Compare and Swap(比较并交换): 比较内存中某变量的当前值与期望值,若相等则原子性地更新为新值(否则重试)。 通俗比喻: 像抢红包:你看到红包余额是 100(期望值),抢到后发现余额变成 10 0 0
03-21 JVM 技术博客 Java (19)《synchronized》 背景 JDK 6+ 对 synchronized 进行了深度优化(如偏向锁、轻量级锁),在无竞争/低竞争场景下性能甚至优于 CAS。 为什么? CAS 需要多次重试(CPU 空转),而 synchronized 通过锁升级机制,避免了无效重试。 (类比:等红灯时,车不熄火(自旋)比熄火等待(阻塞)更 2 0 0
03-21 JVM 技术博客 Java (17)《JVM 内存模型(JMM)》 核心目标:解决多线程下共享数据的「可见性」「有序性」「原子性」问题。 关键原则:JMM 是 Java 规定的「规则手册」,不是实际内存结构。它确保线程间能正确看到数据变化,但不保证代码一定按顺序执行。 1. 原子性(Atomicity) 问题:count++ 不是原子操作(底层有 读-改-写 3 步 2 0 0
03-21 JVM 技术博客 Java (16)《运行期优化》 核心思想:JVM动态优化代码执行效率,只对高频热点代码深度优化(避免编译所有代码,浪费CPU),像“智能交通系统”——只优化堵车路段,不堵所有路。 1. 分层编译(5层) JVM将代码执行分为5层,从慢到快逐步优化(0层是初始状态,4层是最高优化): 层 编译器 优化级别 适用场景 0 解释器 无编 4 0 0