学习笔记,转自:http://www.iteye.com/topic/1033375
学习笔记,转自:http://download.csdn.net/detail/ht99582/5892979
1、? 影响程序性能的因素
一是CPU操作的快慢,二是IO操作的快慢
CPU操作通常有这些:
赋值和计算,如:m = i*j;
流程控制,如:while(true) { i ++;}
?
IO操作通常有这些:
磁盘文件操作。
网络操作。
键盘和鼠标操作。
显卡操作,如在屏幕上绘图,显示文本等。
?
2、? 连接池的优点,其基本原理是什么
连接池基本的思想是在系统初始化的时候,将数据库连接作为对象存储在内存中,当用户需要访问数据库时,
并非建立一个新的连接,而是从连接池中取出一个已建立的空闲连接对象。使用完毕后,用户也并非将连接关闭,
而是将连接放回连接池中,以供下一个请求访问使用。
同时,还可以通过设置连接池的参数来控制连接池中的初始连接数、
连接的上下限数以及每个连接的最大使用次数、最大空闲时间等等
1.资源重用
避免了频繁创建、释放连接引起的大量性能开销
2.更快的系统响应速度
数据库连接池在初始化过程中,往往已经创建了若干数据库连接置于池中备用。此时连接的初始化工作均已完成。
对于业务请求处理而言,直接利用现有可用连接,避免了数据库连接初始化和释放过程的时间开销,从而缩减了系统整体响应时间。
?
3、? TCP与UDP的区别
TCP---传输控制协议,提供的是面向连接、可靠的字节流服务
UDP---用户数据报协议,是一个简单的面向数据报的运输层协议。
UDP 与 TCP 的主要区别在于 UDP 不一定提供可靠的数据传输
很明显,当数据传输的性能必须让位于数据传输的完整性、可控制性和可靠性时,TCP协议是当然的选择
当强调传输性能而不是传输的完整性时,如:音频和多媒体应用,UDP是最好的选择。
4、? 程序运行结果
----Parent----
----Brother----
----Child-----
5、? JVM加载class的原理
jvm 把类的数据从class文件加载到内存,并对数据进行校验转换解析和初始化,最终形成可以被jvm直接使用的类型,这就是jvm的类加载机制.
类被加载到jvm内存中开始,到卸载出内存为止.它的整个生命周期包括了加载,验证,准备,解析,初始化,使用,卸载7个阶段.
在加载阶段jvm需要完成三件事情
?1,通过一个类的全限定名来获取定义此类的二进制字节流
?2,将这个字节流所代表的静态存储结构转换为方法区的运行时数据结构
?3,在java堆中生成一个代表这个类的java.lang.Class对象作为方法区这些数据的访问接口.
6、描述一个项目的过程、设计及选用技术的原因
?
3、? 根据条件判断A、B、C、D、E、F、G七兄弟姐妹那几个是男性、女性
BDG男
?
?
二分查找
public static int binarySearch(int[] srcArray, int des){??
?????
??????? int low = 0;??
??????? int high = srcArray.length-1;??
??????? while(low <= high) {??
??????????? int middle = (low + high)/2;??
??????????? if(des == srcArray[middle]) {??
??????????????? return middle;??
??????????? }else if(des <srcArray[middle]) {??
??????????????? high = middle - 1;??
??????????? }else {??
???????? ???????low = middle + 1;??
??????????? }?
??????? }?
??????? return -1;?
?? }?
接口抽象类区别
一个类可以有多个接口只能有继承一个父类
抽象类可以有构造方法,接口中不能有构造方法。
抽象类中可以有普通成员变量,接口中没有普通成员变量
接口里边全部方法都必须是abstract的抽象类的可以有实现了的方法
抽象类中的抽象方法的访问类型可以是public,protected?? 但接口中的抽象方法只能是public类型的,并且默认即为public abstract类型
抽象类中可以包含静态方法,接口中不能包含静态方法
抽象类和接口中都可以包含静态成员变量,抽象类中的静态成员变量的访问类型可以任意,但接口中定义的变量只能是public static final类型,并且默认即为public static final类型。
?