首先,要先把自己感兴趣的项目下载下来,这部分肯定需要git的一些知识,不过这个可以很快的入门,两个小时足够学会git的安装和下载项目,前提是得静下心来学。

经过了千辛万苦终于把项目下载下来了,先喝口水冷静一下因为这才是万里长征的第一步。然后打开你的idea, 可能正确的打开一个项目可能需要半小时到半天不等的时间。

然后,先把项目成功的把项目跑起来,过程可能各种环境配置会把你折磨很久。假如是项目本身没有问题的话,一个小白从项目下载到项目成功启动会经历一到两天的时间。大家都是这样过来的,虽然中间会有无数次放弃的念想。不过经过这一轮的折腾,你自己也学会了,一些环境变量的配置,项目里面的一些配置(数据库配置,spring配置,redis配置等等)。

然后正式进入正题,项目跑起来后,就是看源码的过程,看源码大忌是从头到尾一行一行的看,这样只会加速你放弃的进度。首先假如是GitHub,码云等管理仓库上的出名的项目,肯定会有一篇入门文档,一般放在项目的根目录,这篇文档很重要,慢慢读,可以让你在脑海中大概有个印象。

然后,就要根据项目的功能来划分,举个例子,假如是像一些xxx管理平台的话,就会有,登陆、注册、权限、录入员工、删除员工,等等等。一个个的找到代码对应的入口debug,一直跟到数据库执行,了解里面的设计,想想为什么要这样设计。假如遇到看不懂的但是又不影响的代码就不用看这些代码了,直接debug跳过。这个过程,你会了解真实的项目是怎么样做分层的,spring,mybatis的一些基本使用,java对象的封装,java里面的一些基本api使用。

最后再试着在这个项目的基础上再自己写个curd的demo,这样就会对整个项目有个大概的理解了。

项目,这个词有大有小,如果只是一个简单mvc的web项目那其实只要了解servlet多一些就行了,但如果是springcloud全家桶那需要知道的东西就多了,就算是作为一个轻量级的微服务框架springboot你至少也得知道它的核心思想ioc和aop是什么原理吧,更不用说它的各种扩展集成,比如redis,jpa,mybatis,rabbitmq等等

我的想法是什么呢,首先弄清楚这个java项目是什么框架,然后就是看它的核心思想,比如spring的ioc就跟java的反射有很大关联,不懂的赶紧去恶补,基础也很重要

假如是个正常的java web项目,在这个过程,你会学会java中基本api的调用,spring,mybatis框架的基本使用,sql的基本用法,还有idea的一些使用。鉴于楼主是初学者这些足够学一段时间,设计模式,java中各种骚用法,spring的高阶用法,多线程,sql调优等等这些先可以放一放等学会基本的用法再慢慢学。

不过最重要的是这个过程不要着急,一口吃成一个胖子,加油!

如何能快速看懂一个Java项目?相关推荐

  1. 如何快速看懂一个大型程序

    为什么以及要有的态度: 不要消极的去阅读别人的代码,而是带着挖掘宝藏的精神去寻找别人的代码中精华的部分,找出其中好的架构为我所用. 大体思路: (1)忽略细节,先前不要关注分支(支线).不重要的功能, ...

  2. 如何快速看懂一个项目

    在软件研发过程中,我们经常碰到如下情况:许多学习开发的同学或在职的程序员都经常为拿到一个大型程序后,在短时间内无法快速读懂它而烦劳.当他们拿到一个大型程序后,他们便开始一句一句的阅读分析,夜以继日,就 ...

  3. 1分钟看懂:java 项目中 VO 、DTO、Entity,各自是在什么情况下应用的

    前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家.点击跳转到教程. 1.entity 里的每一个字段,与数据库相对应, 2.vo 里的每一个字段,是和你前台 html ...

  4. 如何真正的吃透一个Java项目?

    如何真正的吃透一个Java项目?这里要说吃透一个Java项目的标准就是:下次遇到此类Java项目可以快速使用写过的Java项目的解决方案完成它. 要达到这个的标准,还得从开发一个Java项目的过程来分 ...

  5. 如何快速读懂一个后端系统代码

    如何快速看懂一个后端系统代码 当一个java开发新手拿到一个系统代码并且没有人给你讲基本的需求与功能时,如何快速读懂代码了解功能是提高工作效率的必备技能.我作为一个参加工作一年的Java小菜是如何做的 ...

  6. java 账本 创建数据库_想用你所学的JAVA与数据库写一个属于自己的账本吗?一起来看看呗!看如何用java项目操作数据库...

    *利用简单的JAVA与数据库写一个属于你自己的账本* 效果图 * 目标实现 把用户输入的信息录入到数据库中,并且从数据库中取出值来,是不是很简单? 所需工具 相信大家都有的,eclipse.myecl ...

  7. java gradle入门_Gradle入门:我们的第一个Java项目

    java gradle入门 这篇博客文章描述了如何使用Gradle编译和打包一个简单的Java项目. 我们的Java项目只有一个要求: 我们的构建脚本必须创建一个可执行的jar文件. 换句话说,我们必 ...

  8. Gradle入门:我们的第一个Java项目

    这篇博客文章描述了如何使用Gradle编译和打包一个简单的Java项目. 我们的Java项目只有一个要求: 我们的构建脚本必须创建一个可执行的jar文件. 换句话说,我们必须能够使用以下命令运行程序: ...

  9. 初学者如何吃透一个Java项目

    不少初学者朋友在学习Java过程中,会对着视频敲Java项目,其中遇到的BUG还能解决,但就是每次敲完一个项目,就感觉很空虚,项目里面的知识点感觉懂了但又好像没懂 这些朋友应该怎样才能掌握一个项目所用 ...

最新文章

  1. 解决PHP Fatal error mysql_connect() mysql_query()的问题
  2. ARM汇编语言实现peek()_ARM汇编之访问C语言结构体数据
  3. 使用ModelForm上传图片
  4. jquery动态加载JS【方法getScript】的改进
  5. [BZOJ 2434][Noi2011]阿狸的打字机(AC自动机+树状数组+dfs序)
  6. MYSQL从节点延迟问题原因及解决
  7. Python 面向对象编程:类的创建与初始化、实例属性与方法、类属性与方法
  8. python数据统计代码_Python 数据的累加与统计的示例代码
  9. android中activity布局,Activity布局初步(一)
  10. WordPress 多功能响应式-CorePress博客主题
  11. python原类、类的创建过程与方法
  12. (8)Linux内核中的hash与bucket
  13. python写web自动化_jenkins+selenium+python实现web自动化测试
  14. makefile中 = ,:=,+=有怎么区别?
  15. 使用IIS 7.0 Smooth Streaming 优化视频服务
  16. 【生信进阶练习1000days】day3-Bioconductor annotation resources
  17. 生信高性能服务器,【玩转腾讯云】使用云服务器进行生信数据分析
  18. OpenStack在天河二号的大规模部署实践(转)
  19. 嗯,春招两次腾讯面试都挂二面了,分享下我失败+傻傻的面试经历
  20. 添加企业微信免验证设置

热门文章

  1. 2023计算机毕业设计SSM最新选题之java中药城药材销售管理系统eah41
  2. 权限细粒度之参数控制,不同人看到报表模板不同
  3. 戴尔刀片服务器型号在哪里,戴尔 PowerEdge M640 刀片式服务器:服务器 | Dell 中国大陆...
  4. web前端高级必备面试资料
  5. 《生物化学与分子生物学》----蛋白质----听课笔记(六)
  6. Mysql优化之6年工作经验总结
  7. PUCCH format2中的RM码(reed muller code)和Polar码
  8. deeplink跳转快应用返回出现两次系统添加桌面的弹框
  9. 八皇后时间复杂度_【精神分裂症】首次发病未治疗精神分裂症患者大脑皮质复杂度改变...
  10. Windows+Anaconda+tensorflow+keras深度学习框架搭建--reproduced