有个同学小Q,他学习Java也有一段时间了,跟着网上的视频也多多少少写了一点代码,但总感觉缺少点什么,很不成系统,不能具备做项目的思想。下一步很纠结,不知如何进行下去。

这样的感觉是没错的。视频课程都是精心设计的,大多数是一个主题,教会你一个知识点就玩完。即使做项目,也是皮毛,实现初级功能为主。

比如,教你注册,就给了个CURD的案例。这是远远不够的,因为用户系统最重要的是考虑它的安全性,验证码、加密、防批量恶意注册这种核心技术,就没人给你讲。

下面还是从人才类型的分类开始说起,来分享一些小Q的经验吧。

人才类型

软件领域有两种人才,一种是偏向理论的,一种是偏向工程

理论性的包括一些方法论的研究,算法,以及一些冷门的课题,要有成果是比较难的。工程类的就是使用市面上的框架进行软件开发,难度上低了不少。

工程类人才又分为业务型的和技术型的。业务型不需要了解这些框架背后的深层原理,只需要根据产品的模型构建出可运行的代码就可以;而技术型的,比如基础中间件的开发,对基础的技能就要求比较高一些。

使用Java,工程类的项目居多。

不要重复做CRUD

纵观各种培训机构,以及网上流行的视频,工程类的居多,而且都是初级项目。一个项目如果没有经历过流量的冲击,很多问题都不能很好的展现。

相信你已经做了一些SSM之类的项目,比如开发一些管理后台,一些权限认证等。但做完这些,只算是一个刚入门的学童。这种CRUD的项目,做一套就够了,做多了纯属浪费时间。包括很多star数很高的权限系统、用户管理系统什么的,不要看。

建议如果想往技术方面发展的话,多了解下jdk的基础,多了解一些分布式相关的知识。

如何进行

多看源码,找重点

多逛github,多看源码。但看源码不要什么都看,要找这个项目的关键点,找它的优势。

比如看etcd,就搞懂raft,那么源码看不看也不重要了。

那些代码量巨大的项目,其实已经经过了N多迭代,参考的价值不大。反而是隐藏在代码背后的原理更加重要一些。

多了解一些中间件

Java的精髓技术都在中间件里,包括一些分布式知识。如果你想要往技术路线发展,那正适合你。

中间件技术很多,找准一个看就可以。刚开始接触的话,建议接触MQ或者缓存组件等。这些东西虽然难了些,但一旦了解透彻了,就不是CRUD能比的了。

建议项目

千万不要以为学Java就是写代码,那种思想太初级。

代码的最终目标就是实现某个场景的解决方案。建议你找准一个切入点,比如做一个库存管理系统、做一个供应链、营销系统之类的。

不管什么,找到一个想要切入的点,开始做轮子。轮子做的不好不要紧,你可以顺便体验一下重构的过程。

一定要体验一把软件工程的整个流程。从 需求确认->概要设计->详细设计->编码->重构->测试->压测。

认真的走一遍,你的水平绝对会上升一个档次。

项目周期,3个月之内为妙。

怎么看源码

不要死看源码! 不要死看源码! 不要死看源码!

在Java届,你要是靠看源码学习的话,那效率可以说是非常非常非常低了。有Debug功能的存在,我们就可以和看源码这种低效的学习方式88了。

即使是非常复杂的系统,使用Java的Debug功能,也能很快的找到它主要的执行路径。

再搞CRUD,就真的变成废物獠!相关推荐

  1. 拜托 别再搞逻辑删除了

    拜托 别再搞逻辑删除了 基于领导的一句话:"产生的数据都是有价值的数据",因此第一个想到的就是假删("逻辑删除"),还将其定义为了一个标准,所有表都要有 逻辑删 ...

  2. 腾讯视频《庆余年》再搞超前点播,网友:不是每部剧都叫《陈情令》

    今日上午,腾讯视频官方微博再发预告,其平台正在热播的IP大剧<庆余年>今晚20点开启超前点播,在会员的基础上再进行付费,可提前解锁6集内容. 针对热播剧集,这已经不是腾讯视频第一次这么操作 ...

  3. SAP License:瞎搞!你真的懂什么是ERP、中台和低代码吗?

    互联网信息圈就是这样,写个不知所云的文章,再配上博眼球的标题,立马引来众多围观,不少公众号也蜂拥转载,完全不去思考文章写得对不对,有没有道理,反正有流量就行.苦的是那些学习的人,莫名其妙被塞进去了错误 ...

  4. 瞎搞!你真的懂什么是ERP、中台和低代码吗?

    欢迎关注微信公众号:sap_gui (ERP咨询顾问之家) 互联网信息圈就是这样,写个不知所云的文章,再配上博眼球的标题,立马引来众多围观,不少公众号也蜂拥转载,完全不去思考文章写得对不对,有没有道理 ...

  5. 不要再搞混Vue的响应式原理和双向数据绑定了

    前言 之前公司招人,面试了一些的前端同学,因为公司使用的前端技术是Vue,所以免不了问到其响应式原理和Vue的双向数据绑定.但是这边面试到的80%的同学会把两者搞混,通常我要是先问响应式原理再问双向数 ...

  6. 穷搞IT,富搞金融,真的是这样吗?

    黑客技术 点击右侧关注,了解黑客的世界! Java开发进阶 点击右侧关注,掌握进阶之路! Linux编程 点击右侧关注,免费入门到精通! 越来越多的人加入互联网大家庭,看中的是具有强烈吸引力的高薪资, ...

  7. 再搞75块单片机开发板!

    大家好,我是张巧龙,还记得当初自己用51开发板点亮了第一颗LED灯吗? 51单片机,yyds!不多说,直接抽奖送75块! 兴趣爱好 如果你对一件事失去了兴趣,我觉得你把这件事坚持做下去的概率很低. 反 ...

  8. 别再搞纯文本了!多模文档理解更被时代需要!

    文 | Ryan 都已经2021年了,互联网已经今非昔比,20年前纯文本的日子已经一去不复返,文字已经满足不了网页.文章的需求,绝大部分都会有着精心设计的表格.图片,甚至视频.PDF文档这种富文本格式 ...

  9. 固态硬盘的PCIE,SATA,M2,NVMe,AHCI分别都指什么?别再搞混了

    原文:https://baijiahao.baidu.com/s?id=1616207956596122967&wfr=spider&for=pc 科技娱乐屋 18-11-0420:5 ...

最新文章

  1. 《用户故事与敏捷方法》阅读笔记一
  2. 穷不可怕,可怕的是“穷人思维”
  3. 易语言 服务器抓包,易语言抓包获得地址实现TP路由器登陆的代码
  4. asterisk1.8 账号信息mysql存储(动态)
  5. PowerBI从Exchange跟踪日志中分析数据和KPI展现
  6. python socket客户端_python 使用socket模拟tcp客户端和tcp服务器端
  7. FATAL ERROR in native method: JDWP No transports initialized, jvmtiError=AGENT_ERROR_TRANSPORT_INIT(
  8. Ubuntu快速设置指南
  9. 正确理解MySQL中的where和having的区别
  10. mysql卸载详细教程
  11. 重磅!Apache RocketMQ 深圳沙龙报名开启!
  12. C之九剑其二——运剑
  13. HBase-14.1-JMX监控实战-hadoop
  14. 工作积累⑨——从丁香医生增长看地推的重要性
  15. 字和词语联合训练的词向量模型
  16. The 3rd SMUCTF Office WriteUp
  17. 广告公司到底干什么的?欣奥诚分享
  18. 远程桌面无法连接解决办法
  19. python对比2个文件内容
  20. oracle 比对数据库表和数据表数据(PL\SQL)

热门文章

  1. matlab几何失真校正,摄像头图像失真校正
  2. android minheight 作用,为什么minHeight属性在WebView Android中不起作用?
  3. ConstraintLayout子View android:minHeight 无效解决
  4. stm32 40道选择题解1
  5. select poll epoll 高效IO 多路转接
  6. windows 7 active directory用户和计算机,Windows – Active Directory用户和计算机上的Active Directory管理中心...
  7. 如何快速找到志同道合的人?看这一篇就够了
  8. 【转贴】传说中的股市
  9. 拓嘉启远:拼多多全店推广推广计划无限制叠加,行吗
  10. linux cacti安装教程,cacti安装教程