java开发面试问有什么缺点 java面试优缺点漂亮回答

您所在的位置:网站首页 面试问优缺点回答年龄大 java开发面试问有什么缺点 java面试优缺点漂亮回答

java开发面试问有什么缺点 java面试优缺点漂亮回答

2024-06-29 08:54:49| 来源: 网络整理| 查看: 265

1 ,面向对象和面向过程的区别

面向过程优点:性能高,节省资源。缺点:不利于维护,复用和扩展面向对象优点:易维护、易复用、易扩展。低耦合。缺点: 性能比面向过程低。

2.,Java 语言有哪些特点

简单易学面向对象移植性好可靠性安全性多线程网络编程编译与解释并存

3,关于 JVM JDK 和 JRE 最详细通俗的解答

JRE:是JAVA的运行时环境JDK :是java开发工具包,包含 jre ,编译器和工具, 他能够创建和编译程序。jvm: 是运行JAVA字节码的虚拟机。不同的系统采用相同的字节码,这样就让移植性大大提高。使用字节码的好处:字节码只面向虚拟机,在一定程度上解决了传统解释型语言执行效率低的问题使Java程序能够在不同的机器上运行。为什么引进JIT编译器可以让运行速度更快?注: 热点代码: 经常需要被调用的方法和代码块因为在: .class->机器码 这一步 jvm 类加载器 会首先 加载字节码文件,然后通过解释器逐行解释执行,这种方式的执行速度会相对 比较慢。当引进了 JIT 编译器,(运行时编译)。当 JIT 编译器完成第一次编译后,其会将字节码对应的机器码保存下来,下次可以直接使用。而我们知道,机器码的运行效率肯定是高于Java 解释器的。这也解释了我们为什么经常会说 Java 是编译与解释共存的语言JIT编译器只需要编译的是热点代码,jvm 会根据每次的运行情况来进行一些优化,因此运行次数越多,执行速度越快JDK 9 引入了一种新的编译模式: AOT(Ahead of Time Compilation),它是直接将字节码编译成机器码,这样就 避免了 JIT 预热等各方面的开销。JDK 支持分层编译和 AOT 协作使用。但是 , AOT 编译器的编译质量是肯定比不上 JIT 编译器的。

4, Oracle JDK 和 OpenJDK 的对比

Oracle JDK 版本将每三年发布一次,而 OpenJDK 版本每三个月发布一 次;OpenJDK 是一个参考模型并且是完全开源的,而 Oracle JDK 是 OpenJDK 的一个实现,并不是完全开源的;Oracle JDK 比 OpenJDK 更稳定。OpenJDK 和 Oracle JDK 的代码几乎 相同,但 Oracle JDK 有更多的类和一些错误修复。因此,如果您想开发 企业/商业软件,我建议您选择 Oracle JDK,因为它经过了彻底的测试和 稳定。某些情况下,有些人提到在使用 OpenJDK 可能会遇到了许多应 用程序崩溃的问题,但是,只需切换到 Oracle JDK 就可以解决问题;顶级公司正在使用 Oracle JDK,例如 Android Studio,Minecraft 和 IntelliJ IDEA 开发工具,其中 Open JDK 不太受欢迎;在响应性和 JVM 性能方面,Oracle JDK 与 OpenJDK 相比提供了更好的 性能;Oracle JDK 不会为即将发布的版本提供长期支持,用户每次都必须通过 更新到最新版本获得支持来获取最新版本;Oracle JDK 根据二进制代码许可协议获得许可,而 OpenJDK 根据 GPL v2 许可获得许可

5, .Java 和 C++的区别

都是面向对象的语言,都支持封装、继承和多态Java 不提供指针来直接访问内存,程序内存更加安全Java 的类是单继承的,C++ 支持多重继承;虽然 Java 的类不可以多 继承,但是接口可以多继承。Java 有自动内存管理机制,不需要程序员手动释放无用内存

6, 什么是 Java 程序的主类? 应用程序和小程序的主类有何不同?

主类:主类是 Java 程序执行的入口点。一个程序中可以有多个类,但只能有一个类是主类。

在 Java 应用程序中,这 个主类是指包含 main()方法的类。而在 Java 小程序中,这个主类是一个继承自系统类 JApplet 或 Applet 的子类。应用程序的主类不一定要求是public 类,但小程序的主类要求必须是 public 类。

7, Java 应用程序与小程序之间有那些差别

应用程序是从主线程启动(也就是 main() 方法)。 applet 小程序 没有 main 方法,主要是嵌在浏览器页面上运行(调用 init()线程或者 run()来启动

8, 字符型常量和字符串常量的区别

字符型常量:形式上是由单引号引起来的一个字符。相当于一个整形值( ASCII 值),可以参加运算,占两个字节字符串常量:形式上是由双引号引起来的若干个字符,代表的是一个内存地址值,占若干个字节,至少一个 字符为结束标志。

9, 构造器 Constructor 是否可被 override?

因为父类的私有属性和构造方法并不能被继承,所以 Constructor 也就不能被 override(重写),但是可以 overload(重载),所以你可以看到一个类中有多个构造函数的情况(例如:无参构造器,和全参构造器)。

10, 重载和重写的区别

重载: 发生在同一个类中方法名必须相同参数类型不同、个数不同、顺序不同 方法返回值和访问修饰符可以不同,发生在编译时。   重写: 发生在父子类中(继承中) 方法名、参数列表必须相同, 子类返回值范围 调用静态方法可以无需创建对象。静态方法在访问本类的成员时,只允许访问静态成员(即静态成员变量和静态方法),而不允许访问实例成员变量和实例方法;实例方法则无此限制.

24, 对象的相等与指向他们的引用相等,两者有什么不同?

对象的相等,比的是内存中存放的内容是否相等。而引用相等,比的是他们指向的内存地址是否相等。

25, 在调用子类构造方法之前会先调用父类没有参数的构造方法,其目的是?

帮助子类做初始化工作

26, == 与 equals (重要)

== : 基本数据类型比较的是值,引用数据类型比较的是内存地址equals() : 它的作用也是判断两个对象是否相等。但它一般有两种使用情况:情况1:类没有覆盖(重写) equals() 方法。则通过 equals() 比较该类的两个对象时,等价于通过“==”比较这两个对象。情况2:类覆盖了 equals() 方法。一般,我们都覆盖 equals() 方法来比较两个对象的内容相等;若它们的内容相等,则返回 true (即,认为这两个对象相等)。

27,hashCode 与 equals(重要)

28,简述线程,程序、进程的基本概念。以及他们之间关系是什么

线程:一个进程可以包括多个线程,他是比进程更小的执行单位,一个进程有独立的内存空间,但是多个线程共享相同的内存空间,因此在多个线程之间切换要比在多个进程之间切换快程序:是存储指令和数据的文件,被存储在硬盘或是其他的数据存储设备中,也就是静态的代码进程:是程序的一次执行过程,是系统运行程序的基本单位,因此进程是动态的。一个进程就是一个执行中的程序。

29, 关于 final 关键字的一些总结

修饰变量基本数据类型,数值一旦初始化后不可被更改引用类型,初始化后不可再指向其他的对象 修饰类表明这个类不能被继承。final 类中的所有成员方法都会被隐式地指定为 final 方法。修饰方法 : 不可被重写。

30, Java序列化中如果有些字段不想进行序列化 怎么办

对于不想进行序列化的变量,使用transient关键字修饰。 transient关键字的作用是:阻止实例中那些用此关键字修饰的的变量序列化;当对象被反序列化时,被transient修饰的变量值不会被持久化和恢复。 transient只能修饰变量,不能修饰类和方法


【本文地址】

公司简介

联系我们

今日新闻


点击排行

实验室常用的仪器、试剂和
说到实验室常用到的东西,主要就分为仪器、试剂和耗
不用再找了,全球10大实验
01、赛默飞世尔科技(热电)Thermo Fisher Scientif
三代水柜的量产巅峰T-72坦
作者:寞寒最近,西边闹腾挺大,本来小寞以为忙完这
通风柜跟实验室通风系统有
说到通风柜跟实验室通风,不少人都纠结二者到底是不
集消毒杀菌、烘干收纳为一
厨房是家里细菌较多的地方,潮湿的环境、没有完全密
实验室设备之全钢实验台如
全钢实验台是实验室家具中较为重要的家具之一,很多

推荐新闻


图片新闻

实验室药品柜的特性有哪些
实验室药品柜是实验室家具的重要组成部分之一,主要
小学科学实验中有哪些教学
计算机 计算器 一般 打孔器 打气筒 仪器车 显微镜
实验室各种仪器原理动图讲
1.紫外分光光谱UV分析原理:吸收紫外光能量,引起分
高中化学常见仪器及实验装
1、可加热仪器:2、计量仪器:(1)仪器A的名称:量
微生物操作主要设备和器具
今天盘点一下微生物操作主要设备和器具,别嫌我啰嗦
浅谈通风柜使用基本常识
 众所周知,通风柜功能中最主要的就是排气功能。在

专题文章

    CopyRight 2018-2019 实验室设备网 版权所有 win10的实时保护怎么永久关闭