郑州百知IT培训机构

试听课 + 活动课
填写信息优先获取试听课

位置:学校首页 > 学校动态>郑州计算机培训机构哪个好

郑州计算机培训机构哪个好

  郑州计算机培训机构哪个好?百知教育,深刻解读全国"十三五"科技创新规划,致力于为提供更多IT技术性人才,欢迎您的加入!

  java培训班|Java面试题库,java面试题库大全

  31.谈谈Java的多态

  实现多态的三个条件(前提条件,向上转型、向下转型)

  1、继承的存在;(继承是多态的基础,没有继承就没有多态)

  2、子类重写父类的方法。(多态下会调用子类重写后的方法)

  3、父类引用变量指向子类对象。(涉及子类到父类的类型转换)

  向上转型Student person=new Student()

  将一个父类的引用指向一个子类对象,成为向上转型,自动进行类型转换。此时通过父类引用变量调用的方法是子类覆盖或继承父类的方法,而不是父类的方法此时通过父类引用变量无法调用子类特有的方法。

  向下转型Student stu=(Student)person;

  将一个指向子类对象的引用赋给一个子类的引用,成为向下转型,此时必须进行强制类型转换。向下转型必须转换为父类引用指向的真实子类类型,,否则将出现ClassCastException,不是任意的强制转换

  向下转型时可以结合使用instanceof运算符进行强制类型转换,比如出现转换异常---ClassCastException

  32.简述Java的垃圾回收机制

  传统的C/C++语言,需要程序员负责回收已经分配内存。

  显式回收垃圾回收的缺点:

  1)程序忘记及时回收,从而导致内存泄露,降低系统性能。

  2)程序错误回收程序核心类库的内存,导致系统崩溃。

  Java语言不需要程序员直接控制内存回收,是由JRE在后台自动回收不再使用的内存,称为垃圾回收机制,简称GC;

  1)可以提高编程效率。

  2)保护程序的完整性。

  3)其开销影响性能。Java虚拟机必须跟踪程序中有用的对象,确定哪些是无用的。

  垃圾回收机制的特点

  1)垃圾回收机制回收JVM堆内存里的对象空间,不负责回收栈内存数据。

  2)对其他物理连接,比如数据库连接、输入流输出流、Socket连接无能为力。

  3)垃圾回收发生具有不可预知性,程序无法控制垃圾回收机制执行。

  4)可以将对象的引用变量设置为null,暗示垃圾回收机制可以回收该对象。

  现在的JVM有多种垃圾回收实现算法,表现各异。

  垃圾回收机制回收任何对象之前,总会先调用它的finalize方法(如果覆盖该方法,让一个新的引用变量重新引用该对象,则会重新激活对象)。

  程序员可以通过System.gc()或者Runtime.getRuntime().gc()来通知系统进行垃圾回收,会有一些效果,但是系统是否进行垃圾回收依然不确定。

  永远不要主动调用某个对象的finalize方法,应该交给垃圾回收机制调用。

  33.基本数据类型和包装类

  1)八个基本数据类型的包装类

  java面试

  2)为什么为基本类型引入包装类

  2.1基本数据类型有方便之处,简单、。

  2.2但是Java中的基本数据类型却是不面向对象的(没有属性、方法),这在实际使用时存在很多的不便(比如集合的元素只能是Object)。

  为了解决这个不足,在设计类时为每个基本数据类型设计了一个对应的类进行包装,这样八个和基本数据类型对应的类统称为包装类(Wrapper Class)。

  3)包装类和基本数据类型之间的转换

  3.1包装类------wrapperInstance.xxxValue()------>基本数据类型

  3.2包装类-------new WrapperClass(primitive)

  3.2包装类-------new WrapperClass(primitive)

  4)自动装箱和自动拆箱

  JDK1.5提供了自动装箱(autoboxing)和自动拆箱(autounboxing)功能,从而实现了包装类和基本数据类型之间的自动转换

  5)包装类还可以实现基本类型变量和字符串之间的转换

  基本类型变量--->String.valueof()--->字符串基本类型变量<---WrapperClass.parseXxx(string)---字符串

  34.Integer与int的区别

  int是java提供的8种原始数据类型之一,Java为每个原始类型提供了封装类,Integer是java为int提供的封装类。

  int是java提供的8种原始数据类型之一,Java为每个原始类型提供了封装类,Integer是java为int提供的封装类。

  在Hibernate中,如果将OID定义为Integer类型,那么Hibernate就可以根据其值是否为null而判断一个对象是否是临时的,如果将OID定义为了int类型,还需要在hbm映射文件中设置其unsaved-value属性为0。

  另外,Integer提供了多个与整数相关的操作方法,例如,将一个字符串转换成整数,Integer中还定义了表示整数的较大值和较小值的常量。

  35.java.sql.Date和java.util.Date的联系和区别

  1)java.sql.Date是java.util.Date的子类,是一个包装了毫秒值的瘦包装器,允许JDBC将毫秒值标识为SQL DATE值。毫秒值表示自1970年1月1日00:00:00 GMT以来经过的毫秒数。为了与SQL DATE的定义一致,由java.sql.Date实例包装的毫秒值必须通过将时间、分钟、秒和毫秒设置为与该实例相关的特定时区中的零来“规范化”。说白了,java.sql.Date就是与数据库Date相对应的一个类型,而java.util.Date是纯java的Date。

  2)JAVA里提供的日期和时间类,java.sql.Date和java.sql.Time,只会从数据库里读取某部分值,这有时会导致丢失数据。例如一个包含2002/05/22 5:00:57 PM的字段,读取日期时得到的是2002/05/22,而读取时间时得到的是5:00:57 PM.你需要了解数据库里存储时间的精度。有些数据库,比如MySQL,精度为毫秒,然而另一些数据库,包括Oracle,存储SQL DATE类型数据时,毫秒部分的数据是不保存的。以下操作中容易出现不易被发现的BUG:获得一个JAVA里的日期对象。从数据库里读取日期试图比较两个日期对象是否相等。如果毫秒部分丢失,本来认为相等的两个日期对象用Equals方法可能返回false。.sql.Timestamp类比java.util.Date类度要高。这个类包了一个getTime()方法,但是它不会返回额外精度部分的数据,因此必须使用...

  总之,java.util.Date就是Java的日期对象,而java.sql.Date是针对SQL语句使用的,只包含日期而没有时间部分。

领取试听课
温馨提示:为不影响您的学业,来校区前请先电话或QQ咨询,方便我校安排相关的专业老师为您解答
版权所有:搜学搜课(www.soxsok.com) 技术支持:搜学搜课网