你提到了 Java,我就说两个我学过的、并非常推荐的 Java 资源吧。
这两个资源在 Bilibili 都有视频,但是编程并不是你看过视频就能掌握的,还是需要自己写代码,所以推荐去课程平台上注册这两门课,学习视频、完成测验、完成编程作业,才能对自己有提高。
如果是侧重于编程语言,即 Java 基础,那么我比较推荐网易云课堂上翁凯老师的 Java 基础入门,非常适合零基础的同学学习。老师是浙大计算机系的名师,讲解很细致,涵盖了 Java 的所有基本语法,对零基础的学生友好。
如果侧重于数据结构和算法,比较推荐的是 Coursera 上 Princeton Algorithms 这门课。这门课着重讲解了如何分析问题,如何设计数据结构的 API,以及如何在考虑时间和空间复杂度的情况下写出高质量代码。对 Java 的 API、库函数、封装,都会有更深入的了解。这门课的作业质量非常高,以为自己懂了,交上去的代码往往只有 40 分,如果能耐心优化到 90 分以上,绝对是代码能力会提高一大截,强烈建议动手写一下。
Java 的书,我看过不少,有些书确实比较有名,例如《Java 设计模式》、《Java 核心技术》等,但是没有一本是惊艳到我的,上面这两门课是实实在在惊艳到我了,非常非常推荐,作为学校学习的补充是非常不错的。
如果你真的能把这两门课学完,所有的作业做到 90 分以上,相信我,你足以在学校立于不败之地,(就像我一样……划掉)。