Java面试题:java中的break和continue关键字使用总结

1、两者的作用和区别 break:是跳出当前的循环块或者程序块。循环块有for、do while、while,程序块有switch(){case 1: xxx;break;}在循环体中的作用是跳出正在循环的循环块,在程序块中的作用是中断与下一个case的比较。 continues:可以强迫程序跳到循环的起始处,当程序运 ...阅读更多

Posted on

Java面试题:用Java写一个折半查找。

折半查找,也称二分查找、二分搜索,是一种在有序数组中查找某一特定元素的搜索算法。搜素过程从数组的中间元素开始,如果中间元素正好是要查找的元素,则搜素过程结束;如果某一特定元素大于或者小于中间元素,则在数组大于或小于中间元素的那一半中查找,而且跟开始一样从中间元素开始比较。如果在某一步骤数组已经为空,则表示找不到指定的元 ...阅读更多

Posted on

Java面试题:用Java写一个冒泡排序。

冒泡排序几乎是个程序员都写得出来,但是面试的时候如何写一个逼格高的冒泡排序却不是每个人都能做到,下面提供一个参考代码: [java] import java.util.Comparator; /** * 排序器接口(策略模式: 将算法封装到具有共同接口的独立的类中使得它们可以相互替换) * * */ public in ...阅读更多

Posted on

Java面试题:UML中有哪些常用的图?

UML定义了多种图形化的符号来描述软件系统部分或全部的静态结构和动态结构,包括:用例图(use case diagram)、类图(class diagram)、时序图(sequence diagram)、协作图(collaboration diagram)、状态图(statechart diagram)、活动图(act ...阅读更多

Posted on

Java面试题:什么是UML?

UML是统一建模语言(Unified Modeling Language)的缩写,它发表于1997年,综合了当时已经存在的面向对象的建模语言、方法和过程,是一个支持模型化和软件系统开发的图形化语言,为软件开发的所有阶段提供模型化和可视化支持。使用UML可以帮助沟通与交流,辅助应用设计和文档的生成,还能够阐释系统的结构和 ...阅读更多

Posted on

Java面试题:用Java写一个单例类。

- 饿汉式单例 [java] public class Singleton { private Singleton(){} private static Singleton instance = new Singleton(); public static Singleton getInstance(){ return ...阅读更多

Posted on

Java面试题:简述一下你了解的设计模式。

所谓设计模式,就是一套被反复使用的代码设计经验的总结(情境中一个问题经过证实的一个解决方案)。使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性。设计模式使人们可以更加简单方便的复用成功的设计和体系结构。将已证实的技术表述成设计模式也会使新系统开发者更加容易理解其设计思路。 在GoF的《Design ...阅读更多

Posted on

Java面试题:简述一下面向对象的”六原则一法则”。

- 单一职责原则:一个类只做它该做的事情。(单一职责原则想表达的就是"高内聚",写代码最终极的原则只有六个字"高内聚、低耦合",就如同葵花宝典或辟邪剑谱的中心思想就八个字"欲练此功必先自宫",所谓的高内聚就是一个代码模块只完成一项功能,在面向对象中,如果只让一个类完成它该做的事,而不涉及与它无关的领域就是践行了高内聚的 ...阅读更多

Posted on

Java面试题:如何通过反射调用对象的方法?

[java] import java.lang.reflect.Method; class MethodInvokeTest { public static void main(String[] args) throws Exception { String str = "hello"; Metho ...阅读更多

Posted on

Java面试题:如何通过反射获取和设置对象私有字段的值?

可以通过类对象的getDeclaredField()方法字段(Field)对象,然后再通过字段对象的setAccessible(true)将其设置为可以访问,接下来就可以通过get/set方法来获取/设置字段的值了。下面的代码实现了一个反射的工具类,其中的两个静态方法分别用于获取和设置私有字段的值,字段可以是基本类型也 ...阅读更多

Posted on

Java面试题:如何通过反射创建对象?

- 方法1:通过类对象调用newInstance()方法,例如:String.class.newInstance() - 方法2:通过类对象的getConstructor()或getDeclaredConstructor()方法获得构造器(Constructor)对象并调用其newInstance()方法创建对象,例如 ...阅读更多

Posted on

Java面试题:获得一个类的类对象有哪些方式?

- 方法1:类型.class,例如:String.class - 方法2:对象.getClass(),例如:"hello".getClass() - 方法3:Class.forName(),例如:Class.forName("java.lang.String")

Posted on