学习无尽头。“够用就好”是最实用的判断准则。剩下的就看自己的追求了。
越往底层发展离业务就越远。但是你看假如有这么一个故事的发展历程:
Java客户端应用开发 -> Java服务器端应用开发 -> Java库/框架开发 -> Java监控、性能调优工具开发 -> JVM开发 -> 编译器/GC/多线程并发库开发 -> 操作系统开发 -> Hypervisor开发 -> 硬件开发…
或者中间过程变一变,在经历库/框架开发之后 -> Java IDE开发 -> 对Java语言绝望了自己研发JVM上的新编程语言(包括新语言的编译器和标准库) -> 对JVM绝望了自己研发新语言配新虚拟机(包括GC、线程模型之类) -> 对虚拟机绝望了自己研发独立(standalone)的编程语言(包括内存模型之类) -> 操作系统开发 -> …
咳咳,这是绝对无止境的。这种路线走到最后恐怕还是得发现最缺的就是钱,所以不如去做金融来多赚点钱去开公司让牛逼员工去研发各种新奇技术好了 (>_<)
说到底要想向底层发展纯做技术的话那就是兴趣有多大就能走多深。这不需要问别人学到多深多广才是好,自己肯定能感觉到。如果不是兴趣驱动而是为了赚钱的话还是别纯做技术的好…
另外再提一句:多数东西都是使用比实现更容易,而且不是在一个级别上的。楼主提到“流行框架”“底层API”都是说“是不是熟练使用就算学好了”,从实用角度说如果只需要用这些东西的话那确实只要会用就够了。但是要彻底理解其机理那肯定是自己深入参与到其中的研发才是硬道理。至于有没有必要这么深入,还是前面说的,看兴趣和需要到没到那一步。
(不得不说确实有用起来“似乎”比实现起来还麻烦的东西,所以大家才会不断重复造那些轮子哈哈哈哈…)