刚在论坛上看到http://www.iteye.com/topic/681784的几道面试,测试了一下,收获不小,特此mark
public class test1 {
public static boolean get(){
try{
//System.out.println("Get false");
return false;
}
// catch(Exception e){
// e.printStackTrace();
// System.out.println("Ex true");
// return true;
// }
finally{
return true;
}
}
public static void main(String... strings){
System.out.println(get());
}
}
结果:true
说明在finally中,无论是否return都会执行,当用System.exit()是才会退出。and return只是终止一个模块的运行
2. public static void main(String[] args) {
String classPath1 = "java.lang.string";
System.out.println(classPath1.replaceAll(".", "A"));
//System.out.println(classPath1.replaceAll("\\.", "A"));
}
结果:全部替换,以为“.”在JDK中解释为
预定义字符类
.
|
任何字符(与行结束符
可能匹配也可能不匹配) |
\d
|
数字:[0-9]
|
\D
|
非数字: [^0-9]
|
\s
|
空白字符:[ \t\n\x0B\f\r]
|
\S
|
非空白字符:[^\s]
|
\w
|
单词字符:[a-zA-Z_0-9]
|
\W
|
非单词字符:[^\w]
|
3.public static void main(String ...strings){
StringBuilder sb=new StringBuilder();
switch(1){
case 1:sb.append("Hello a");
case 2:sb.append("b");
case 3:sb.append("c");
default:sb.append("d");
}
System.out.println(sb.toString());
}
这个问题不难,但是为什么要用StringBuilder呢?我平常都用StringBuffer,还是jdk中间分晓。
一个可变的字符序列。此类提供一个与 StringBuffer
兼容的 API,但不保证同步。该类被设计用作
StringBuffer
的一个简易替换,用在字符串缓冲区被单个线程使用的时候(这种情况很普遍)。如果可能,建议优先采用该类,因为在大多数实现中,它比
StringBuffer
要快。
将 StringBuilder
的实例用于多个线程是不安全的。如果需要这样的同步,则建议使用StringBuffer线程安全的可变字符
序列
4.
public static void main(String[] args) {
int j = 0;
// System.out.println(j++);
for (int i = 0; i < 100; i++)
j = j++;
System.out.println(j);
}
结果:0,这个没什么可讲的,就是不要被自己的知识迷惑
6. public static void main(String[] args) {
try {
System.out.println("Hello world");
System.exit(1);
} finally {
System.out.println("Goodbye world");
}
}
结果:Hello world,可以与1进行比较
6 public static void main(String[] args) {
Calendar cal = Calendar.getInstance();
cal.set(1999, 12, 31); // Year, Month, Day
System.out.print(cal.get(Calendar.YEAR) + " ");
Date d = cal.getTime();
System.out.println(d.getDay());
}
结果:2000 1 总体感觉没意思
分享到:
相关推荐
本文总结了《高级Java经典面试题2019》中关于并发编程、JVM和Spring框架等方面的重要知识点。通过深入理解这些概念和技术,可以帮助开发者更好地掌握Java核心技术,提高面试竞争力。希望本文能为读者提供有益的帮助...
标题 "golang 50k 高阶面试题" 指出了文章内容将围绕Go语言高级面试题的范围,尤其是针对有一定难度和深度的问题。描述 "go大厂都面试什么" 表明文章的内容会贴近那些一线科技公司(通常被称作大厂)在招聘Go语言...
【JVM面试题详解】 Java虚拟机(JVM)是Java平台的核心组成部分,它负责运行Java应用程序并提供跨平台的兼容性。对于Java开发者来说,深入理解JVM的工作原理是面试中不可或缺的一部分。以下是一些关于JVM的常见面试...
根据提供的文件内容,我们可以整理出一系列与SQL相关的面试题及解答思路。这些题目涵盖了SQL的基础查询、数据处理、以及更高级的功能应用等多方面内容,非常适合准备数据库工程师面试的求职者进行练习。下面是针对每...
了解并熟练掌握这些JVM调优和Linux操作的知识点,不仅可以帮助你在面试中脱颖而出,也能在实际工作中有效提升问题解决效率,确保系统稳定运行。在面对复杂的系统问题时,能够迅速定位并解决,对于提升IT职业素养至关...
C#面试题答案 在本资源中,我们将涵盖 C# 的各种面试题,涵盖了 ADO.NET、面向对象编程、字符串处理、ADO.NET 数据访问、Windows 窗体应用程序、ASP.NET 等多个方面的知识点。 1. ADO.NET 中的 Command 对象 在 ...
"C#面试题知识点总结" 本文档总结了C#面试题的知识点,涵盖了C#的各个方面,包括ADO.NET、面向对象编程、字符串、ADO.NET数据访问、Visual Studio .NET项目设置、Windows表单应用程序、XML Web服务、ASP.NET窗体...
有关于面试的java—SSH框架面试题目。
"最新JAVA面试题总结之数据库" 这份面试题总结涵盖了数据库相关的多个方面,从基本概念到高级应用,以下是从中提炼出的知识点: 1. MySQL 中 delete 和 truncate 的区别: delete 语句执行删除的过程是每次从表中...
这些面试题涵盖了 Java 开发的基础知识,包括 JDK 与 JRE 的区别、对象比较、Hibernate 框架的理解、垃圾回收机制以及 JVM 参数调优,这些都是 Java 开发者需要掌握的重要知识点。了解并熟练运用这些知识,将有助于...
- **CMS(Concurrent Mark Sweep)收集器**:并发标记-清除,适用于响应时间要求高的应用。 - **G1(Garbage-First)收集器**:并行、并发,目标是预测和控制停顿时间,采用混合收集策略。 8. **Minor GC与Full ...
- 在 C# 项目中,可以通过编辑 `AssemblyInfo.cs` 文件来设置程序集的版权 (`Copyright`)、商标 (`Trademark`) 等属性信息。 ### 九、显示对话框 - 为了将窗体作为对话框显示,可以调用 `ShowDialog` 方法。 ### ...
HTML5 面试题总结 一、Doctype 的作用 Doctype(文档类型)是 HTML 文档的开头部分,位于 `<html>` 标签之前,告知浏览器的解析器,用什么文档类型规范来解析这个文档。DOCTYPE 不存在或格式不正确会导致文档以...
Java面试题总结主要涵盖Java基础知识,包括修饰符的解析、垃圾回收算法、JVM版本、字符类型、常用包的介绍以及方法的重载与重写等核心概念。下面将对这些知识点进行详细阐述: 1. **Java修饰符**:Java中的访问修饰...
根据给定文件的信息,我们可以将知识...以上知识点涵盖了Java高级面试题的多个方面,包括基本概念、设计模式、框架应用以及分布式系统的设计与实现。对于准备面试的开发者来说,深入理解并掌握这些知识点是非常重要的。
在面试中,Redis的相关问题可能涉及其数据结构的使用场景、内存管理和优化、持久化策略、主从复制的原理、Redis与其他缓存系统的比较以及如何解决并发冲突等。 【JVM相关知识点】 JVM(Java Virtual Machine)是...
### Java后端面试题知识点解析 #### 1. ArrayList初始化及扩容机制 - **知识点**: - `ArrayList`的内部实现与扩容机制。 - **解释**: - `ArrayList`是一个动态数组,初始容量可以通过构造函数指定。当构造一个`...
Java高级面试题及答案总结(2021年Java面试题答案大汇总) 以下是从给定的文件信息中生成的相关知识点: 1. CMS垃圾收集器的阶段: CMS已经弃用,但一般情况下面试时省略3、4步也是没问题的。CMS的阶段包括初始...
`mark` - 用于高亮显示文档中的文本。 #### 15. `keygen` - 用于表单的密钥生成控件,但在 HTML5.1 中已被废弃。 ### 六、CSS3 动画和过渡效果 #### 1. CSS3 动画 - 需要定义关键帧 (`@keyframes`) 来控制动画的...
### 2024年Java面试题:JVM性能调优面试题第二部分 #### 内存模型及分区 在Java虚拟机(JVM)中,内存主要被划分为以下几个区域: 1. **堆区(Heap)**:堆区是用于存储初始化的对象、成员变量等数据的地方。所有对象...