如何能快速看懂一个Java项目?
首先,要先把自己感兴趣的项目下载下来,这部分肯定需要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分钟看懂:java 项目中 VO 、DTO、Entity,各自是在什么情况下应用的
前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家.点击跳转到教程. 1.entity 里的每一个字段,与数据库相对应, 2.vo 里的每一个字段,是和你前台 html ...
- 如何真正的吃透一个Java项目?
如何真正的吃透一个Java项目?这里要说吃透一个Java项目的标准就是:下次遇到此类Java项目可以快速使用写过的Java项目的解决方案完成它. 要达到这个的标准,还得从开发一个Java项目的过程来分 ...
- 如何快速读懂一个后端系统代码
如何快速看懂一个后端系统代码 当一个java开发新手拿到一个系统代码并且没有人给你讲基本的需求与功能时,如何快速读懂代码了解功能是提高工作效率的必备技能.我作为一个参加工作一年的Java小菜是如何做的 ...
- java 账本 创建数据库_想用你所学的JAVA与数据库写一个属于自己的账本吗?一起来看看呗!看如何用java项目操作数据库...
*利用简单的JAVA与数据库写一个属于你自己的账本* 效果图 * 目标实现 把用户输入的信息录入到数据库中,并且从数据库中取出值来,是不是很简单? 所需工具 相信大家都有的,eclipse.myecl ...
- java gradle入门_Gradle入门:我们的第一个Java项目
java gradle入门 这篇博客文章描述了如何使用Gradle编译和打包一个简单的Java项目. 我们的Java项目只有一个要求: 我们的构建脚本必须创建一个可执行的jar文件. 换句话说,我们必 ...
- Gradle入门:我们的第一个Java项目
这篇博客文章描述了如何使用Gradle编译和打包一个简单的Java项目. 我们的Java项目只有一个要求: 我们的构建脚本必须创建一个可执行的jar文件. 换句话说,我们必须能够使用以下命令运行程序: ...
- 初学者如何吃透一个Java项目
不少初学者朋友在学习Java过程中,会对着视频敲Java项目,其中遇到的BUG还能解决,但就是每次敲完一个项目,就感觉很空虚,项目里面的知识点感觉懂了但又好像没懂 这些朋友应该怎样才能掌握一个项目所用 ...
最新文章
- 解决PHP Fatal error mysql_connect() mysql_query()的问题
- ARM汇编语言实现peek()_ARM汇编之访问C语言结构体数据
- 使用ModelForm上传图片
- jquery动态加载JS【方法getScript】的改进
- [BZOJ 2434][Noi2011]阿狸的打字机(AC自动机+树状数组+dfs序)
- MYSQL从节点延迟问题原因及解决
- Python 面向对象编程:类的创建与初始化、实例属性与方法、类属性与方法
- python数据统计代码_Python 数据的累加与统计的示例代码
- android中activity布局,Activity布局初步(一)
- WordPress 多功能响应式-CorePress博客主题
- python原类、类的创建过程与方法
- (8)Linux内核中的hash与bucket
- python写web自动化_jenkins+selenium+python实现web自动化测试
- makefile中 = ,:=,+=有怎么区别?
- 使用IIS 7.0 Smooth Streaming 优化视频服务
- 【生信进阶练习1000days】day3-Bioconductor annotation resources
- 生信高性能服务器,【玩转腾讯云】使用云服务器进行生信数据分析
- OpenStack在天河二号的大规模部署实践(转)
- 嗯,春招两次腾讯面试都挂二面了,分享下我失败+傻傻的面试经历
- 添加企业微信免验证设置
热门文章
- 2023计算机毕业设计SSM最新选题之java中药城药材销售管理系统eah41
- 权限细粒度之参数控制,不同人看到报表模板不同
- 戴尔刀片服务器型号在哪里,戴尔 PowerEdge M640 刀片式服务器:服务器 | Dell 中国大陆...
- web前端高级必备面试资料
- 《生物化学与分子生物学》----蛋白质----听课笔记(六)
- Mysql优化之6年工作经验总结
- PUCCH format2中的RM码(reed muller code)和Polar码
- deeplink跳转快应用返回出现两次系统添加桌面的弹框
- 八皇后时间复杂度_【精神分裂症】首次发病未治疗精神分裂症患者大脑皮质复杂度改变...
- Windows+Anaconda+tensorflow+keras深度学习框架搭建--reproduced