Java的一些基本问题的总结
来源:互联网 发布:网络作家梦游美利坚 编辑:程序博客网 时间:2024/06/05 04:19
1.Java的八种基本数据类型和其分装类
答:int,char,byte,long,short,float,double,boolean
分装类:Integer,Character,Byte,Long,Short,Float,Double,Boolean
2.Switch能否用String做为参数?
答:Switch能用byte,int,char,short作为参数,在JDK1.7版本之后,加入了String能作为参数。
3.equals与==的区别?
答:首选==是一个运算符,而equals是String对象的一个方法。
我们比较无非就是这两种 1、基本数据类型比较 2、引用对象比较
1、基本数据类型比较==和Equals都比较两个值是否相等。相等为true 否则为false;
2、引用对象比较
==和Equals都是比较栈内存中的地址是否相等 。相等为true 否则为false;
需注意几点:
1、string是一个特殊的引用类型。对于两个字符串的比较,不管是 == 和 Equals 这两者比较的都是字符串是否相同;
2、当你创建两个string对象时,内存中的地址是不相同的,你可以赋相同的值。
所以字符串的内容相同。引用地址不一定相同,(相同内容的对象地址不一定相同),但反过来却是肯定的;
3、基本数据类型比较(string 除外) == 和 Equals 两者都是比较值;
4.Object有哪些公用方法?
答:覆写对象的clone()方法
toString()方法
equals()方法
hashcode()
关于线程的notify() , notifyAll() , wait()
getClass()方法
finalize()方法
5.Java的四种引用,强弱软虚,用到的场景
答:
强引用(StrongReference)
强引用是使用最普遍的引用。如果一个对象具有强引用,那垃圾回收器绝不会回收它。当内存空间不足,Java虚拟机宁愿抛出OutOfMemoryError错误,使程序异常终止,也不会靠随意回收具有强引用的对象来解决内存不足的问题。
软引用(SoftReference)
如果一个对象只具有软引用,则内存空间足够,垃圾回收器就不会回收它;如果内存空间不足了,就会回收这些对象的内存。只要垃圾回收器没有回收它,该对象就可以被程序使用。软引用可用来实现内存敏感的高速缓存。
软引用可以和一个引用队列(ReferenceQueue)联合使用,如果软引用所引用的对象被垃圾回收器回收,Java虚拟机就会把这个软引用加入到与之关联的引用队列中。
弱引用(WeakReference)
弱引用与软引用的区别在于:只具有弱引用的对象拥有更短暂的生命周期。在垃圾回收器线程扫描它所管辖的内存区域的过程中,一旦发现了只具有弱引用的对象,不管当前内存空间足够与否,都会回收它的内存。不过,由于垃圾回收器是一个优先级很低的线程,因此不一定会很快发现那些只具有弱引用的对象。
弱引用可以和一个引用队列(ReferenceQueue)联合使用,如果弱引用所引用的对象被垃圾回收,Java虚拟机就会把这个弱引用加入到与之关联的引用队列中。
虚引用(PhantomReference)
"虚引用"顾名思义,就是形同虚设,与其他几种引用都不同,虚引用并不会决定对象的生命周期。如果一个对象仅持有虚引用,那么它就和没有任何引用一样,在任何时候都可能被垃圾回收器回收。
虚引用主要用来跟踪对象被垃圾回收器回收的活动。虚引用与软引用和弱引用的一个区别在于:虚引用必须和引用队列 (ReferenceQueue)联合使用。当垃圾回收器准备回收一个对象时,如果发现它还有虚引用,就会在回收对象的内存之前,把这个虚引用加入到与之 关联的引用队列中。
- Java的一些基本问题的总结
- java的一些基本问题
- Java 一些基本语法的总结
- Java基本类型的一些总结
- Java基本类型的一些问题探讨
- 总结了一些java基本的一些陷阱
- andrpid & java 一些问题的总结
- 总结的一些面试问题-java
- 总结的java一些细节问题
- 关于在Spring4 jdbctemplate 遇到的一些基本问题总结
- java编程遇到的一些基本语法总结
- 一些问题的总结
- C++的一些基本问题
- 程序设计的一些基本问题
- 堆的一些基本问题
- hadoop的一些基本问题
- 概率论的一些基本问题
- java第5天的 课堂笔记 一些基本问题
- 神经元模型和网络模型
- Java源码阅读之TreeSet
- 说说情商这玩意
- 第2周项目,求值
- 1004-史丰收速算
- Java的一些基本问题的总结
- 14. Longest Common Prefix
- 使用Enterprise Architect画UML类图
- ThreadPoolExecutor机制
- SkyLine_BS_二次开发_创建对象
- mybatis-generator 代码自动生成工具
- python代码覆盖工具Coverage.py
- iOS的中文转码以及带各种符号的字符串的转码
- 对象迁移空间对索引状态的影响