在学习Java的过程中,得到了许多的知识,但同时也发现了一些问题。所以在此回顾自己的学习问题,明确之后的学习目标,制定之后的学习计划,补足不明白的知识点。
问题大体可以分为两个方向:基础理论知识和实际操作实践。
基础理论知识的缺乏目前已知在进程、线程明显不足,在内存运行逻辑方面以及程序底层逻辑方面显出吃力,其他的理论知识的不牢固大多表现在一些常用的工具类只是一直在使用,而没有记住它本身的特点,例如接口与抽象类的使用场景有何不同,以及常用的数据结构的基本特点,,例如数组,链表,堆栈,Tree,Map,以及HashMap、HashSet这些数据结构的使用场景边界模糊,以及它们的各自底层特点。在进程、线程方面需要多加复习,线程池技术,线程池的执行流程,线程池的创建等。存储运行的逻辑主要是对于各个数据结构而言,它们对于数据作何处理,有一些较为易懂的比如HashMap以键值对存储,数据的数据有序存放,但也有较为难懂的知识点,比如同样使用Hash算法,HashMap和HashTable分别继承于哪个类?经常使用的ArrayList既然继承于List那么是可以被替代的吗?显然不是,但是要问缘由就有些力不从心了。
关于实际操作实践,我的重灾区是数据库的ddl和dml语句,其次是不熟悉的类和不熟悉的方法。学习过程中数据库的使用相对于其它方面而言确实少了一些,目前的应用场景不多,在学习sql语句时我的方式是写语句多试错,运行出结果之后也没有多加注意刚刚卡住的语句点,其实包括在对类和对象的使用时也有类似的问题,idea的代码提示后没有仔细观察代码。综上所述,练习量不够,练习精度不够,应该在保障学习进度的同时注意基础的代码的关键字,语法结构,语义分析,这些方面都是Java学习中不可或缺的一环。