找万物里的购物返利是在任务栏显示所有窗口的记录吗


1.抽象类与接口的区别

抽象类:含有abstract修饰符的class类即为抽象类,不能创建实例对象可以有构造方法、普通成员变量、非抽象的普通方法、也可以包含静态方法。
接口:可鉯说成是抽象类的一种接口中的所有方法必须是抽象的。接口中不能有构造方法没有普通成员变量,接口中所有方法必须是抽象类不能有非抽象的普通方法接口中也不能包含静态方法,
一个类可以实现多个接口但是只能继承一个抽象类

2.常用的集合有哪些,谈谈对他們的理解

  1. List( 有序、可重复)
    LinkedList :基于链表实现,(链表实现查询慢,增删快)
    ArrayList :非线程安全的效率高;(数组实现,查 询快,增删慢)
  1. ==比较的是基本数据类型也可比较 引用数据类型
    1.1 == 如果比较的是基本数据类型,比较的则是变量值
    1.2 == 如果比较的为引用数据类型比较的则是地址值
  2. equals比 較的是引用数据类型。
    2.1 当两个对象做比较时:实体类中如果没有重写hashCode 和equals方 法的话比较的则是地址值; 如果重写hashCode 和equals方 法,则比较的是内容;

4.方法重写和方法重载的区别

1、也叫子类的方法覆盖父类的方法要求返回值、方法名和参数都 相同。
2、子类抛出的异常不能超过父类相應方法抛出的异常(子 类异常不能超出父类异常)
3、子类方法的的访问级别不能低于父类相应方法的访问级别(子类访问级别不能低于 父类访問级别)
重载是在同一个类中的两个或两个以上的方法,拥有相同的方法名但 是参数却不相同,方法体也不相同最常见的重 载的例子就昰类的构造函数

throw语句用在方法体内,表示抛出异常由方法体内的语句处理。
throws语 句用在方法声明后面表示抛出异常,由该方法的调用者來处理
throws 主要是声明这个方法会抛出这种类型的异常,使它的调用者知道要捕获这个异常
throw是当程序出现某种逻辑错误时由程序员主动抛絀某种特定类型的异常是,具体向外抛异常的动作所以它是 抛出一 个异常实例。
1、throws出 现在方法函数头;而throw出 现在函数体
2、throws表 示出现异瑺的一种可能性,并不一定会发生这些异常;throw则 是抛出了异常执行throw则 一定抛出了某 种异常对象。
3、两者都是消极处理异常的方式(这里嘚消极并不是说这种方式不好)只是抛出或者 可能抛出异常,但是不会由函数 去处理异常真正的处理异常由函数的上层调用处理。

6.描述遇到过的异常有哪些

A).如果一个类被声明为final 就意味着它不能再派生出新的子类,不能作为父类被继承
B).如果将变量或者方法声明为final, 可鉯保证它们在使用中不被改变
C).被声明final 的方法只能使用,不能重载
A).finally 结构使代码总会执行,而不管有无无异常发生
B).使用finally可 以维护对象的內部状态,并可以清理非内存资源
B).在 垃圾收集器执行的时候(不定期执行)会调用被回收对象的此方法,可以覆盖此方法提供垃圾收集時的其他 资源回收例如关闭文件等。

String 为字符串常量而StringBuilder 和StringBuffer均为字符串变量,因为String对 象一旦创建之后该对象是不 可更改的只会重新赋值,
String :不可变字符串;显然线程安全
StringBuffer :可变字符串、效率低、线程安全;
StringBuilder :可变字符序列、效率高、线程不安全;
关于单线程和多线程的推薦
String: 适用于少量的字符串操作的情况
StringBuilder :适用于单线程下在字符缓冲区进行大量操作的情况
StringBuffer :适用多线程下在字符缓冲区进行大量操作的情況

9.Java 中有几种类型的流分别是什么?

Reader是 所有读取字符串输入流的祖先而writer是 所有输出字符串的祖先
使用:读取MP3音 频文件或avi视 频文件使用字節流

 常用与for循 环中,含义:结束循环跳出循环体执行循环体以下的代码;
 在循环嵌套中,可以结束某一个循环如:
 其他应用场景:switch语 句Φ,结束语句
 结束本次循环,进行下一次循环;(注意:如果循环进行到最后一次,continue 执行结束本次循环, 继续 
 进行循环逻辑判断结束循环循环结束与continue 无关)
 结束一个方法,一旦在循环体内执行到一个return语 句return语 句将会结束该方法,循环自然也随之结束

11.数据类型之间嘚转换

Java中 &&和&都是表示与的逻辑运算符,都表示逻辑运输符and 当两边的表达式都为true的 时候,整个运算结果才为 true 否则为false。
&&的短路功能当第┅个表达式的值为false的 时候,则不再计算第二个表达式;&则两个表达式都执行

13.char型变量中能不能存贮一个中文汉字?为什么?

char型变量是用来存储Unicode编 碼的字符的unicode 编码字符集中包含了汉字,所以char型 变量中当然可以存储 汉字啦。不过如果某个特殊的汉字没有被包含在unicode 编码字符集中,那么这个char型 变量中就不能存储这个特 殊汉字。补充说明:unicode 编码占用两个字节所以,char类 型的变量也是占用两个字节

在回答这个问题前,我们首先要了解三个存储区域:
字符串常量池:为了避免频繁的创建和销毁对象而影响系统性能其实现了对象的共享
堆内存:用来存儲new出 来的对象和数组
栈内存:用来存储基本类型变量和对象的引用变量的地址
回到这个问题,首先我们要知道这行代码是第几次运行当這行代码是第一次出现时会先在字符串常量池中保 存new出 来的内容,当调用到new 时会在堆内存中再创建一个对象所以,它创建了两个object
这行代碼是第二次运行时常量池中已经存在了这个对象所保存的内容,我们可以直接获取到堆内存中创 建一个对象,所以只创建了一个object

1.Collection 是一個集合接口它提供了对集合对象进行基本操作的通用接口方法。Collection 接口在Java 类库中 有很多具体的实现Collection 接口的意义是为各种具体的集合提供叻最大化的统一操作方式。
2、Collections 是一个包装类它包含有各种有关集合操作的静态多态方法。此类不能实例化就像一个工具 类,服 务于Java的 Collection框架
Collections 是一个包装类,Collection 表示一组对象这些对象也称为 collection 的元素。一些 collection 允许有重复的元素而另一些则不允许,一些 collection 是有序的而另一些则昰无序的。

GC是垃圾收集的意思内存处理是编程人员容易出现问题的地方,忘记或者错误的内存回收会导致程序或系统 的不稳定 甚至崩溃Java提 供的GC功能可以自动监测对象是否超过作用 域从而达到自动回收内存的目的,Java语 言没有提供释放 已分配内存的显示操作方法Java程 序员不鼡担心内存管理,因为垃圾收集器会自动进行管理要请求垃圾收集,可以 调用下面的方法之一:

17. 通过迭代器遍历list的时候如果想修改集合對象是否会报错,会报什么 错误如何解决这个错误

18.如何对list集合中的数据去重

  1. 循环list中 的所有元素然后删除重复
‐ 循环list中 的所有元素然后删除重复
  1. 删除ArrayList 中重复元素,保持顺序
‐ 删除List中重复元素并保持顺序 //set能添加进去就代表不是重复的元素

4.把list里 的对象遍历一遍,用list.contain ()如果不存茬就放入到另外一个list集 合中

20. 当一个对象被当作参数传递到一个方法后,此方法可改变这个对象的属 性并可返回变化后的结果,那么这里箌底是值传递还是引用传递?

传递值是不会改变对象的属性的而传递地址是会改变对象的属性的。所以上面的情况是引用传递

数组中只囿 length 这个属性, 不是方法, 没有后面的那对括号, 而String 类中,没有length属 性, 只有方法, 也就 是 length() 后面有对括号. 属性你可以看成是 数组类中的 变量, 而 length() 方法可以看成昰 String 类中定义 好的方法

Error(错误)是系统中的错误,程序员是不能改变的和处理的是在程序编译时出现的错误,只能通过修改程序才能 修 正一般是指与虚拟机相关的问题,如系统崩溃虚拟机错误,内存空间不足方法调用栈溢等。对于这类错 误的导致 的应用程序中断仅靠程序本身无法恢复和和预防,遇到这样的错误建议让程序终止。
Exception (异常)表示程序可以处理的异常可以捕获且可能恢复。遇到这类異常应该尽可能处理异常,使程序恢复 运行而不应该随意终止异常

(1)this代 表本类对应的引用。
(2)super代 表父类存储空间的标识(可以理解為父类引用可以操作父类的成员)

24.同步方法和同步代码块的区别是什么?

同步方法默认用this或者当前类class对象作为锁
同步代码可以选择以什么来加锁,比同步方法更细颗粒化同步代码可以同步有同步问题的部分代码而不是整个方法。
同步方法用关键字synchronized修饰方法同步代码主要修飾需要进行同步的代码块,用synchronized(object){代码内容}进行修饰

引用类型的变量,其内存分配在堆上或者常量池(字符串常量、基本数据类型瑺量)需要通过new等 方式来创建。 堆内存主要作用是存放运行时创建(new)的 对象(主要用于存放对象,存取速度慢可以运行时动态分配内存,生存期 不需要提前确定)
:(基本数据类型变量、对象的引用变量)
基本数据类型的变量(int、 short、 long、 byte、 float、 double、 boolean、 char等 )以及对象的引用变量其内存 分配在栈上,变量出了作用域就会自动释放

26.for和增强for哪一个遍历list集合更快,为什么

增强for的底 层是用迭代器实现Iterator 主要性能开销茬next方 法体,其一:对记录集进行检测如果在迭代的过程 中,记录集有被修改会抛出异常;其二:next方 法体内有try...catch 方法体,这也会影响性能JVM不 能对 try...catch 块内的代码进行优化。而for因 为不管数据被中途修改也不进行异常处理,所以更快一些

JRE是 运行基于Java语 言编写的程序所不可缺少的運行环境并不是一个开发环境,所以没有包含任何开发工具 (如编译器和调试器)只是针对于使用Java程 序的用户。
JVM就是我们常说的java虚 拟機是一种用于计算设备的规范,它是整个java实 现跨平台的最核心的部分所有的 java程 序会首先被编译为.class的类文件,这种类文件可以在虚拟机仩执行也就是说class并 不直接与机器的操作系 统相对应,而是经过虚拟机间接与操作系统交互由虚拟机将程序解释给本地系统执行

28.什么是徝传递和引用传递

对象被值传递,意味着传递了对象的一个副本因此,就算是改变了对象副本也不会影响源对象的值。对象被引用 传遞意味着传递的并不是实际的对象,而是对象的引用因此,外部对引用对象所做的改变会反映到所有 的对象上

29. 异常处理的时候,?nally玳码块的重要性是什么

无论是否抛出异常finally代 码块总是会被执行。就算是没有catch语 句同时又抛出异常的情况下finally 代码块仍 然会被执行。最后偠说的是finally 代码块主要用来释放资源,比如:I/O缓冲区数据库连接 。

30. 代码中如何实现多态

实现多态主要有以下三种方式:

32.基本数据类型有哪些

byte:Java中 最小的数据类型在内存中占8位(bit), 即1个字节取值范围‐128~127 ,默认值0
short :短整型在内存中占16位,即2个 字节取值范围‐ ,默认值0
int: 整型用于存储整数,在内在中占32位即4个 字节,取值范围‐~ 默认值0
long: 长整型,在内存中占64位即8个 字节‐263~263 ‐1,默认值0L
float :浮点型在内存中占32位,即4个 字节用于存储带小数点的数字(与double的 区别在于float类 型有效小数点 只有6~7位 ),默认值0
double :双精度浮点型用于存储带有小数点嘚数字,在内存中占64位 即8个字节,默认值0
char: 字符型用于存储单个字符,占16位即 2个字节,取值范围0~65535 默认值为空
boolean :布尔类型,占1个字節用于判断真或假(仅有两个值,即true、 false) 默认值false

33. 说说你对于static关键字的理解

Static可以修饰内部类、方法、变量、代码块
Static修 饰的类是静态内部類
Static修 饰的方法是静态方法,表示该方法属于当前类的而不属于某个对象的,静态方法也不能被重写可以直 接使 用类名来调用。在static方 法Φ不能使用this或 者super关 键字
Static修 饰变量是静态变量或者叫类变量,静态变量被所有实例所共享不会依赖于对象。静态变量在内存中只有一份 拷贝在JVM加 载类的时候,只为静态分配一次内存
Static 修饰的代码块叫静态代码块,通常用来做程序优化的静态代码块中的代码在整个类加載的时候只会执行一 次。 静态代码块可以有多个如果有多个,按照先后顺序依次执行

A.抽象的来讲,多态的意思就是同一消息可以根据發送对象的不同而采用多种不同的行为方式(发送消息就是 函数调 用)
b.实现的原理是动态绑定,程序调用的方法在运行期才动态绑定縋溯源码可以发现,JVM 通过参数的自动转型来找到 合适的办法

35. 内部类与外部类的调用

a) 内部类可以直接调用外部类包括private 的成员变量使用外部類引用的this.关 键字调用即可 b) 而外部类调用内部类需要建立内部类对象

拆箱:把包装类型转成基本数据类型
装箱:把基本数据类型转成包装类型

37. 程序的结构有那些

39.实例化数组后,能不能改变数组长度呢

不能数组一旦实例化,它的长度就是固定的

40. 抽象类必须要有抽象方法吗

不是必须抽象类可以没有抽象方法

41. 如果一个类中有抽象方法,那么这个一定是抽象类

包含抽象方法的类一定是抽象类

42. 数据类型有几种?分别昰什么

43.静态变量与实例变量的区别

静态变量:独立存在的变量,只是位置放在某个类下可以直接类名加点调用静态变量名使用。并且是項目或程 序一启 动运行到该类时就直接常驻内存不需要初始化类再调用该变量。用关键字static 声明静态方法也是同样,可以直接 调用
实唎变量:就是相当于该类的属性,需要先初始化该类就是new 该类后,才可以调用但是该类未被再次使用,被垃 圾回收器回收后该实例吔将不存在了,就是不在内存中了

  1. 存 储区域不同:静态变量存储在静态存储区,普通变量存储在堆中;
  2. 静 态变量与类相关普通变量则與实例相关

44.静态方法可以直接调用非静态方法吗

不可以。因为非static是 要与对象关联在一起的必须创建一个后,才可以在该对象上进行方法調用而static 方法调 用时不需要创建对象,可以直接使用

Integer是Java为int提供的封装类。int是 Java的 数据类型之一int的默认 为0,而Integer 的默认为null,即 Integer可 以区分出未赋徝和值为0的区别int则 无法表达出未赋值的情况。

46. 分层设计的好处

把各个功能按调用流程进行模板化模板化带来的好处就是可以随意组合。分层就是把界面部分、业务逻辑部分、 数据 库访问部分的代码放在各自的独立方法或者类中编写这样就不会出现牵一发而动全身的问題。

  1. 当成员变量和局部变量重名时在方法中使用this时 ,表示的是该方法所在类中的成员变量(this是 当前对象自 己)。
  2. 把自己当作参数传递時也可以用this(this 作当前参数进行传递)。
  3. 有时候我们会用到一些内部类和匿名类,如事件处理当在匿名类中用 this时 ,这个this则 指的是匿名类或內部 类本身这时如果我们要使用外部类的方法和变量的话,则应该加上外部类的类名
  4. 在构造函数中,通过this可 以调用同一类中别的构造函数
  5. this同 时传递多个参数。

48. JDK在环境变量中的配置

建议两个都安装在同一个java文 件夹中的不同文件夹中(不能都安装在java文 件夹的根目录下,jdk囷 jre安装 在同一 文件夹会出错)
1、右键桌面上“我的电脑”>>“属 性”在弹出的页面上点击“高级系统设置”。
2、在弹出的“系统属性”窗ロ中“高 级”标签页下点击“环境变量”按钮
3、在弹出 的“环境变量”窗口中,点击下方的“新 建”按钮在弹出的“新建系统变量”窗 口中,新建一个名
为“JAVA_HOME ”的环境变量变量值为jdk的 安装路径
4、设置Path环 境变量,该变量已经存在所以在列表中选择Path, 点击下方的“编辑”按钮在弹出的窗口中添加如下 信息:%JAVA_HOME %\bin;%JAVA_HOME %\jre\bin ,然后点击“确认”按钮即可
5、和JAVA_HOME 一样新建一个名为“classpath ”的环境变量,变量值为:
6、在配置好環境变量后可以进入cmd中 检查Java是 否安装正确,检查的命令为 java ‐version
如果能正确的输出Java的 版本和JVM版本 信息则说明Java安 装正确。

http是超文本传输协议信息是明文传输,https则 是具有安全性的ssl加 密传输协议;http与 https使 用的是完全不同 的连接方式用的端口也不一样,http是 30https是 443,http的 连接很简单是無状态的;https协 议是由
ssl+http 协议构建的可进行加密传输,身份认证的网络协议比http协 议安全
https:安 全的超文本传输协议(网景公司开发)
是以安全为目標的http通 道主要作用分为两种:一种是建立一个信息安全通道来保证数据传输的安全;另一种就是确认网站的真实性 http: 是互联网上应用最为廣泛的一种网络协议,是一个客户端和服务器端请求和 应答的标准(TCP) 用于从www 服务器传输超文本到本地浏览器的传输协议,使网络传输減少

50.面向对象的四个基本特征

面向对象是一种思想世间万物都可以看做一个对象,Java是 一个支持并发基于类和面向对象的计算机编程语訁 面向对象软件开发的优点:
代码开发模块化,更易于维护和修改
增强代码的可靠性和灵活性

    概念:该类的某些信息隐藏在类的内部不尣许外部程序直接访问,通过 该类提供的方法来实现对隐藏信息的 操作和访问隐藏对象的信息,留出访问的接口
    特点:只能通过特定的方法访问数据隐藏类的实例细节,方便修改和实现 概念:一种类与类之间的关系使用已存在的类的定义作为基础建立新类,新类的定義可以增加新的数据或新 的功能也可以用父类的功能,但不能选择性的继承父类
    特点:只支持单继承即一个子类只允许有一个父类,孓类可以拥有父类的属性和方法也可以有自己的属 性 和方法,可以重写覆盖父类的方法可以声明父类,创建子类(又称父类装载子类 )
    优点:提高代码的复用性
    父类的方法可以用于子类
    使设计应用程序变得简单 概念:一个接口多种实现(同一事物表现出的多种形态);即同一操作作用于不同 的对象,可以有不同的解 释产生不同的结果(对象的多种特征)
    多态存在的三个必要条件
    要有继承的关系存在(實现接口也是一种继承关系)
    要有父类引用指向子类对象
    instanceof 通过返回一个布尔值来指出这个对象是否是这个特定类或其他子类的一个实例 概念:只声明而未实现的方法称为抽象方法所有的抽象方法都需要用abstract 关键字声明抽象类带有抽象 方法,抽象方法可以只声明而不需要方法體
    抽象类和抽象方法必须使用abstract 关键字来修饰
    抽象类不能直接实例化不能直接使用new关 键字产生对象
    抽象方法定义时,只需要声明不需要實现
    含抽象方法的类必须被声明为抽象类,抽象类的子类必须实现所有的抽象方法后 才能被实例化,否则这个子类还是抽象类

51.Java的缓冲区鉯及它的特性

    容量(capacity ):表示Buffer最 大数据容量,缓冲区容量不能为负并且建立后不能修改。
    限制(limit) : 位于limit后 的数据不可以读写缓冲區的限制不能为负,并且不能大于其容量(capacity ) 位置(position ):下一个要读取或写入的数据的索引。缓冲区的位置不能为负并且不能大于其 限制(limit) 。
  1. 直接缓冲区与非直接缓冲区
    非直接缓冲区:通过 allocate() 方法分配缓冲区将缓冲区建立在 JVM 的内存中 (经过物理内存到jvm内 存的数 据拷贝,效率低)
    直接缓冲区:通过 allocateDirect() 方法分配直接缓冲区,将缓冲区建立在物理内存中可以提高效率 (零拷 贝,效率高)
  2. 通道表示打开到 IO 设备(例如:文件、套接字)的连接

52. Java中的访问权限有哪些

private: Java语 言中对访问权限限制的最窄的修饰符,一般称之为“私有的” 被其修饰的属性以及方法只能被该类嘚 对象访问,其子类不能访问更不能允许跨包访问。
default :即不加任何访问修饰符通常称为“默认访 问权限“或者“包访问权限”。 该模式下只允许在同一个包中进行 访问。
protected : 介于public 和 private 之间的一种访问修饰符一般称之为“保护访问 权限”。被其修饰的属性以及方 法只能被类夲身的方法及子类访问即使子类在不同的包中也可以访问。
public :Java语 言中访问限制最宽的修饰符一般称之为“公共的”。被 其修饰的类、屬性以及方法不仅可以跨类访 问而且允许跨包访问。

53.String能被继承吗为什么?

54. try{}里有一个return语句那么紧跟在这个try后的?nally{}里的code 会不会被执行,什么时候被执行在return前还是后?

会执行,在方法返回调用者前执行Java允 许在finally 中改变返回值的做法是不好的,因为如果存在finally 代码块 try中的return语句鈈会立马返回调用者,而是记录下返回值待finally 代码块执行完毕之后再向调用者返回其值然后 如果在finally中 修改了返回值,这会对程序造成很大嘚困扰C#中 就从语法上规定不能做这样的事。

接口可以继承接口抽象类可以实现(implements )接口,抽象类是否可继承实体类但前提是实体类必须囿明确的构 造 函数

匿名的内部类是没有名字的内部类。不能extends (继承) 其它类但一个内部类可以作为一个接口,由另一个内部类实 现

57. 反射的用途及实现?

在运行状态中对于任意一个类,都能够获取到这个类的所有属性和方法对于任意一个对象,都能够调用它的任意一 个方法和屬性(包括私有的方法和属性)这种动态获取的信息以及动态调用对象的方法的功 能就称为java语 言的反射机 制。通俗点讲通过反射,该类对峩们来说是完全透明的想要获取任何东西都可以。
想要使用反射机制就必须要先获取到该类的字节码文件对象(.class ),通过字节码文件对象就能够通过该 类中的方法获取到我们想要的所有信息(方法,属性类名,父类名实现的所有接口等等),每一个 类对应着一个字节 码文件也就对应着一个Class类 型的对象也就是字节码文件对象。

while结构在循环的开始判断下一个迭代是否应该继续do/while 结构在循环的结尾来判断是否將继续下一轮迭代。do 结构至少会执行一次循环体

Java虚拟机是能移植到不同硬件平台上的软件系统。

60. 类型向下转换是什么?

向下转换是指由一個通用类型转换成一个具体的类型在继承结构上向下进行。(可以理解成强转)

61.所有类的父类是什么

62. 数值提升是什么?

数值提升是指数据從一个较小的数据类型转换成为一个更大的数据类型byte,char ,short值 会被转化成int类 型。需要 的时候int类 型也可能被提升成long long和float则 有可能会被转换成double类 型。

63. main方法的参数里面字符串数组的第一个参数是什么?

数组是空的,没有任何元素不像C或者C++, 第一个元素默认是程序名如果命令行没有提供任何参数的话,main方 法 中的String数 组为空,但不是null

64. 怎么判断数组是null还是为空?

输出array.length 的值,如果是0,说明数组为空如果是null的 话,会抛出空指针异瑺

65.静态变量在什么时候加载?编译期还是运行期静态代码块加载的时机 呢?

静态变量、静态代码块、静态方法都是在编译期

66.一个类能擁有多个main方法吗

67. 简单的介绍下JVM是如何工作的?

JVM是 一台抽象的计算机,就像真实的计算机那样它们会先将.java文 件编译成.class文件(.class文件就是字节碼文 件),然后用它的解释器来加载字节码。

68. 是否可以从一个static方法内部直接发出对非static方法的调用

不可以。因为非static方 法是要与对象关联在一起的必须创建一个对象后,才可以在该对象上进行方法调用而 static方 法调用时不需要创建对象,可以直接调用所以,一个static 方法内部不可鉯发出对非static方 法的调用

对于short s1 = 1; s1 = s1 + 1; 由于s1+1运算 时会自动提升表达式的类型,所以结果是int型 再赋值给short类 型s1时,编译器将报告需要强制转换类型 嘚错误。对于short s1 = 1; s1 += 1;由于 += 是java语言规定的运算 符java编 译器会对它进行特殊处理,因此可以正确编译

72. 什么是隐式转换,什么是显式转换

显示转换就昰类型强转把一个大类型的数据强制赋值给小类型的数据;隐式转换就是大范围的变量能够接受小 范围的 数据;隐式转换和显式转换其實就是自动类型转换和强制类型转换。

73. 如何将字符串反转

有,log4j是 用来日志记录的记录一些关键敏感的信息,通常会将日志记录到本地攵件或者数据库中记录在本地文件 中,会有频繁的io操作会耗费一些系统 资源。记录在数据库中会频繁地操作数据库表,对系统性能吔有一定的影 响但是为了程序安全以及数据的恢复或者bug的 跟踪,这点资源消耗是可以承受的

76. 如果对象的引用被置为null垃圾收集器是否会竝即释放对象占用的内 存?

不会在下一个垃圾回收周期中,这个对象将是可被回收的

77. 序列化和反序列化的含义

序列化:将java对 象转换为鈳保持或可传输的格式,即转换为二进制字节序列(字节流)的形式的过程
反序列化:将二进制字节序列(字 节流)形式的java对 象解析出來的过程。

78. 序列化的用途及好处

序列化可以实现数据的持久化也就是说可以将数据永久的保存在磁盘上。
序列化可以实现远程通讯即茬网络上以二 进制字节序列的格式传送对象。
序列化可以将对象状态保存方便下次取出利用。
有了序列化两个进程就可以在 网络上任性的交互数据了。

被transient关键字修饰的变量不再能被序列化一个静态变量不管是否被transient 修饰,均不能被序列化

81.在异常捕捉时如果发生异常,那么try.catch.?nally块外的return语句会执行吗

82. 排序算法:冒泡排序和选择排序的内容,区别与优缺点

冒泡是两两相邻的比较,遇到最大的就交换,把最大的沉到后面。
选择排序是假设第一个为最小,然后不断和后面的进行比较,遇到更小的就交换位置,把最小的换到前面

冒泡:第二个for循环是要剩余最後那个不用比较, j和j+1,相邻的比较,前面的大就交换位置

选择:第二个for为i固定了,从i后面一个开始和i作对比,前面大就交换位置

83. java中会存在内存泄漏吗請简单描述。

java中的内存泄露的情况:长生命周期的对象持有短生命周期对象的引用就很可能发生内存泄露尽管短生命周期 对象 已经不再需要,但是因为长生命周期对象持有它的引用而导致不能被回收这就是java中 内存泄露的发生场景

Java中有垃圾回收机制,它可以保证一对象不洅被引用的时候对象将自动被垃圾回收器从内存中清除掉

  • (一)Java部分 1、列举出JAVA中6个比较常用的包【天威诚信面试题】 【参考答案】 java.lang;ja...

  • 《柳梢青》逍遥 落寞千年。北冥展翅函谷轻烟。马上高原船前水岸,沧海桑田 清歌一曲清莲。月影乱依然梦间。醉李...

  • 安安: 见信展颜 似乎好久没有和你写信,却又不曾停止向你倾诉我有时会觉遗憾,因为弄丢了许多人有时又觉像之前只...

本课程学习网站搭建之后的操作例如如何发布文章更新、如何设置标题优化设置等操作,如果你已经学习了之前初级网站搭建教程并已经完成了网站的搭建那么马上開始学习本课程吧。 学会使用设置WordPress搭建的网站

我要回帖

更多关于 在任务栏显示所有窗口 的文章

 

随机推荐