java基础

一、
hashMap和hashTable的区别
hashMap是新的类。采用异步处理的方式,性能较高,允许键值为null,但是非线程安全(是否是单例,单例则不安全)
hashTable是同步的,是线程安全的

二、
JAVA面向对象的特征
抽象:包括过程抽象和数据抽象两个方面。抽象就是忽略一个主题中与当前目标无关的其它方面。
继承:新类派生的过程就是类继承(派生类即子类,基类即父类)。继承是一种联结类的层次模型。
封装:把过程和数据包围起来,对数据的访问只能通过已定义的界面。
多态性:允许不同类的对象对同一消息作出响应。包含参数化多态性和包含多态性。多态性语言具有灵活,抽象,行为共享,代码共享的优势,很好的解决了应用程序函数同名的问题。

三、
String,StringBuffer,StringBuilder的区别
String字符串常量,StringBuffer字符串变量(线程安全),StringBuilder字符串变量(非线程安全)。都是java.lang的包下
String是引用数据类型(类,接口,数组),它是final类型的不可以被继承和修改,String b="a"+"b"+"c";在编译时变为String b="abc"(即class文件中的代码变为String b="abc"),String t=b;没有创建对象,String h=t+"abc";编译时创建了一个(常量池中存在时便不会创建),执行时new了一个StringBuilder对象以append的形式追加了"abc"
StringBuffer类似于字符串缓冲区,在进行字符串处理时不生成新的字符串对象,初始化时需要new关键字,常用方法,append,deleteCharAt,insert,reverse,setCharAt,trimToSize(将stringbuffer中的存储空间长度缩小到和字符串一样的长度)
StringBuilder和StringBuffer差不多,只不过StirngBuilder不是同步的,非线程安全,对于单个线程推荐使用。

四、抽象类和接口
抽象类:声明方法的存在而不去实现它的类。它的子类需要为它的父类的所有抽象方法提共实现,否则它也是抽象类。
接口:抽象类的变体。在接口中所有的方法都是抽象的,没有一个有程序体。接口只可以定义static final成员变量

五、JSP中的动态INCLUDE和静态INCLUDE
动态:<jsp:include page="include.jsp" flush="true" />检查所含文件的变化,可以带参数,适用于包含动态页面
静态:<%@ include file="include.html" %>

六、String s=new String("xyz")创建了几个String对象
两个,new 是运行时在堆中创建的对象,常量"xyz"是在编译时创建了对象并将其放在常量池中

七、数据连接池的工作机制
J2EE服务器启动时会建立一定数量的池连接,并一直维持不少于此数目的池连接。客户端程序需要连接时,池驱动程序会返回一个未使用的池连接并将其标记为忙。如果当前没有空闲连接,池驱动程序就会新建一定数量的连接,新建连接的数量由配置参数决定。当使用的池连接调用完成后,池驱动程序将此连接标记为空闲,其它调用就可以使用这个连接。

八、垃圾回收机制的原理(说两种)和优点
优点:
编写程序时不需要考虑内存管理,可以有效的防止内存泄露
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值