外贸网站推广方式,cad协同设计平台,wordpress游戏插件下载,已有备案网站增加域名目录
79、适配器模式和装饰器模式有什么区别#xff1f;
80、适配器模式和代理模式之前有什么不同#xff1f;
81、什么是模板方法模式#xff1f;
82、什么时候使用访问者模式#xff1f;
83、什么时候使用组合模式#xff1f;
84、继承和组合之间有什么不同#…目录
79、适配器模式和装饰器模式有什么区别
80、适配器模式和代理模式之前有什么不同
81、什么是模板方法模式
82、什么时候使用访问者模式
83、什么时候使用组合模式
84、继承和组合之间有什么不同
85、描述 Java 中的重载和重写
86、Java 中嵌套公共静态类与顶级类有什么不同
87、 OOP 中的 组合、聚合和关联有什么区别
88、给我一个符合开闭原则的设计模式的例子
89、抽象工厂模式和原型模式之间的区别
90、什么时候使用享元模式
91、嵌套静态类与顶级类有什么区别
92、你能写出一个正则表达式来判断一个字符串是否是一个数字吗
93、Java 中受检查异常 和 不受检查异常的区别
94、Java 中throw 和 throws 有什么区别
95、Java 中Serializable 与 Externalizable 的区别
96、Java 中DOM 和 SAX 解析器有什么不同
97、说出 JDK 1.7 中的三个新特性
98、说出 5 个 JDK 1.8 引入的新特性
99、Java 中Maven 和 ANT 有什么区别 79、适配器模式和装饰器模式有什么区别 虽然适配器模式和装饰器模式的结构类似但是每种模式的出现意图不同。适配器模式被用于桥接两个接口而装饰模式的目的是在不修改类的情况下给类增加新的功能。 80、适配器模式和代理模式之前有什么不同 这个问题与前面的类似适配器模式和代理模式的区别在于他们的意图不同。由于适配器模式和代理模式都是封装真正执行动作的类因此结构是一致的但是适配器模式用于接口之间的转换而代理模式则是增加一个额外的中间层以便支持分配、控制或智能访问。 81、什么是模板方法模式 模板方法提供算法的框架你可以自己去配置或定义步骤。例如你可以将排序算法看做是一个模板。它定义了排序的步骤但是具体的比较可以使用Comparable 或者其语言中类似东西具体策略由你去配置。列出算法概要的方法就是众所周知的模板方法。 82、什么时候使用访问者模式 访问者模式用于解决在类的继承层次上增加操作但是不直接与之关联。这种模式采用双派发的形式来增加中间层。 83、什么时候使用组合模式 组合模式使用树结构来展示部分与整体继承关系。它允许客户端采用统一的形式来对待单个对象和对象容器。当你想要展示对象这种部分与整体的继承关系时采用组合模式。 84、继承和组合之间有什么不同 虽然两种都可以实现代码复用但是组合比继承共灵活因为组合允许你在运行时选择不同的实现。用组合实现的代码也比继承测试起来更加简单。 85、描述 Java 中的重载和重写 重载和重写都允许你用相同的名称来实现不同的功能但是重载是编译时活动而重写是运行时活动。你可以在同一个类中重载方法但是只能在子类中重写方法。重写必须要有继承。 86、Java 中嵌套公共静态类与顶级类有什么不同 类的内部可以有多个嵌套公共静态类但是一个 Java 源文件只能有一个顶级公共类并且顶级公共类的名称与源文件名称必须一致。 87、 OOP 中的 组合、聚合和关联有什么区别 如果两个对象彼此有关系就说他们是彼此相关联的。组合和聚合是面向对象中的两种形式的关联。组合是一种比聚合更强力的关联。组合中一个对象是另一个的拥有者而聚合则是指一个对象使用另一个对象。如果对象 A 是由对象 B组合的则 A 不存在的话B 一定不存在但是如果 A 对象聚合了一个对象 B则即使 A 不存在了B 也可以单独存在。 88、给我一个符合开闭原则的设计模式的例子 开闭原则要求你的代码对扩展开放对修改关闭。这个意思就是说如果你想增加一个新的功能你可以很容易的在不改变已测试过的代码的前提下增加新的代码。有好几个设计模式是基于开闭原则的如策略模式如果你需要一个新的策略只需要实现接口增加配置不需要改变核心逻辑。一个正在工作的例子是Collections.sort() 方法这就是基于策略模式遵循开闭原则的你不需为新的对象修改 sort() 方法你需要做的仅仅是实现你自己的 Comparator 接口。 89、抽象工厂模式和原型模式之间的区别
抽象工厂模式通常由工厂方法模式来实现。但一个工厂中往往含有多个工厂方法生成一系列的产品。这个模式强调的是客户代码一次保证只使用一个系列的产品。当要切换为另一个系列的产品换一个工厂类即可。
原型模式工厂方法的最大缺点就是对应一个继承体系的产品类要有一个同样复杂的工厂类的继承体系。我们可以把工厂类中的工厂方法放到产品类自身之中吗如果这样的话就可以将两个继承体系为一个。这也就是原型模式的思想原型模式中的工厂方法为 clone它会返回一个拷贝可以是浅拷贝也可以是深拷贝由设计者决定。为了保证用户代码中到时可以通过指针调用 clone 来动态绑定地生成所需的具体的类。这些原型对象必须事先构造好。原型模式想对工厂方法模式的另一个好处是拷贝的效率一般对构造的效率要高。 90、什么时候使用享元模式 享元模式通过共享对象来避免创建太多的对象。为了使用享元模式你需要确保你的对象是不可变的这样你才能安全的共享。JDK 中 String 池、Integer 池以及 Long 池都是很好的使用了享元模式的例子。 91、嵌套静态类与顶级类有什么区别 一个公共的顶级类的源文件名称与类名相同而嵌套静态类没有这个要求。一个嵌套类位于顶级类内部需要使用顶级类的名称来引用嵌套静态类如HashMap.Entry 是一个嵌套静态类HashMap 是一个顶级类Entry 是一个嵌套静态类。 92、你能写出一个正则表达式来判断一个字符串是否是一个数字吗 一个数字字符串只能包含数字如 0 到 9 以及 、- 开头通过这个信息你可以下一个如下的正则表达式来判断给定的字符串是不是数字。
import java.util.regex.Pattern 和 java.util.regex.Matcher
public boolean isNumeric(String str){Pattern pattern Pattern.compile([0-9]*);Matcher isNum pattern.matcher(str);if( !isNum.matches() ){return false;}return true;
} 93、Java 中受检查异常 和 不受检查异常的区别 受检查异常编译器在编译期间检查。对于这种异常方法强制处理或者通过throws 子句声明。其中一种情况是 Exception 的子类但不是RuntimeException 的子类。非受检查是 RuntimeException 的子类在编译阶段不受编译器的检查。 94、Java 中throw 和 throws 有什么区别 throw 用于抛出 java.lang.Throwable 类的一个实例化对象意思是说你可以通过关键字 throw 抛出一个 Error 或者 一个 Exception如throw new IllegalArgumentException(“size must be multiple of 2″)而 throws 的作用是作为方法声明和签名的一部分方法被抛出相应的异常以便调用者能处理。Java 中任何未处理的受检查异常强制在 throws 子句中声明。 95、Java 中Serializable 与 Externalizable 的区别 Serializable 接口是一个序列化 Java 类的接口以便于它们可以在网络上传输或者可以将它们的状态保存在磁盘上是 JVM 内嵌的默认序列化方式成本高、脆弱而且不安全。Externalizable 允许你控制整个序列化过程指定特定的二进制格式增加安全机制。 96、Java 中DOM 和 SAX 解析器有什么不同 DOM 解析器将整个 XML 文档加载到内存来创建一棵 DOM 模型树这样可以更快的查找节点和修改 XML 结构而 SAX 解析器是一个基于事件的解析器不会将整个 XML 文档加载到内存。由于这个原因DOM 比 SAX 更快也要求更多的内存不适合于解析大 XML 文件。 97、说出 JDK 1.7 中的三个新特性 虽然 JDK 1.7 不像 JDK 5 和 8 一样的大版本但是还是有很多新的特性如 try-with-resource 语句这样你在使用流或者资源的时候就不需要手动关闭Java 会自动关闭。Fork-Join 池某种程度上实现 Java 版的 Map-reduce。允许 Switch 中有 String 变量和文本。菱形操作符()用于类型推断不再需要在变量声明的右边申明泛型因此可以写出可读写更强、更简洁的代码。另一个值得一提的特性是改善异常处理如允许在同一个 catch 块中捕获多个异常。 98、说出 5 个 JDK 1.8 引入的新特性 Java 8 在 Java 历史上是一个开创新的版本下面 JDK 8 中 5 个主要的特性Lambda 表达式允许像对象一样传递匿名函数Stream API充分利用现代多核 CPU可以写出很简洁的代码Date 与 Time API最终有一个稳定、简单的日期和时间库可供你使用扩展方法现在接口中可以有静态、默认方法。重复注解现在你可以将相同的注解在同一类型上使用多次。 99、Java 中Maven 和 ANT 有什么区别 虽然两者都是构建工具都用于创建 Java 应用但是 Maven 做的事情更多在基于“约定优于配置”的概念下提供标准的 Java 项目结构同时能为应用自动管理依赖应用中所依赖的 JAR 文件。 要想了解更多
千题千解·Java面试宝典_时光の尘的博客-CSDN博客