![](https://iknow-base.cdn.bcebos.com/lxb/notice.png)
正在学习Java SE,为什么感觉学习Java就是在学习一些API。
闲来无事,随便说说。
你的这个问题其实很有哲学性。Java语言源自C语言,C语言是一门非常重要的语言,它的重要性在于下面几点:
C语言中的语法规则是其它包括Java在内的理论与实践基础。
C标准库的使用方式影响了一代人。
C语言源自汇编语言,汇编语言也是很重要的。使用汇编语言的过程也是了解机器结构,内部运行机理的过程。很多人抱怨说不明白某些C语言的函数为什么要设计的如此复杂,实际上是因为这些人对计算机构造一知半解。有些IT人声称十分了解计算机结构,但是连什么是函数调用栈都不知道;也有一些人声称自己在计算机编程上天下无敌,但是对于CPU内部构造却一无所知。
知识断层是根本原因。
现在很多人都是在没有任何计算机理论基础的情况下(或者学了但是主要是应付考试),直接学习Java语言,在我看来就像是小学还没毕业直接上大学一样。楼主的学习方向是对的,你只不过是在补初中和高中的课程而已,你没从头学,因此你会比那些从头学过来的人有更多的烦恼。在将来某一天(如果你持续学习的话),你会将这些空白的知识区填满,只不过,这将会花费你数年的时间。
现实情况是,你不需要去弄明白这些API的存在意义也能找到工作,只不过,工作起来不是很开心,做事情不是很有信心,也无法做到安心地指导他人。
你所学习的这些API在思路以及实现方式上与其它编程语言是类似或者一致的,它们的存在形态多半受低级语言的影响。Java的存在解决了低级语言的很多问题,但具体是如何解决这些问题的你需要花时间研究更古老的历史。在研究过程中,最终你会发现自己需要从计算机理论从头开始学习。
显然当今社会的快节奏不允许你花那么多时间研究这些不能直接来钱的知识。但是这也因人而异吧,对不对?