Java知识框架
一、Java 基础语法
1. 基础语法
-
数据类型
-
基本类型:
int
,double
,boolean
,char
等 -
引用类型:
String
, 数组, 对象
-
-
变量与常量
-
final
关键字 -
作用域(局部变量、成员变量)
-
-
运算符
-
算术、逻辑、位运算
-
三元运算符
? :
-
-
控制语句
-
if-else
,switch-case
-
for
,while
,do-while
-
break
,continue
,return
-
2. 面向对象编程(OOP)
-
类与对象
-
类的定义、实例化
-
构造方法(默认构造方法、重载)
-
-
三大特性
-
封装:
private
/public
/protected
,Getter/Setter -
继承:
extends
,super
,方法重写(@Override
) -
多态:父类引用指向子类对象,
instanceof
-
-
抽象类与接口
-
abstract class
vsinterface
-
default
方法(Java 8+)
-
-
内部类
-
成员内部类、静态内部类、局部内部类、匿名内部类
-
-
枚举(Enum)
-
枚举类定义、
values()
,valueOf()
-
3. 常用类库
-
String & StringBuilder
-
String
不可变性,StringBuilder
可变
-
-
Arrays & Collections
-
Arrays.sort()
,Arrays.asList()
-
List
,Set
,Map
(ArrayList
,HashSet
,HashMap
)
-
-
日期时间(Java 8+)
-
LocalDate
,LocalTime
,LocalDateTime
-
DateTimeFormatter
-
-
异常处理
-
try-catch-finally
-
throws
vsthrow
-
自定义异常
-
二、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)
-
字节流
-
InputStream
,OutputStream
-
FileInputStream
,FileOutputStream
-
-
字符流
-
Reader
,Writer
-
BufferedReader
,BufferedWriter
-
-
NIO(New I/O)
-
Channel
,Buffer
,Selector
-
Files
(Java 7+)
-
6. 多线程(Concurrency)
-
线程创建
-
Thread
类 -
Runnable
接口 -
Callable
+Future
-
-
线程同步
-
synchronized
关键字 -
ReentrantLock
-
volatile
关键字
-
-
线程池
-
ExecutorService
-
ThreadPoolExecutor
-
-
并发工具
-
CountDownLatch
,CyclicBarrier
-
BlockingQueue
(ArrayBlockingQueue
,LinkedBlockingQueue
)
-
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
-
jps
,jstat
,jmap
,jstack
-
-
类加载机制
-
双亲委派模型
-
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
-
LocalDate
,ZonedDateTime
-
12. 数据库 & ORM
-
JDBC
-
Connection
,Statement
,PreparedStatement
-
-
Hibernate / JPA
-
@Entity
,@Table
,@OneToMany
-
-
MyBatis
-
Mapper
接口,XML
配置
-
13. 框架
-
Spring
-
IoC & AOP
-
@Autowired
,@Component
-
-
Spring Boot
-
自动配置,
application.yml
-
@RestController
,@GetMapping
-
-
Spring Cloud
-
微服务架构(
Eureka
,Feign
,Hystrix
)
-
四、Java 生态
14. 开发工具
-
IDE
-
IntelliJ IDEA, Eclipse
-
-
构建工具
-
Maven, Gradle
-
-
版本控制
-
Git(
git clone
,git commit
,git push
)
-
15. 测试
-
单元测试
-
JUnit 5(
@Test
,@BeforeEach
)
-
-
Mock 测试
-
Mockito(
when().thenReturn()
)
-
16. 部署 & DevOps
-
Docker
-
Dockerfile
,docker-compose
-
-
CI/CD
-
Jenkins, GitHub Actions
-
五、学习路线建议
1. 初级阶段(1-3 个月)
-
Java 基础语法
-
OOP(封装、继承、多态)
-
集合框架(
ArrayList
,HashMap
) -
异常处理
2. 中级阶段(3-6 个月)
-
多线程(
Thread
,synchronized
) -
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 关键字 作用域(局部变量、成员变量) 运算符 算术、逻辑、位运算 三元运算符 ? : 控制…...

2024年业绩增速大幅回退,泸州老窖未能“重回前三”
撰稿|行星 来源|贝多财经 回望过去的2024年,受制于购买力与消费需求的持续疲软,白酒行业的发展面临诸多复杂性与不确定性,“量价齐跌”犹如笼罩在各大企业头顶的一片阴云。 正如巴菲特所言:“当潮水退去时,才知道谁在…...

院校机试刷题第二天:1479 01字符串、1701非素数个数
一、1479 01字符串 1.题目描述 2.解题思路 方法一:暴力法 模拟过程,列出几个数据来a[1]1, a[2]2, a[3]3, a[4]5以此类推,这就是斐波那契数列,每一项都等于前两项之和,确定好a[1], a[2]即可。 方法二:动…...
【Vue.js 的核心魅力:深入理解声明式渲染】
Vue.js 的核心魅力:深入理解声明式渲染 在现代前端框架的浪潮中,Vue.js 以其轻量、易学、高效的特点赢得了广大开发者的青睐。其核心魅力之一,便是其优雅的**声明式渲染 (Declarative Rendering)**机制。理解声明式渲染不仅能帮助我们更好地…...

制作一款打飞机游戏48:敌人转向
射击功能 有一个重要的功能我们还没实现,那就是射击。目前,敌人还不能射击,这显然是不行的。因此,我们决定添加一个射击命令,暂时用一个显示圆圈的方式来表示射击动作。 编程语言的调试 有趣的是,我们创…...
鸿蒙OSUniApp打造多功能图表展示组件 #三方框架 #Uniapp
使用UniApp打造多功能图表展示组件 在当前移动应用开发领域,数据可视化已成为不可或缺的一部分。无论是展示销售数据、用户增长趋势还是其他业务指标,一个优秀的图表组件都能有效提升用户体验。UniApp作为一款跨平台开发框架,如何在其中实现…...
Chrome浏览器实验性API computePressure的隐私保护机制如何绕过?
一、computePressure API 设计原理与隐私保护机制 1.1 API 设计目标 computePressure是W3C提出的系统状态监控API,旨在: • 提供系统资源状态的抽象指标(非精确值) • 防止通过高精度时序攻击获取用户指纹 • 平衡开发者需求与用户隐私保护 1.2 隐私保护实现方式 // 典…...

RK3588 串行解串板,支持8路GMSL相机
RK3588 支持的 GMSL 相机接入数量取决于所使用的解串板型号及配置方案: xcDeserializer3.0 解串板 可接入最多 8 路 2M GMSL2 相机1。 xcDeserializer4.0 解串板 支持 4 路 2M GMSL2 相机1。 边缘计算盒解决方案 部分商用方案可实现 4 或 8…...

OracleLinux7.9-ssh问题
有套rac环境,db1主机无法ssh db1和db1-priv,可以ssh登录 db2和db2-priv [rootdb1 ~]# ssh db1 ^C [rootdb1 ~]# ssh db2 Last login: Wed May 14 18:25:19 2025 from db2 [rootdb2 ~]# ssh db2 Last login: Wed May 14 18:25:35 2025 from db1 [rootdb2…...

手机换IP真的有用吗?可以干什么?
在当今数字化时代,网络安全和个人隐私保护日益受到重视。手机作为我们日常生活中不可或缺的工具,其网络活动痕迹往往通过IP地址被记录和追踪。那么,手机换IP真的有用吗?它能为我们带来哪些实际好处?本文将为你一一解答…...
提示词设计模板(基于最佳实践)
1. 任务清晰化 模糊指令 ➜ 明确指令 ❌ "写一篇关于环保的文章" ✅ *"列出5种城市环保措施,并分别说明其对减少碳排放的影响(要求:数据支持案例)"* 2. 任务步骤化 案例:策划线上营销活动 1.…...

如何实现一个运动会计分系统?(C语言版)
一、需求分析 设计一个运动会计分系统,计分信息包括参加学校,参与项目,性别,名次个数,各个学校获得名次信息。该系统具有以下功能 数据录入: 链表或结构体数组组织数据数据报表: 依照规定的报表格式对数据打印报表数据排序: 按照要求对数据进行统计,含简单统计及综合统计…...
《P4391 [BalticOI 2009] Radio Transmission 无线传输 题解》
题目描述 给你一个字符串 s1,它是由某个字符串 s2 不断自我连接形成的(保证至少重复 2 次)。但是字符串 s2 是不确定的,现在只想知道它的最短长度是多少。 输入格式 第一行一个整数 L,表示给出字符串的长度。…...
tocmat 启动怎么设置 jvm和gc
在生产环境中部署 Java Web 应用时,我们经常需要给 Tomcat 设置 JVM 参数和 GC 策略,以提高性能、稳定性和可观察性。以下是完整教程: 一、Tomcat 设置 JVM 启动参数的方式 1. 修改 startup 脚本(推荐) 以 Linux 系统…...
[思维模式-37]:什么是事?什么是物?什么事物?如何通过数学的方法阐述事物?
一、基本概念 1、事(Event) “事”通常指的是人类在社会生活中的各种活动、行为、事件或情况,具有动态性和过程性,强调的是一种变化、发展或相互作用的流程。 特点 动态性:“事”往往涉及一系列的动作、变化和发展过程。例如&a…...
面向对象设计模式之代理模式详解
文章目录 面向对象设计模式之代理模式详解面向对象思想:现代软件开发的基石代理模式:巧妙的中间层设计JavaScript 语法点与代理模式的结合JavaScript 实现代理模式示例代理模式的应用场景 面向对象设计模式之代理模式详解 在现代软件开发的浩瀚领域中&a…...
C++【STL】(2)string
C【STL】string用法扩展 1. assign:为字符串赋新值 用于替换字符串内容,支持多种参数形式。 常用形式: // 用另一个字符串赋值 str.assign("Hello World");// 用另一个字符串的子串(从第6个字符开始,取5…...

嵌入式学习笔记 - STM32 ADC,多重转换,内部参考电压,过采样,逐次逼近原理,采样时间
一 多个ADC器件,多重转换速率 每个型号MCU通常由多个ADC器件,比如STM32F4有三个ADC器件,每个ADC器件有一个最大转换速率,一般为2.4Mhz,即一个ADC器件每秒最多转换2.4M次,两次转换之间需要有时间间隔&#…...

团结引擎 1.5.0 发布,抖音小游戏平台即将开放、Shader Graph功能新增…引擎能力再提升!
「团结引擎 1.5.0」来啦!本次技术更新的内容,涵盖了小游戏、团结引擎车机版、OpenHarmony、Shader Graph、Muse Chat、Hub&License、代码升级、Digital Asset Manager for Tuanjie、团结官方开源车模 Sample 几大方向。 小游戏 在 Tuanjie 1.5.0 版…...
如何下载 Microsoft SQL Server Management Studio 2019
SQL Server Management Studio 是什么,为什么你需要它 SSMS 是 Microsoft 用于管理 SQL Server 环境的主要工具。它为 Windows 用户提供了一个图形用户界面,本质上是数据库管理员和开发人员处理 SQL Server 的指挥中心。重点是——尽管你可能认为它与 SQL Server 捆绑在一起…...
【SSL部署与优化】HTTP/2与HTTPS的协同效应
HTTP/2与HTTPS的协同效应:为何HTTP/2强制要求TLS 1.2? HTTP/2是HTTP协议的现代升级版,旨在通过多路复用、头部压缩等技术提升性能。然而,HTTP/2的设计与部署与HTTPS(TLS加密)紧密相关,甚至强制…...

如何配置activemq,支持使用wss协议连接。
1、到阿里云申请一个证书,通过后下载jks证书。 2、配置activemq: 打开activemq安装目录中“conf/activemq.xml”,增加以下记录: <transportConnectors> <transportConnector name"wss" uri"…...
GO语言内存管理结构
文章目录 1、内存分区1.1、栈(Stack)1.2、堆(Heap) 2、堆内存管理结构2.1、内存分配器(MCache → MArena → MSpan → MHeap)2.2、大小分类(Size Class)2.3、分配流程 3、垃圾回收&a…...

初学c语言14(指针6)
一.sizeof和strlen的对比 1.sizeof 操作符,计算变量所占空间大小 2.strlen 库函数,函数原型为: 求的是字符串的长度,统计的是“\0”之前的字符个数 二.指针和笔试题解析 补充:数组名的意义 1.sizeof(数组名) 这…...

数字化转型-4A架构之技术架构
4A架构系列文章 数字化转型-4A架构(业务架构、应用架构、数据架构、技术架构) 数字化转型-4A架构之业务架构 数字化转型-4A架构之应用架构 数字化转型-4A架构之数据架构 数字化转型-4A架构之技术架构 一、 技术架构 Technology Architecture 1. 技…...
什么是SparkONYarn模式
1. 什么是 Spark on YARN? Spark on YARN 是 Apache Spark 的一种部署模式,允许 Spark 应用程序在 Hadoop YARN 集群上运行,充分利用 YARN 的资源管理和调度能力。这种模式将 Spark 与 Hadoop 生态深度集成,使企业能够在同一集群…...

kaggle薅羊毛
参考:https://pytorch-tutorial.readthedocs.io/en/latest/tutorial/chapter05_application/5_1_kaggle/#512-kaggle https://github.com/girls-in-ai/Girls-In-AI/blob/master/machine_learning_diary/data_analysis/kaggle_intro.md 1,code training…...

TCP 三次握手建立连接详解
文章目录 一、三次握手流程1、第一次握手2、第二次握手3、第三次握手 二、引申问题1、报文丢失,会发生什么?1.1、第一次握手丢失1.2、第二次握手丢失1.3、第三次握手丢失 2、为什么 ISN(Initial Sequence Number,初始序列号) 不固定3、为什么…...

高海拔和远距离的人员识别:面部、体型和步态的融合
大家读完就觉得有帮助记得关注和点赞!!! 摘要 我们解决了在无约束环境中进行全身人体识别的问题。这个问题出现在诸如IARPA高空和远距离生物识别与身份识别(BRIAR)计划等监视场景中,其中生物识别数据是在长…...
Golang实践录:在go中使用curl实现https请求
之前曾经在一个 golang 工程调用 libcur 实现 https的请求,当前自测是通过的。后来迁移到另一个小系统出现段错误,于是对该模块代码改造,并再次自测。 问题提出 大约2年前,在某golang项目使用libcurl进行https请求(参…...