那些年追过的Java技术,现在真的还值得继续追捧吗?

摘要:大家好,我是晓凡。 一、写在前面 前两天,有粉丝朋友小赵,兴冲冲地问我:“凡哥,我想学JSP,网上教程可便宜了,9块9包邮!” 我当场差点把刚喝下去的冰美式喷到他脸上。 “兄弟,JSP现在连坟头草都三米高了,你学它干嘛?给历史博物馆交简历吗
大家好,我是晓凡。 一、写在前面 前两天,有粉丝朋友小赵,兴冲冲地问我:“凡哥,我想学JSP,网上教程可便宜了,9块9包邮!” 我当场差点把刚喝下去的冰美式喷到他脸上。 “兄弟,JSP现在连坟头草都三米高了,你学它干嘛?给历史博物馆交简历吗?” 小赵一脸懵:“可我看招聘网站上,还有公司写‘熟悉JSP优先’啊!” 我叹了口气:“那八成是HR把十年前的JD复制粘贴了,就跟把‘熟练使用传呼机’写进岗位要求一样。” 所以今天,咱们来聊聊那些当年火得一塌糊涂,如今连骨灰盒都找不到的Java技术。 友情提示:本文可能会引起部分老程序员的“爷青回”症状,请自备纸巾。 二、 第一位选手:JSP 想当年,JSP(Java Server Pages)可是Web开发界的顶流。 写个页面,<% %>里嵌Java代码,跟现在小学生写作文“有一天,我捡到了一分钱”一样顺手。 为啥当年火? 不用学一堆前端框架,一个out.println("<h1>Hello World</h1>")就能跑。 配合Struts1,简直是“双击666”的黄金搭档。 为啥现在凉了? 代码和HTML搅成一锅粥,后期维护堪比“屎山考古”。 现在随便一个Vue/React,能把JSP按在地上摩擦出。 真实案例: 我2015年接了个老项目,用JSP+Struts1做了个OA系统。 客户找我改需求,我打开eclipse,看到几千行的<% if (user.isAdmin()) { %>,差点当场跑路。 三、 第二位选手:Struts1/2 Struts1有多经典?经典到当年面试必问:“说说Struts1的工作流程。” 现在再问,面试官可能会以为你在背历史书。 Struts1的辉煌: 第一个真正意义上的MVC框架,让Servlet从“野路子”变成“正规军”。 配合JSP,简直是“黄金搭档”,就像赵本山和宋丹丹。 Struts2的尴尬: 刚出来时被当成“救世主”,结果因为漏洞太多,被黑客当成“提款机”。 配置XML复杂到能写小说,一个struts-config.xml比小说还长。 现在什么情况? Spring MVC和Spring Boot出来后,Struts直接被打入冷宫。 去年我在GitHub上搜Struts2,最新的commit还是2018年,下面有条评论:“Still alive?(还活着?)” 官方回复:“Yes, but barely.(活是活着,但只剩一口气了。)” 一句话总结: Struts就像诺基亚N95,当年砸核桃神器,现在只能当备用机,还得插张2G卡。 四、 第三位选手:Hibernate的HQL Hibernate当年有多牛?牛到不用写SQL,直接session.save(user)就能存数据库。 但HQL(Hibernate Query Language)这个玩意儿,现在看就像用文言文写SQL。 HQL的迷惑行为: 写个查询:from User u where u.name = '老王',看起来挺优雅。 一旦关联三四个表,HQL能长到让你怀疑人生,比如: from User u left join fetch u.orders o left join fetch o.items i where u.id = 1 为啥被淘汰? JPA和Spring Data JPA出来后,直接findByName("老王"),连SQL都不用写。 MyBatis更狠,SQL写回XML里,至少还能Ctrl+C/Ctrl+V,HQL改起来像在解奥数题。 真实吐槽: 我同事小李,当年用HQL写了2000行的查询,后来数据库从MySQL迁到Oracle,HQL直接罢工。 小李一边改代码一边骂:“HQL这玩意儿,跟女朋友一样,说翻脸就翻脸,说生气就生气。” 一句话总结: HQL就像文言文,当年觉得高大上,现在只想说:“还是原生SQL好写!” 五、 第四位选手:Applet 00后可能没见过Applet,这玩意儿当年能在网页里直接跑Java代码。 比如打开一个网页,突然弹出一个“计算鸡兔同笼”的小程序,八成就是Applet干的。 Applet的巅峰: 2000年初,网上全是“用Java Applet实现贪吃蛇”的教程。 配合Swing,能做出“五彩斑斓的黑”的界面。 死因: 浏览器不支持了(Chrome从2015年就彻底拉黑)。 安全问题太多,跑个Applet等于给电脑开扇门,黑客想来就来。 现在去哪了? Applet的坟头在Oracle官网的“Deprecated”页面里,和Flash Player作伴。
阅读全文