将java学好之后,我们就要踏上java的求职之旅,在面试的过程中,只有通过面试官的考核才能胜任java岗位,那java程序员面试项目一般问什么?下面来我们就来给大家讲解一下。
1.final 在 Java 中有什么作用?
答:final 修饰的类叫最终类,该类不能被继承。
final 修饰的方法不能被重写。
final 修饰的变量叫常量,常量必须初始化,初始化之后值就不能被修改。
2.构造器(constructor)是否可被重写(override)?
答:构造器不能被继承,因此不能被重写,但可以被重载。
3.两个对象值相同(x.equals(y) == true),但却可有不同的hash code,这句话对不对?
答:不对,如果两个对象x和y满足x.equals(y) == true,它们的哈希码(hash code)应当相同。Java对于eqauls方法和hashCode方法是这样规定的:
(1) 如果两个对象相同(equals方法返回true),那么它们的hashCode值一定要相同;
(2)如果两个对象的hashCode相同,它们并不一定相同。当然,你未必要按照要求去做,但是如果你违背了上述原则就会发现在使用容器时,相同的对象可以出现在Set集合中,同时增加新元素的效率会大大下降(对于使用哈希存储的系统,如果哈希码频繁的冲突将会造成存取性能急剧下降)。
4.多线程编程的优势在哪?
答:在开发多线程的程序中,提高程序效率的方式就是多线程执行并发,CPU不会因为某个线程需要等待资源而进入空闲状态。多个线程共享堆内存(heap memory),因此创建多个线程去执行一些任务会比创建多个进程更好。举个例子,Servlets比CGI更好,是因为Servlets支持多线程而CGI不支持。
5.为什么Thread类的sleep()和yield()方法是静态的?
答:Thread类的sleep()和yield()方法将在当前正在执行的线程上运行。处于等待状态的线程被调用这种行为是毫无意义的。避免程序员错误的认为可以在其他非运行线程调用这些方法的最好方式就是在当前正在执行的线程中工作。
6.Java 中怎么获取一份线程dump 文件?
答:在 Linux 下,你可以通过命令 kill -3 PID (Java 进程的进程 ID)来获取 Java 应用的 dump 文件。在 Windows 下,你可以按下 Ctrl + Break 来获取。这样 JVM 就会将线程的 dump 文件打印到标准输出或错误文件中,它可能打印在控制台或者日志文件中,具体位置依赖应用的配置。如果你使用Tomcat。
其实java面试都是问一些java基础知识,并且了解你做项目的经验,如果你的项目经验足,那肯定会被录取,毕竟java是技术活,最重要的就是实践,所以我们在学java期间,也可以多做一些项目提升自己的能力!最后大家如果想要了解更多Java面试题知识,敬请关注奇Q工具网。
推荐阅读: