暂时未有相关云产品技术能力~
java后端小白
1.11 int和Integer有什么区别,二者在做==运算时会得到什么结果? 参考答案 int是基本数据类型,Integer是int的包装类。二者在做==运算时,Integer会自动拆箱为int类型,然后再进行比较。届时,如果两个int值相等则返回true,否则就返回false。 1.12 说一说你对面向对象的理解 参考答案 面向对象是一种更优秀的程序设计方法,它的基本思想是使用类、对象、继承、封装、消息等基本概念进行程序设计。它从现实世界中客观存在的事物出发来构造软件系统,并在系统构造中尽可能运用人类的自然思维方式,强调直接以现实世界中的事物为中心来思考,认识问题,并根据这些事物的本质特点
1.1 为什么Java代码可以实现一次编写、到处运行? 参考答案 JVM(Java虚拟机)是Java跨平台的关键。 在程序运行前,Java源代码(.java)需要经过编译器编译成字节码(.class)。在程序运行时,JVM负责将字节码翻译成特定平台下的机器码并运行,也就是说,只要在不同的平台上安装对应的JVM,就可以运行字节码文件。 同一份Java源代码在不同的平台上运行,它不需要做任何的改变,并且只需要编译一次。而编译好的字节码,是通过JVM这个中间的“桥梁”实现跨平台的,JVM是与平台相关的软件,它能将统一的字节码翻译成该平台的机器码。 注意事项 1. 编译的结果是生成字节码、不是机器码,
1、什么时候用断言(assert)? 答: 断言在软件开发中是一种常用的调试方式,很多开发语言中都支持这种机制。一 般来说,断言用于保证程序最基本、关键的正确性。断言检查通常在开发和测试 时开启。为了保证程序的执行效率,在软件发布后断言检查通常是关闭的。断言 是一个包含布尔表达式的语句,在执行这个语句时假定该表达式为 true;如果表 达式的值为 false,那么系统会报告一个 AssertionError。 断言的使用如下面的代码所示: assert(a > 0); // throws an AssertionError if a <= 0 断言可以有两种形式: assert
1、Java 中会存在内存泄漏吗,请简单描述。 答: 理论上 Java 因为有垃圾回收机制(GC)不会存在内存泄露问题(这也是 Java 被 广泛使用于服务器端编程的一个重要原因);然而在实际开发中,可能会存在无 用但可达的对象,这些对象不能被 GC 回收,因此也会导致内存泄露的发生。例如 Hibernate 的 Session(一级缓存)中的对象属于持久态,垃圾回收器是不会回收 这些对象的,然而这些对象中可能存在无用的垃圾对象,如果不及时关闭(close) 或清空(flush)一级缓存就可能导致内存泄露。 下面例子中的代码也会导致内存泄露。 import java.util.A
1、用最有效率的方法计算 2 乘以 8? 答: 2 << 3(左移 3 位相当于乘以 2 的 3 次方,右移 3 位相当于除以 2 的 3 次方)。 补充:我们为编写的类重写 hashCode 方法时,可能会看到如下所示的代码,其 实我们不太理解为什么要使用这样的乘法运算来产生哈希码(散列码),而且为 什么这个数是个素数,为什么通常选择 31 这个数?前两个问题的答案你可以自己 百度一下,选择 31 是因为可以用移位和减法运算来代替乘法,从而得到更好的性 能。说到这里你可能已经想到了:31 * num 等价于(num << 5) - num,左移 5 位相当于乘以 2 的 5 次