黑马程序员技术交流社区

标题: Java 新手入门需要关注的一些问题 [打印本页]

作者: Jason830    时间: 2016-11-27 12:02
标题: Java 新手入门需要关注的一些问题
算法和数据结构

    什么时候该用数组类型容器,什么时候该用链表型容器,如何合理的使用数据类型

    什么是散列函数,HashMap的实现原理是什么

    什么是递归,使用递归实现目录树遍历

    什么是算法复杂度

    是否理解空间换时间的思想

    写一个针对整数数组的冒泡排序,

    写一个针对整数数组的二分查找函数

面向对象

    基于接口的继承和基于实现的继承各有什么优缺点

    继承(extend implement) 有什么缺点

    多态有什么缺点

    为什么 Java 可以多继承interface,不可以多继承 class

    假如让你写一个小游戏,如五子棋人机对战,如何设计类结构

    类结构设计时,如何考虑可扩展性

编程习惯(应当避免)

    随意的命名

    习惯于代码的 copy & paste

    Magic Number 满天飞

    代码耦合度太大

    被 GC 宠坏(资源不懂回收)

异常处理使用不当

    空 catch 语句块

    没有使用 finally

    笼统的 catch 语句块

    使用函数返回值做错误处理

    不清楚 Checked Exception 和 Runtime Exception的区别

    Checked Exception 表示可恢复的异常,也就是必须检查的异常 Runtime Exception 表示不可恢复的异常

Java 虚拟机 JVM

    基本类型和引用类型

        基本类型和引用类型在内存存储上有什么区别

        这两种类型在性能上有什么区别

        这两种类型对于 GC 有什么区别

    垃圾回收机制

        GC 是如何判断哪些对象已经失效

        GC 对性能有哪些影响

        如何通过 JVM 参数调优 GC 性能

    关于字符串

        String 和 StringBuilder的区别,为啥要设计两种类型

    关于泛型

        GP 是在编译时还是在运行时实现的,为什么要这么实现

        GP 的类型擦除机制是咋回事,有啥优缺点

        使用泛型容器在性能上有啥影响,为什么

    关于多线程

        synchronized 关键字起什么作用

        synchronized 的作用域如何,是针对某个类还是针对某个对象实例

        synchronized 对性能的影响,为什么

        volatile 关键字什么用途,什么时候需要这个关键字

作者: 破茧    时间: 2016-11-27 12:09
加油!!越努力越幸运
作者: 心方向    时间: 2016-11-27 12:10
学习了,
作者: 1234567$    时间: 2016-11-27 12:15
长知识长知识长知识




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2