潍坊市论坛

首页 » 分类 » 常识 » 如何吃透一个Java项目附学习实践
TUhjnbcbe - 2021/5/22 23:46:00
北京白癜风医院哪最好 http://www.bdfyy999.com/index.html

本文来源

淘系技术

首先,尝试分析下题主感到空虚、似懂非懂的原因,从问题描述来看原因可能有以下几方面:

目标不清晰

在项目学习之前,是否有认真梳理和思考过,希望通过项目学习到哪些技术、重点需掌握哪些知识点?这些知识点又属于自己技术体系中哪个环节,是需要必须熟练掌握还是了解原理即可?相信只有明确目标之后才有学习侧重点和方向。

学习方法

项目学习过程中,是否有带着问题和思考?比如项目核心需要解决的问题场景、使用了哪些技术方案,为什么需要这些技术,方案选择考虑主要有哪些?系统模块这样分层和实现的好处是?这个方法的实现,性能是否可以进一步优化等等。

如果只是纯粹跟着视频将项目代码机械敲一遍,我认为跟练习打字没任何区别,写出来的代码也是没有灵*如行尸走肉。我相信只有结合自己的思考和理解,才可能赋予新的灵*,做到知其然知其所以然,相关知识点也才能真正转化为自己的技术。

复习与应用

纸上得来终觉浅,绝知此事要躬行,相信对编程而言更是如此,唯有实践才能出真知。对项目中学到的相关技术、知识点需要在不同场景反复练习和应用,并对过程中遇到的问题不断总结和反思。

其次,回到题主问题,如何吃透一个Java项目?从个人经验来看,大致可以从以下几方面入手:

项目背景了解

学习之前,先对项目业务背景和技术体系做大致的了解,这点非常重要,一是为了解项目核心要解决问题域,二是知道系统涉及哪些技术体系,这样在学习之前可以有相关技术知识准备,以便更轻松高效学习。另外,学习完之后也可以清楚知道,什么样问题可以使用什么技术、什么方案来解决、如何解决的。

系统设计文档学习

对项目和系统大概了解之后,可以开始对系统设计文档熟悉,建议按照架构文档、概要设计、详细设计方式递进。通过设计文档的学习,可以快速对各系统模块有个框架性认识,知道各系统职责、边界、如何交互、系统核心模型等等。

对于设计文档的学习,切不可走马观花,一定要带着问题和思考。比如项目背景中的核心业务问题,架构师是如何转化成技术落地,方案为什么要这样设计,模型为什么要这样抽象,这样做的好处是什么等等?同时,对不理解的问题做需好笔记,以便后续向老师或其他同事请教或讨论等等。

系统熟悉和代码阅读

通过设计文档的学习,对系统设计有整体了解之后,接下来就可以结合业务场景、相关问题去看代码如何实现了。不过代码阅读,也需要注意方式方法,切不可陷入代码细节,应该自顶向下、分层分模块的阅读,以先整体、后模块、单功能点的方式层层递进。先快速走读整个代码模块逻辑,然后再精读某个类、方法的实现。

代码阅读过程中,建议一边阅读一边整理相关代码模块、流程分支、交互时序,以及类图等,以便更好理解,有些IDE工具也可根据代码自动生成,比如IntlliJIDEA。

代码阅读除了
  //......publicfinalclassTtlRunnablimplmntsRunnabl,TtlWrapprRunnabl,TtlEnhancd,TtlAttachmnts{privatfinalAtomicRfncObjctcaptudRf;privatfinalRunnablrunnabl;privatfinalboolanlasTtlValuRfncAftrRun;privatTtlRunnabl(

NonNullRunnablrunnabl,boolanlasTtlValuRfncAftrRun){this.captudRf=nwAtomicRfncObjct(captu());this.runnabl=runnabl;this.lasTtlValuRfncAftrRun=lasTtlValuRfncAftrRun;}/***wrapmthod{

linkRunnabl#run()}.*/

Ovrridpublicvoidrun(){finalObjctcaptud=captudRf.gt();if(captud==null

lasTtlValuRfncAftrRun!captudRf.

1
查看完整版本: 如何吃透一个Java项目附学习实践