初级Java程序员如何快速进阶
主要内容: 疑问的无限递归 递归的结束条件 疑问的无限递归
去年我刚入行时,用SSM写了大概5个月的增删改查,并且在实际工作中从未自己搭建过SSM环境。倒不是不会,毕竟网上已经有很多博客直接贴出了配置,拷贝黏贴就行了。
那么,我的烦恼是什么?
我想,每一个热爱进步的程序员都会有过这样的体会:
自己好像什么都懂了,但又似乎什么都不懂。
就像发痒时怎么都挠不到确切部位,让人抓狂且无奈。你自己也知道,即使把这行配置背下来了,又能怎样呢?为什么它就起作用了?
你发出的这些疑问就像掉进了一个无限递归,迟迟没有一个答案。
当前不懂的知识点,是由另一个你不了解的知识点实现的...无限递归,最终你觉得自己什么都不懂
这个递归的结束条件是什么呢?并不是说非要往下深挖,直到汇编语言或者晶体管,而是挖到某一处时你能和当前已学知识联系起来即可。
就好比我现在要推导一个新的数学公式,当我得证的条件最终只差证明另一个公式,而这个公式已经是公认定理时,这个新的公式就算推导成功了。
很长一段时间,我深陷SSM的配置地狱: 为什么要配这个? 为什么要配那个? 为什么我没写xx却能xxx? 这个注解什么意思,怎么起作用的?
有些人可能觉得:管这么多干嘛,用就好了啊。
这种人,一般做不到举一反三,只能有一学一。即使能熟练使用,等他遇到SpringBoot时,又会把它当做新的框架来学。而在我看来:
SpringBoot = Spring注解 + 自动配置
SpringBoot就是一个花架子,如果你已经熟练掌握Spring,SpringBoot上手是非常容易的。 递归的结束条件
重新回到问题上来。
关于SSM配置以及原理,以上种种疑问递归的结束条件是什么?
其实归根到底,我们之所以学不明白SSM,觉得隔靴搔痒,个人认为是因为 "配置式开发"和我们之前"编码式开发"差别太大了。 不论是xml还是注解,和我们平时写的业务代码相去甚远。作为一个开发人员,当你看到一个切实的功能被实现了,而自己却完全看不到for循环和if判断的身影,心里是不踏实的。对于一个"手艺人", 唯一能让我们感到踏实的,是if else for这样的编码,而不是@Aspect、@Controller这样的配置!
我很幸运,去年来到杭州后,接手了一个金融借贷项目。那个项目虽然仅仅用SSM,但是代码质量还是很高的,各种封装和抽象,与之相比我之前写的项目代码都显得十分"扁平"。
环境真的很重要,如果我还待在原先的公司做SSM增删改查,还真的觉得自己挺厉害...典型的井底之蛙。
正是杭州这段经历,驱使着我硬着头皮回炉再造,重新去看JavaSE和JavaWeb。我最大的感触就是,其实当前很多觉得难的知识,都已经在基础讲过了。如果真的掌握了,SSM是非常容易理解的。
比如: 注解(有多少人完全不知道它怎么工作的?) 反射(很多人会用,但是理解不是很深刻) 动态代理(大部分人干脆是懵逼的) JDBC(估计已经忘光了) Servlet/Listener/Filter更不用说,稀里糊涂
就这样,还有很多人和我说,自己基础已经很好了,问我有没有好的SpringBoot视频推荐...我每次都会耐心地劝导说:把基础先打扎实。
以我自己的体会,要想后面对Spring/SpringBoot有较深的理解和掌握,必须把专栏下面几篇吃透: 对象与this 浅谈反射机制 注解(上) 注解(下) 浅谈JDK动态代理(上) Java 动态代理作用是什么? 浅谈JDK动态代理(下) 泛型概述(上):泛化与特定 JDBC(上) JDBC(中) 自定义DataSource JDBC(下) 浅谈ThreadLocal Listener(倾听者) ContextLoaderListener解析 Spring AOP的实现原理 ? Filter实现全站编码 servlet的本质是什么,它是如何工作的? Servlet(下)
这两个月,是专栏更新的巅峰期,基本上每个月写5、6篇,我不知道有没有全部看完的朋友。如果一篇不差全部看完、消化,并且自己动手试过,那么恭喜你,这两个月的进步等于我过去一年了...
其他专栏,我不知道是出于什么目的,可能是公众号引流,而我写博客目的很纯粹,就是觉得自己当时被欺负了,现在懂了于是拿出来,让后面的人别再被欺负了。
有时就是如此,前人挣扎彷徨所付出的努力得到的成果,后人只需垫垫脚就能收入囊中。
最后,要说一下我自己对初级程序员的定义: 理解面向对象 了解抽象类和接口的使用场景 熟练掌握反射、注解、动态代理 会设计泛型类 熟练掌握IO、集合、常用API(String等) 熟练Servlet、Listener、Filter、Cookie、Session、AJAX、JSON 理解部分常用设计模式 熟练使用SSM,大致了解Spring运行原理,能基于Spring提供的扩展接口DIY一些功能
这些都无法掌握,整天满口高并发、轮询、微服务...如果让我来面试,我不会问这些高大上的问题,只会和你聊基础,看你有没有自己的见解。
架构师遍地跑的浮躁时代,还是希望大家静下心来,好好重视基础吧。
如需要更多java学习资料可私信"学习"给小编即可获取哦
苹果服务的三个重要数字以及一个消失的拼图关键点苹果的服务业务继续呈现强劲增长势头。AppStore表现出特别的实力,Apple分享了大量数据。但苹果的第一方订阅服务仍然阴云密布。苹果公司发布了其不断扩大的服务业务的年度总
富春股份(300299)数字经济信息技术通信手游,占据5G1。通信服务手游双主业,5G基础建设应用两端长期受益公司起步于为中国移动中国联通中国电信等通信运营商提供通信网络建设技术服务,主营业务是为通信运营商政府大企业提供网络建设方案规划设
小米12半月使用体验我去年从京东买的首发小米11,京东赠送了超值换购服务,可以8折回收小米11。一年时间使用下来,整体感觉还是挺好的。但是后来出现一个火爆网络的问题,小米给出了延保的方案,但是我越来越
如何理解柳传志和雷军对华为的态度,是否应该为华为鼓掌华为联想和小米三大国际500强企业想必大家不会陌生,但三大企业的发展模式是截然不同的。其中,华为以其科技研发和产品生产为重点,体现了科技研发和产品生产的发展类型。而联想和小米则是以
常用10个最佳开源运维监控软件介绍前言运维监控对于企业来说是必不可少的,以确保必要的系统启动并运行。如果没有使用正确的工具进行正确的监控,反而会增加运维人员的工作。不管你是小型还是企业级的配置,都不能忽视运维监控工
春节在家就能拍出美美的新年照?三大秘诀一个神器搞定随着时间的逐渐推进,春节的时间越来越近,很多小伙伴都会拜亲访友或者是趁着过年时间来一次短途的旅行。这个时候都希望用手机记录下来一些有趣温馨的瞬间,想要在春节期间拍出一套优秀的照片,
华为编写2030未来智能世界八大维度完整版构建万物互联的智能世界,这是一份由华为出品的智能世界2030报告资料,一共124页纸内容。极具代表前瞻性,推荐学习和阅读目录大纲展望一,医让健康可计算,让生命有质量展望二,食用数据
跳水的旗舰,难上的高端记录降价神机小米Mix42021年8月,小米发布了黑科技旗舰手机小米Mix4,屏下摄像头手机,为了支持爱国产品,屏幕采用国产屏。小米Mix4官宣图信心满满的小米Mix4起售价可是4999元起!!!而且,小
3分钟带你彻底搞懂Kafka一认识kafkaKafka到底是个啥?用来干嘛的?官方定义如下Kafkaisusedforbuildingrealtimedatapipelinesandstreamingapps
谷歌被华盛顿特区起诉侵犯用户隐私,另有三个州准备起诉鞭牛士1月24日消息,据新浪科技消息,华盛顿特区总检察长卡尔拉辛(KarlRacine)今日起诉谷歌,称其欺骗性位置跟踪行为侵犯了用户隐私。拉辛的办公室在一份声明中还称,作为两党追
华为认证二手机再次上新售价2799元起据华为商城官方微博分享,目前华为官方商城华为认证二手机再次上新,迎来华为nova7Pro华为P40华为P40Pro三款产品,售价分别为2799元3999元4988元。据官方消息,华