为什么jupyter没有输出_很多专业都学Java,培训机构也输出了大量Java程序员,为什么社会上的Java程序员还没有饱和?...

因为他们只教了JAVA。
我常常在我司我部门例行架构师会议上问一个问题:TMD最近又出了什么新技术?
JAVA的世界和别的语言最大的区别就是生态太复杂。在一个JAVA完整生态当中,JAVA语言相关的内容非常少,大约只有三分之一。而大学和培训班教JAVA,80%都围绕JDK开展。这导致大部分没有工作经验的JAVA程序员进了行当以后,常常觉得自己啥都没学过一样。
JAVA语言本身,也就是你在IDE里面写下的代码,大约只占JAVA世界的50%,这还包括了培训班和学校肯定不会教的高级编程技巧,比如更好的代码结构,比如更优的性能,比如更好的扩展性和如何避免过度设计。在学校和培训班,只教一种,把功能做出来。把功能做出来,只占真正的JAVA开发的30%左右。
在代码之上,还有类库的熟悉和选择。还有集成层的选择。这些还都只是在JVM内的东西,加上JVM本身的设置,调优,勉强可以算“JAVA的东西”。当然,还有就是脱胎于JAVA但是目前事实上已经被公认成为独立分支的安卓编程。
在这之上,容器的东西,还可以勉强算上“和JAVA强耦合的东西”,比较大部分JAVA容器比如jboss,WL,WS都是需要相当程度的JAVA相关知识的。
再以外,还存在很多很多内容,可以说,是完全JAVA无关,但是在一个JAVA项目当中是必不可少的部分。比如最重的像是数据库,数据库本身就是一个非常大的知识点,增删改查只是其中最简单容易的部分。还有ESB,或者它的弱化版本integration hub。在云已经成为常识的情况下,容器化技术,serverless技术,以及B/S系统绕不开的用户验证CAS/LDAP技术,都是JAVA项目必须但是和JAVA语言无关的。
综合了以上的内容,你只不过得到了一个“跑得起来”的系统。离真正的生产环境还远。
高可用性,即所谓的HA,也是必不可少的重大知识点,有多复杂?比如我们常常拿来调侃的山歌就能看出其中内容之多:热备,冷备,冷热备,SAN,RAID,磁带机。
安全性,即防御体系也是很重要的。商用服务器还可以通过网络的物理隔离来保护。开放互联网的JAVA项目,必须依靠一系列的安全自动化程序来防御。
在生产环境上,还需要APM的辅助,即application performance monitoring,这些软件从不要钱的,一个月千把美金的,到3年8万美金的都有,其中的部署,监控临界值的设置,错误的应对都是很深的学问。
在这个之外,还有更多的软件工程需要解决的问题,比如协同开发,代码管理,版本发布,自动化测试,渗透测试等等一系列的内容。
这些,基本上大学和培训班都不会教。一是找不到这些领域的专家来教,二是教了你也无法学会。拿武林来打个比方。学校和培训班大约也就是教你一套太祖长拳,其他的各种功夫,你都得在之后的实战里,要么被打得片体鳞伤而学会,要么运气爆表掉下悬崖在Jeff的尸体旁边捡到秘籍。

如果你想学习JAVA、前端开发或者大数据,可以B站看JAVA300集、前端、大数据等全套最新视频。

作者:萝魏紫

链接:https://www.zhihu.com/question/312966818/answer/609048244

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值