当前位置: 首页 > news >正文

Java知识框架

一、Java 基础语法

1. 基础语法

  • 数据类型

    • 基本类型:intdoublebooleanchar 等

    • 引用类型:String, 数组, 对象

  • 变量与常量

    • final 关键字

    • 作用域(局部变量、成员变量)

  • 运算符

    • 算术、逻辑、位运算

    • 三元运算符 ? :

  • 控制语句

    • if-elseswitch-case

    • forwhiledo-while

    • breakcontinuereturn

2. 面向对象编程(OOP)

  • 类与对象

    • 类的定义、实例化

    • 构造方法(默认构造方法、重载)

  • 三大特性

    • 封装private/public/protected,Getter/Setter

    • 继承extendssuper,方法重写(@Override

    • 多态:父类引用指向子类对象,instanceof

  • 抽象类与接口

    • abstract class vs interface

    • default 方法(Java 8+)

  • 内部类

    • 成员内部类、静态内部类、局部内部类、匿名内部类

  • 枚举(Enum)

    • 枚举类定义、values()valueOf()

3. 常用类库

  • String & StringBuilder

    • String 不可变性,StringBuilder 可变

  • Arrays & Collections

    • Arrays.sort()Arrays.asList()

    • ListSetMapArrayListHashSetHashMap

  • 日期时间(Java 8+)

    • LocalDateLocalTimeLocalDateTime

    • DateTimeFormatter

  • 异常处理

    • try-catch-finally

    • throws vs throw

    • 自定义异常


二、Java 进阶

4. 集合框架(Collection Framework)

  • List

    • ArrayList(动态数组)

    • LinkedList(双向链表)

  • Set

    • HashSet(基于 HashMap

    • TreeSet(有序,基于红黑树)

  • Map

    • HashMap(哈希表,put/get 原理)

    • TreeMap(有序,基于红黑树)

    • ConcurrentHashMap(线程安全)

  • 迭代器(Iterator)

    • hasNext()next()remove()

  • 工具类

    • Collections.sort()Collections.synchronizedList()

5. 输入输出(I/O)

  • 字节流

    • InputStreamOutputStream

    • FileInputStreamFileOutputStream

  • 字符流

    • ReaderWriter

    • BufferedReaderBufferedWriter

  • NIO(New I/O)

    • ChannelBufferSelector

    • Files(Java 7+)

6. 多线程(Concurrency)

  • 线程创建

    • Thread 类

    • Runnable 接口

    • Callable + Future

  • 线程同步

    • synchronized 关键字

    • ReentrantLock

    • volatile 关键字

  • 线程池

    • ExecutorService

    • ThreadPoolExecutor

  • 并发工具

    • CountDownLatchCyclicBarrier

    • BlockingQueueArrayBlockingQueueLinkedBlockingQueue

7. 反射(Reflection)

  • Class 类

    • Class.forName()obj.getClass()

  • Method & Field

    • getMethod()invoke()

    • getField()set()

  • 动态代理

    • Proxy.newProxyInstance()

8. 网络编程

  • TCP/UDP

    • Socket & ServerSocket

    • DatagramSocket

  • HTTP

    • HttpURLConnection

    • HttpClient(Java 11+)


三、Java 高级

9. JVM 与性能优化

  • JVM 内存模型

    • 堆(Heap)、栈(Stack)、方法区(Metaspace)

    • GC 算法(标记-清除、复制、分代收集)

  • JVM 调优

    • -Xms-Xmx

    • jpsjstatjmapjstack

  • 类加载机制

    • 双亲委派模型

    • ClassLoader

10. 设计模式

  • 创建型

    • 单例模式(Singleton

    • 工厂模式(Factory

  • 结构型

    • 适配器模式(Adapter

    • 代理模式(Proxy

  • 行为型

    • 观察者模式(Observer

    • 策略模式(Strategy

11. Java 8+ 新特性

  • Lambda 表达式

    • (a, b) -> a + b

  • Stream API

    • filter()map()reduce()

  • Optional

    • Optional.ofNullable()orElse()

  • 新日期 API

    • LocalDateZonedDateTime

12. 数据库 & ORM

  • JDBC

    • ConnectionStatementPreparedStatement

  • Hibernate / JPA

    • @Entity@Table@OneToMany

  • MyBatis

    • Mapper 接口,XML 配置

13. 框架

  • Spring

    • IoC & AOP

    • @Autowired@Component

  • Spring Boot

    • 自动配置,application.yml

    • @RestController@GetMapping

  • Spring Cloud

    • 微服务架构(EurekaFeignHystrix


四、Java 生态

14. 开发工具

  • IDE

    • IntelliJ IDEA, Eclipse

  • 构建工具

    • Maven, Gradle

  • 版本控制

    • Git(git clonegit commitgit push

15. 测试

  • 单元测试

    • JUnit 5(@Test@BeforeEach

  • Mock 测试

    • Mockito(when().thenReturn()

16. 部署 & DevOps

  • Docker

    • Dockerfiledocker-compose

  • CI/CD

    • Jenkins, GitHub Actions


五、学习路线建议

1. 初级阶段(1-3 个月)

  • Java 基础语法

  • OOP(封装、继承、多态)

  • 集合框架(ArrayListHashMap

  • 异常处理

2. 中级阶段(3-6 个月)

  • 多线程(Threadsynchronized

  • I/O & NIO

  • 反射 & 注解

  • JDBC & 数据库

3. 高级阶段(6-12 个月)

  • JVM 调优

  • 设计模式

  • Spring & Spring Boot

  • 微服务(Spring Cloud)

4. 实战项目

  • 初级:学生管理系统(控制台版)

  • 中级:电商系统(Spring Boot + MySQL)

  • 高级:分布式微服务(Spring Cloud + Docker)


通过这个知识框架,你可以逐步掌握 Java 的核心技术,并进阶到企业级开发。建议结合官方文档(Oracle Java Docs)和实战项目练习!

相关文章:

Java知识框架

一、Java 基础语法 1. 基础语法 数据类型 基本类型:int, double, boolean, char 等 引用类型:String, 数组, 对象 变量与常量 final 关键字 作用域(局部变量、成员变量) 运算符 算术、逻辑、位运算 三元运算符 ? : 控制…...

腾讯云-人脸核身+人脸识别教程

一。产品概述 慧眼人脸核身特惠活动 腾讯云慧眼人脸核身是一组对用户身份信息真实性进行验证审核的服务套件,提供人脸核身、身份信息核验、银行卡要素核验和运营商类要素核验等各类实名信息认证能力,以解决行业内大量对用户身份信息真实性核实的需求&a…...

102. 二叉树的层序遍历递归法:深度优先搜索的巧妙应用

二叉树的层序遍历是一种经典的遍历方式,它要求按层级逐层访问二叉树的节点。通常我们会使用队列来实现层序遍历,但递归法也是一种可行且有趣的思路。本文将深入探讨递归法解决二叉树层序遍历的核心难点,并结合代码和模拟过程进行详细讲解。 …...

电脑内存智能监控清理,优化性能的实用软件

软件介绍 Memory cleaner是一款内存清理软件。功能很强,效果很不错。 Memory cleaner会在内存用量超出80%时,自动执行“裁剪进程工作集”“清理系统缓存”以及“用全部可能的方法清理内存”等操作,以此来优化电脑性能。 同时,我…...

Chrome浏览器实验性API computePressure的隐私保护机制如何绕过?

一、computePressure API 设计原理与隐私保护机制 1.1 API 设计目标 computePressure是W3C提出的系统状态监控API,旨在: • 提供系统资源状态的抽象指标(非精确值) • 防止通过高精度时序攻击获取用户指纹 • 平衡开发者需求与用户隐私保护 1.2 隐私保护实现方式 // 典…...

​​开放传神创始人论道AI未来|“广发证券—国信中数人工智能赛道专家交流论坛“落幕

4月25日,“广发证券—国信中数人工智能赛道专家交流论坛”在广发证券大厦成功举办。本次论坛由广发证券股份有限公司与北京国信中数投资管理有限公司联合主办,汇聚了人工智能领域的50多位企业、行业专家、专业投资机构的精英代表,旨在搭建产学…...

MySQL八股(自用)

MySQL 定位慢查询 1.聚合查询 2.多表查询 3.表数据量过大查询 4.深度分页查询 MySQL自带慢日志 开启慢查询日志,配置文件(/etc/my.cnf) 开启慢日志,设置慢日志的时间 用EXPLAIN或者DESC命令获取MySQL如何执行SELECT语句的信…...

2025年6月一区SCI-不实野燕麦优化算法Animated Oat Optimization-附Matlab免费代码

引言 近年来,在合理框架内求解优化问题的元启发式算法的发展引起了全球科学界的极大关注。本期介绍一种新的元启发式算法——不实野燕麦优化算法Animated Oat Optimization algorithm,AOO。该算法模拟了不实野燕麦的3种独特行为,于2025年6月…...

如何开发一款 Chrome 浏览器插件

Chrome是由谷歌开发的网页浏览器,基于开源软件(包括WebKit和Mozilla)开发,任何人都可以根据自己需要使用、修改或增强它的功能。Chrome凭借着其优秀的性能、出色的兼容性以及丰富的扩展程序,赢得了广大用户的信任。市场…...

UniApp 微信小程序绑定动态样式 :style 避坑指南

在使用 UniApp 开发跨端应用时,绑定动态样式 :style 是非常常见的操作。然而,很多开发者在编译为 微信小程序 时会遇到一个奇怪的问题: 原本在 H5 中可以正常渲染的样式,在微信小程序中却不生效! 让我们通过一个示例来…...

基于OpenCV中的图像拼接方法详解

文章目录 引言一、图像拼接的基本流程二、代码实现详解1. 准备工作2. 特征检测与描述detectAndDescribe 函数详解(1)函数功能(2)代码解析(3)为什么需要这个函数?(4)输出数…...

【BUG】滴答定时器的时间片轮询与延时冲突

SysTick定时器实现延时与时间戳的深度分析与问题解决指南 1. SysTick基础原理 1.1 SysTick的功能与核心配置 SysTick是ARM Cortex-M内核的系统定时器,常用于以下场景: 时间戳:通过周期性中断记录系统运行时间(如tick_ms计数器&…...

基于EFISH-SCB-RK3576/SAIL-RK3576的智能快递分拣机技术方案‌

(国产化替代J1900的物流自动化解决方案) 一、硬件架构设计‌ ‌高速视觉识别系统‌ ‌多目立体成像‌: 双MIPI-CSI接入16K线阵相机(扫描速度5m/s),支持0.1mm级条形码破损识别NPU加速YOLOv7算法&#xff0…...

The 2022 ICPC Asia Xian Regional Contest(E,L)题解

E Find Maximum 题意: 首先,通过观察与打表,可以发现: 规律: 对于非负整数 x,函数 f(x) 的值等于: 将 xx 写成三进制后,各个位数的数字之和 该三进制数的位数。 例如&#xff0c…...

Jmeter 安装包与界面汉化

Jmeter 安装包: 通过网盘分享的文件:CSDN-apache-jmeter-5.5 链接: https://pan.baidu.com/s/17gK98NxS19oKmkdRhGepBA?pwd1234 提取码: 1234 Jmeter界面汉化:...

《Python星球日记》 第70天:Seq2Seq 与Transformer Decoder

名人说:路漫漫其修远兮,吾将上下而求索。—— 屈原《离骚》 创作者:Code_流苏(CSDN)(一个喜欢古诗词和编程的Coder😊) 目录 一、Seq2Seq模型基础1. 什么是Seq2Seq模型?2. Encoder-Decoder架构详解1️⃣编码器(Encoder)2️⃣解码器(Decoder)3. 传统Seq2Seq模型的局限性…...

【Linux】基础指令(Ⅱ)

目录 1. mv指令 2. cat指令 3.echo指令 补:输出重定向 4. more指令 5. less指令 6. head指令和tail指令 7.date指令 时间戳: 8. cal指令 9. alias指令 10.grep指令 1. mv指令 语法:mv [选项]... 源文件/目录 目标文件/目录 …...

【Python3教程】Python3基础篇之输入与输出

博主介绍:✌全网粉丝23W+,CSDN博客专家、Java领域优质创作者,掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域✌ 技术范围:SpringBoot、SpringCloud、Vue、SSM、HTML、Nodejs、Python、MySQL、PostgreSQL、大数据、物联网、机器学习等设计与开发。 感兴趣的可…...

mysql的一个缺点

最近再移植一个从oracle转mysql的项目,喜提一个报错: You cant specify target table A016 for update in FROM clause 对应的程序代码: public void setCurrent(String setId, String pk, String userId) throws SysException {String[]…...

【C/C++】高阶用法_笔记

1. 模板元编程&#xff08;TMP&#xff09;与编译时计算 (1) 类型萃取与 SFINAE 类型萃取&#xff08;Type Traits&#xff09;&#xff1a;利用模板特化在编译时推断类型属性。 template<typename T> struct is_pointer { static constexpr bool value false; };templ…...

AMS3xxi激光测距仪安装调试维护详解

一、应用原理介绍 如下图&#xff0c;AMS3xxi激光测距发出的激光通过特定反光板返回后&#xff0c;利用“时间飞行法”原理进行距离 测量。测量中若遮挡光束传播会导致测距失败&#xff0c;产品报警。 二、固定和调节位置说明 在安装板上&#xff0c;使用 4 个 M5 螺钉锁 AMS…...

建筑IT数字化突围:建筑设计企业的生存法则重塑

困局&#xff1a;铅笔与键盘的撕裂之痛 晨光中的设计院里&#xff0c;总工老张的办公桌上堆叠着三摞图纸&#xff1a;左边是刚收尾的住宅施工图&#xff0c;中间夹着结构专业提资的变更单&#xff0c;右边是甲方连夜发来的方案调整意见。这是他从业28年来的日常&#xff0c;也…...

VTK|类似CloudCompare的比例尺实现2-vtk实现

文章目录 实现类头文件实现类源文件调用逻辑关键问题缩放限制问题投影模式项目git链接实现类头文件 以下是对你提供的 ScaleBarController.h 头文件添加详细注释后的版本,帮助你更清晰地理解每个成员和方法的用途,尤其是在 VTK 中的作用: #ifndef SCALEBARCONTROLLER_H #de…...

Java高频面试之并发编程-17

volatile 和 synchronized 的区别 在 Java 并发编程中&#xff0c;volatile 和 synchronized 是两种常用的同步机制&#xff0c;但它们的适用场景和底层原理有显著差异。以下是两者的详细对比&#xff1a; 1. 核心功能对比 特性volatilesynchronized原子性不保证复合操作的原…...

最优化方法Python计算:有约束优化应用——近似线性可分问题支持向量机

二分问题的数据集 { ( x i , y i ) } \{(\boldsymbol{x}_i,y_i)\} {(xi​,yi​)}&#xff0c; i 1 , 2 , ⋯ , m i1,2,\cdots,m i1,2,⋯,m中&#xff0c;特征数据 { x i } \{\boldsymbol{x}_i\} {xi​}未必能被一块超平面按其标签值 y i ∈ { − 1 , 1 } y_i\in\{-1,1\} yi​∈…...

Excel中批量对多个结构相同的工作表执行操作,可以使用VBA宏来实现

【系列专栏】&#xff1a;博主结合工作实践输出的&#xff0c;解决实际问题的专栏&#xff0c;朋友们看过来&#xff01; 《项目案例分享》 《极客DIY开源分享》 《嵌入式通用开发实战》 《C语言开发基础总结》 《从0到1学习嵌入式Linux开发》 《QT开发实战》 《Android开发实…...

Spring的Validation,这是一套基于注解的权限校验框架

为了保证数据的正确性、完整性&#xff0c;作为一名后端开发工程师&#xff0c;不能仅仅依靠前端来校验数据&#xff0c;还需要对接口请求的参数进行后端的校验。 controller 全局异常处理器 在项目中添加一个全局异常处理器&#xff0c;处理校验异常 RestControllerAdvice p…...

鸿蒙OSUniApp 开发的下拉刷新与上拉加载列表#三方框架 #Uniapp

使用 UniApp 开发的下拉刷新与上拉加载列表 前言 最近在做一个小程序项目时&#xff0c;发现列表的加载体验对用户至关重要。简单的一次性加载全部数据不仅会导致首屏加载缓慢&#xff0c;还可能造成内存占用过大。而分页加载虽然解决了这个问题&#xff0c;但如果没有良好的…...

VastBase的日常操作记录

---------需要命令启动数据库操作------------------- [vastbasedmz-neo4j01 ~]$ vb_ctl start [2025-05-13 09:41:54.515][10224][][vb_ctl]: vb_ctl started,数据目录是 /home/vastbase/data/vastbase [2025-05-13 09:41:54.728][10224][][vb_ctl]: 等待服务端进程启动 ... …...

企业级IP代理解决方案:负载均衡与API接口集成实践

在全球化业务扩张与数据驱动决策的背景下&#xff0c;企业级IP代理解决方案通过负载均衡技术与API接口集成&#xff0c;可有效应对高频请求、反爬机制及合规风险。以下是基于企业级场景的核心实践要点&#xff1a; 一、负载均衡与IP代理的深度协同 动态IP池的负载均衡策略 轮询…...

智能手表项目风险评估与应对计划书

&#x1f4d8; 智能手表项目风险评估与应对计划书 项目名称&#xff1a;Aurora Watch S1 版本号&#xff1a;v1.0 编制人&#xff1a;XXX&#xff08;项目经理&#xff09; 日期&#xff1a;2025年xx月xx日 一、概述 本计划书旨在识别Aurora Watch S1智能手表项目全过程中可能…...

Java基础之静态代理和动态代理

一、静态代理 定义&#xff1a; 代理类与被代理类在编译期就已确定&#xff0c;代理类需要手动编写并实现与被代理类相同的接口 1.核心角色&#xff1a; Subject&#xff08;抽象主题&#xff09;&#xff1a;定义业务方法的接口 RealSubject&#xff08;真实主题&#xff…...

观成科技:加密C2框架Vshell流量分析

一、工具介绍 Vshell是一款功能全面的红队工具&#xff0c;其设计兼顾隐蔽性与灵活性&#xff0c;尤其适合模拟网络攻击和测试防御体系。该工具支持TCP、UDP、KCP、WebSocket、DNS、DOH、DOT等多种协议。内置隧道代理功能&#xff0c;支持正向和反向连接模式&#xff0c;可以适…...

麒麟环境下Selenium的使用

本文主要介绍了在内网环境下、服务主机无域名的情况下,为了抓取内网其他系统网页数据,安装使用Selenium的方,并详细介绍了离线安装python依赖包的方法。服务主机操作系统为麒麟V10 SP3。 一. 查看可以安装的浏览器安装包 1. 更新软件包索引 首先确保软件包列表是最新的:…...

Protocol Buffers 全流程通俗讲解

Protocol Buffers 全流程通俗讲解&#xff08;从 0 到进阶&#xff09; 目录 序列化到底为什么要选 Protobuf&#xff1f;核心原理&#xff1a;一眼看懂二进制编码10 分钟跑通「写 .proto → 生成代码 → 读写数据」.proto 文件 8 条黄金法则&#xff08;小白友好版&…...

从故障到防护:抗晃电保护装置如何提升电网可靠性?

安科瑞刘鸿鹏 摘要 随着工业自动化水平的提升&#xff0c;生产设备对供电连续性和稳定性的依赖程度越来越高&#xff0c;电网中的电压暂降&#xff08;俗称“晃电”&#xff09;问题对工业生产构成了严重威胁。特别是在化工、冶金、半导体等高敏感行业&#xff0c;晃电引发的…...

Three.js知识框架

一、Three.js 基础概念 1. Three.js 简介 是什么&#xff1f; 基于 WebGL 的 3D JavaScript 库&#xff0c;用于在浏览器中渲染 3D 场景。 核心优势 简化 WebGL 的复杂 API&#xff0c;提供高层封装。 跨平台&#xff08;支持桌面和移动端&#xff09;。 适用场景 3D 可视…...

5.14本日总结

一、英语 背诵list30&#xff0c;复习list1 二、数学 完成30讲第13讲课后题&#xff0c;学习14讲部分内容 三、408 完成计网5.1,5.2题目 四、总结 在高数14讲内容学完之前写完13讲的所有题目&#xff0c;预计20号学完14讲内容&#xff0c;408的进度要加快&#xff0c;本…...

数据结构学习之链表学习:单链表

在之前顺序表的学习过程中&#xff0c;我们知道顺序表中头插和中插的复杂度是O&#xff08;N&#xff09;。那我们可不可以将其降低为O&#xff08;1&#xff09;呢&#xff1f;可不可以不增容想用就用想扔就扔而不会浪费一点空间呢&#xff1f;那就是我们今天的内容&#xff1…...

技术债务积累,如何进行有效管理

识别和评估技术债务、明确技术债务的优先级、制定系统的还债计划、持续监控与预防技术债务产生是有效管理技术债务积累的重要策略。其中尤其要注重识别和评估技术债务&#xff0c;只有准确识别技术债务的种类和严重程度&#xff0c;才能制定出高效且有针对性的解决方案&#xf…...

[20250514] 脑机接口行业调研报告(2024年最新版)

脑机接口行业调研报告&#xff08;2024年最新版&#xff09; 1. 调研报告 2. 相关企业...

【​​HTTPS基础概念与原理​】​​SSL/TLS协议演进史:从SSLv3到TLS 1.3

以下是 SSL/TLS协议演进史 的详细解析&#xff0c;从SSLv3到TLS 1.3&#xff0c;涵盖各版本的核心特点、重大漏洞及淘汰原因&#xff1a; 1. SSLv3&#xff08;Secure Sockets Layer 3.0&#xff09; • 发布时间&#xff1a;1996年&#xff08;Netscape开发&#xff09; • 核…...

JVM 与云原生的完美融合:引领技术潮流

最近佳作推荐&#xff1a; Java 大厂面试题 – 揭秘 JVM 底层原理&#xff1a;那些令人疯狂的技术真相&#xff08;New&#xff09; Java 大厂面试题 – JVM 性能优化终极指南&#xff1a;从入门到精通的技术盛宴&#xff08;New&#xff09; Java 大厂面试题 – JVM 深度剖析&…...

【进程控制二】进程替换和bash解释器

【进程控制二】进程替换 1.exec系列接口2.execl系列2.1execl接口2.2execlp接口2.3execle 3.execv系列3.1execv3.2总结 4.实现一个bash解释器4.1内建命令 通过fork创建的子进程&#xff0c;会继承父进程的代码和数据&#xff0c;因此本质上还是在执行父进程的代码 进程替换可以将…...

如何查看打开的 git bash 窗口是否是管理员权限打开

在 git bash 中输入&#xff1a; net session >nul 2>&1 && (echo Ok) || (echo Failed) 显示 OK 》是管理员权限&#xff1b; 显示 Failed 》不是管理员权限。 如何删除此步生成的垃圾文件&#xff1a; 新建一个 .txt 文件&#xff0c;输入以下代码…...

ubuntu 22.04 wifi网卡配置地址上网

通过network-manager配置 确定是否存在usb网卡的驱动 rootgpu-server:/etc/netplan# lsmod | grep rt2800usbrt2800usb 32768 0rt2x00usb 24576 1 rt2800usbrt2800lib 139264 1 rt2800usbrt2x00lib 73728 3 rt2800us…...

让 Cursor 教我写 MCP Client

文章目录 1. 写在最前面2. 动手实现一个 MCP Client2.1 How 天气查询 Client2.1.1 向 Cursor 提问的艺术2.1.2 最终成功展示2.1.3 client 的代码 3. MCP 协议核心之一总结3.1 SSE vs WebSocket 4. 碎碎念5. 参考资料 1. 写在最前面 学习了 MCP Server 的实现后&#xff0c;刚好…...

GoogleTest:GMock2 EXPECT_CALL

GoogleTest:GMock初识-CSDN博客 简单的介绍了GMock工作的方式 GMock其实是比较复杂的,先上一个例子,然后再仔细的解读: //not_ready_class.hpp #include <string>class Person { public:virtual ~Person() = default;virtual std::string name() = 0;virtual int a…...

自注意力机制(Self-Attention)前向传播手撕

题目 实现Transformer中自注意力机制的前向传播代码 思路与代码 自注意力机制&#xff08;Self-Attention&#xff09;是自然语言处理和深度学习中的一种核心机制&#xff0c;最早在 Transformer 模型中被提出。它的核心思想是&#xff1a;让序列中的每个元素都能动态关注整个…...

华硕服务器-品类介绍

目录 一、核心产品线解析 1. 机架式服务器 2. 塔式服务器 3. 高密度计算服务器 二、关键技术与模组配置 1. 主板与管理模块 2. 电源与散热 3. 存储与网络 三、应用场景与行业解决方案 1. 人工智能与高性能计算 2. 云计算与虚拟化 3. 边缘计算与工业物联网 一、核心…...