面试集锦
zengshaotao
大道至简,未来可期
展开
-
前台接收后台返回流
很多时候,我们需要前台接收后台返回的流,比如图片。当然,因为不同的开发插件,可能会有不同的方式,这里我介绍自己用到的struts2的开发展示方式: 首先,struts配置文件的内容: <action name="chart" class="com.jnkj.action.ChartGenAction">//这里的type是stream,流 ...2014-06-08 22:49:37 · 2147 阅读 · 0 评论 -
classloader
作者longdick http://longdick.iteye.comjava应用环境中不同的class分别由不同的ClassLoader负责加载。一个jvm中默认的classloader有Bootstrap ClassLoader、Extension ClassLoader、App ClassLoader,分别各司其职:Bootstrap ClassLoader ...原创 2014-03-13 15:56:06 · 74 阅读 · 0 评论 -
oracle scn recovery data
今天测试下了oracle在删除表的数据后的恢复方法。在oracle生产系统的维护测试中有一张表,将里面的数据delete并commit了,由于业务不能中断(数据库不能停机),并且系统还在不断有数据往该表中写入。现在需要将之前delete掉的数据恢复,可以使用基于scn的恢复。在删除之前,最好查询到数据库当前的scn,恢复的时候就采用基于这个scn点的恢复。example:...原创 2014-03-13 16:08:36 · 126 阅读 · 0 评论 -
oracle 优化设计
本文主要从大型数据库ORACLE环境四个不同级别的调整分析入手,分析ORACLE的系统结构和工作机理,从九个不同方面较全面地总结了ORACLE数据库的优化调整方案。 关键词 ORACLE数据库 环境调整 优化设计 方案 对于ORACLE数据库的数据存取,主要有四个不同的调整级别,第一级调整是操作系统级包括硬件平台,第二级调整是ORACLE RDBMS级的调整, 第三...原创 2014-03-13 16:17:22 · 210 阅读 · 0 评论 -
几种通讯协议的比较(zhuan)
一、综述本文比较了RMI,Hessian,Burlap,Httpinvoker,web service等5种通讯协议的在不同的数据结构和不同数据量时的传输性能。RMI是java语言本身提供的远程通讯协议,稳定高效,是EJB的基础。但它只能用于JAVA程序之间的通讯。Hessian和Burlap是caucho公司提供的开源协议,基于HTTP传输,服务端不用开防火墙端口。协议的规范公开,可...原创 2014-03-13 17:28:21 · 179 阅读 · 0 评论 -
重写,异常
重写方法,需抛出与被重写方法一致的异常,或者不抛出异常2014-03-16 13:00:03 · 118 阅读 · 0 评论 -
equals,hashcode
一、equals方法的作用 1、默认情况(没有覆盖equals方法)下equals方法都是调用Object类的equals方法,而Object的equals方法主要用于判断对象的内存地址引用是不是同一个地址(是不是同一个对象)。2 、要是类中覆盖了equals方法,那么就要根据具体的代码来确定equals方法的作用了,覆盖后一般都是通过对象的内容是否相等来判断对象是否相等。...原创 2014-03-17 10:00:00 · 82 阅读 · 0 评论 -
面试基本点
String str="abcdg";这里是一个字符串,里面的内容是一个个char,但是str不是一个char数组,故char a=str[0];这句话是不能通过编译的。因为毕竟不是一个数据,所以没有length属性,只有length()。java是解释执行的,不是编译执行的。java在执行算术运算时会进行类型的提升,防止出现精度丢失。比如int 和byte相加减时结果是i...2014-03-17 10:24:33 · 89 阅读 · 0 评论 -
面试基本点
concat是String方法,String重载了“+”操作符(提醒下:Java不支持其他操作符的重载)。 concat源码: public String concat(String str) { int otherLen = str.length(); if (otherLen == 0) { return this; ...2014-03-17 10:39:51 · 103 阅读 · 0 评论 -
负载均衡技术
当前,业务量的发展超出了过去最乐观的估计,即使按照最优配置建设的网络,也会感到吃力。尤其是各个网络的核心部分,其数据流量和计算强度之大, 使得单一设备根本无法承担,而如何在完成同样功能的多个网络设备之间实现合理的业务 量分配,使之不致于出现一台设备过忙、而别的设备却未充分发挥处理能力的情况,就成了一个问题,负载均衡机制也因此应运而生。 负载均衡建立在现有网络结构之上,它提供了一种廉...原创 2014-03-08 15:28:54 · 82 阅读 · 0 评论 -
集群并发
返回值不能作为判断重载的条件所以条件就是,方法名相同,但是参数不一样,包括个数和类型。线程并发的控制,只能在单台jvm上。对于并发问题,特别是集群的环境下,操作数据库,就得设置好数据库的隔离级别。。...2014-02-28 21:32:21 · 193 阅读 · 0 评论 -
Hibernate,Mybatis优缺点
1.优点 简单: 易于学习,易于使用,通过文档和源代码,可以比较完全的掌握它的设计思路和实现。 实用: 提供了数据映射功能,提供了对底层数据访问的封装(例如ado.net),提供了dao框架,可以使我们更容易的开发和配置我们的dal层。 灵活: 通过sql基本上可以实现我们不使用数据访问框架可以实现的所有功能,或许更...原创 2014-02-25 22:46:52 · 120 阅读 · 0 评论 -
having
1.如何只显示重复数据,或不显示重复数据 显示重复:select * from tablename group by id having count(*)>1 不显示重复:select * from tablename group by id having count(*)=1...2014-02-13 21:28:59 · 101 阅读 · 0 评论 -
rownum
存在表T(a,b,c,d),要根据字段c排序后取第21—30条记录显示,请给出sql SELECT * FROM (SELECT ROWNUM AS row_num, tmp_tab.* FROM (SELECT a, b, c, d FROM T ...原创 2014-02-14 22:48:42 · 104 阅读 · 0 评论 -
mins
create table test1 ( name varchar(10), sex varchar(10), age int ); insert into test1 values('luxin','female',25); insert into test1 values('tom','female',26); insert into test1 values('mary1','m...原创 2014-02-15 14:34:20 · 126 阅读 · 0 评论 -
final
final方法将方法声明为final,那就说明你已经知道这个方法提供的功能已经满足你要求,不需要进行扩展,并且也不允许任何从此类继承的类来覆写这个方法,但是继承仍然可以继承这个方法,也就是说可以直接使用。另外有一种被称为inline的机制,它会使你在调用final方法时,直接将方法主体插入到调用处,而不是进行例行的方法调用,例如保存断点,压栈等,这样可能会使你的程序效率有所提高,然而当你的方法主体...原创 2014-02-21 22:23:54 · 84 阅读 · 0 评论 -
AIX上oracle的安装一
因为开发环境一般都是windows,然后发布环境是unix或者linux,或者其他,所以最终项目发布时都要经过一番的折腾。 项目上最近需要环境的全新部署,还是挺新鲜的,以前虽然接触的项目多,但是项目上线环境的构建还是比较少的,实际的操作更是没有。所以这次的部署还是出现了不少的问题,值得庆幸的,所有的问题还是解决了,虽然有些问题有些简单,有些花的时间比较长。比如安装oracle的时候,因为...2014-07-18 22:52:37 · 272 阅读 · 0 评论 -
AIX上oracle的安装二
硬盘上安装任何东西都是需要空间的,所以在系统登陆后需要建立相应的vg和lv。所谓的vg,就是AIX中最大的存储单位,一个卷组由一组物理硬盘组成,也就是由一个或多个物理卷组成,而PV 物理卷,就是普通的直接访问的存储设备,有固定的和可移动的之分,代表性的就是硬盘。通过在命令行使用 smit mkvg的命令,在选项中中进行vg的添加。这里需要知道的是PP的概念。pp 物理分区:是把物理卷划分成连...2014-07-20 14:15:00 · 222 阅读 · 0 评论 -
去除重复项
假定一个txt文件,内容是45.44,66.7847.67,69.12......内容有重复的,数据项是坐标项。处理方法:对于数据内容,定义如下实体类:public class Point { private double x; private double y; public double getX() {...2014-02-24 09:56:58 · 117 阅读 · 0 评论 -
架构设计
一,不要过设计:never over design这是一个常常被提及的话题,但是只要想想你的架构里有多少功能是根本没有用到,或者最后废弃的,就能明白其重要性了,初涉架构设计,往往倾向于设计大而化一的架构,希望设计出具有无比扩展性,能适应一切需求的增加架构,web开发领域是个非常动态的过程,我们很难预测下个星期的变化,而又需要对变化做出最快最有效的响应。。ebay的工程师说过,他们的...原创 2014-02-25 22:19:31 · 95 阅读 · 0 评论 -
面试基本点
字节码文件也就是class文件,一个class声明的就有一个字节码文件。对于抽象类,里面可以有非抽象方法,故可以执行,又该方法必须依附于对象,所以abstract不能修饰构造方法,因为修饰之后默认的构造方法被覆盖,也就是抽象类本身不能实例化,方法也就不能条用,与前面描述就矛盾了。abstract class abT{//前面加abstract关键字修饰时就出现编译错误的提示 pub...2014-03-17 11:21:50 · 71 阅读 · 0 评论 -
session存储方式
final声明的方法不能被重写,但是可以被重载,重载的各个方法是对象的不同入口。java运行时系统退出之后,后面的语句都不在执行,包括finally语句,return语句。皮之不在,毛将焉附。1、Session的存储方式。 session其实分为客户端Session和服务器端Session。 当用户首次与Web服务器建立连接的时候,服务器会给用户分发一个 Sessi...原创 2014-03-17 13:09:12 · 165 阅读 · 0 评论 -
javaGC机制
回收机制就是当一些资源被创建使用之后或不在调用的话 就会变成垃圾,垃圾的话会占用空间,这时候就需要释放空间给其他程序使用,所以JAVA拥有自动垃圾回收机制,会在适当的时候自动调用垃圾回收 释放资源,程序员也可以手动调用释放资源对于 GC 来说,当程序员创建对象时,GC 就开始监控这个对象的地址、大小以及使用情况。 通常,GC 采用有向图的方式记录和管理堆(heap) 中的所有对象。通...原创 2014-03-18 11:26:34 · 143 阅读 · 0 评论 -
java高效编程(节约内存)
从理论上来讲Java做的系统并不比其他语言开发出来的系统更占用内存,那么为什么却有这么多理由来证明它确实占内存呢?两个字,陋习。 1、别用new Boolean()。 在很多场景中Boolean类型是必须的,比如JDBC中boolean类型的set与get都是通过Boolean封装传递的,大部分ORM也是用Boolean来封装boolean类型的,比如: 以下是引用片段: ps.set...原创 2014-03-24 13:26:12 · 181 阅读 · 0 评论 -
java英文面试(口语)
1.Tell me a little about yourself? I am holding a master degree in software science and has 2-year work experience in software development. I have used J2EE technology for 2 years,including Jsp,ser...原创 2014-03-24 13:26:32 · 1133 阅读 · 0 评论 -
大数据的list去除重复项
对于list里面的数据,假定是int,然后量比较大,如果使用双层的循环来去除重复项,性能不佳。一个比较好的方法,就是将list的数据添加到set里,set会自动除去重复的数据项,也就是重复的数据只能添加一次。操作之后set的数据就是list里去除重复后的数据。 ...2014-04-24 21:17:07 · 423 阅读 · 0 评论 -
servlet/filter/listener/interceptor区别与联系
servlet/filter/listener/interceptor区别与联系 一、概念: 1、servlet:servlet是一种运行服务器端的java应用程序,具有独立于平台和协议的特性,并且可以动态的生成web页面,它工作在客户端请求与服务器响应的中间层。最早支持 Servlet 技术的是 JavaSoft 的 Java Web Server。此后,一些...原创 2017-03-29 21:47:41 · 82 阅读 · 0 评论 -
java中Filter、Servlet、Listener的学习
1、Filter的功能filter功能,它使用户可以改变一个 request和修改一个response. Filter 不是一个servlet,它不能产生一个response,它能够在一个request到达servlet之前预处理request,也可以在离开 servlet时处理response.换种说法,filter其实是一个”servlet chaining”(servlet 链).一个...原创 2017-03-29 21:52:18 · 114 阅读 · 0 评论 -
高并发,线程池
1.高并发的内容 Zookeeper 分布式服务框架是 Apache Hadoop 的一个子项目,它主要是用来解决分布式应用中经常遇到的一些数据管理问题,如:统一命名服务、状态同步服务、集群管理、分布式应用配置项的管理等。本文将从使用者角度详细介绍 Zookeeper 的安装和配置文件中各个配置项的意义,以及分析 Zookeeper 的典型的应用场景(配置文件的管理、集群管理、同...2017-03-29 21:52:58 · 193 阅读 · 0 评论 -
JMS实例
1. JMS架构 Java 消息服务(Java Message Service,简称JMS)是用于访问企业消息系统的开发商中立的API。企业消息系统可以协助应用软件通过网络进行消息交互。JMS 在其中扮演的角色与JDBC 很相似,正如JDBC 提供了一套用于访问各种不同关系数据库的公共API,JMS 也提供了独立于特定厂商的企业消息系统访问方式。使用JMS 的应用程序被称为JMS ...原创 2017-08-21 15:40:40 · 146 阅读 · 0 评论 -
java中类的加载顺序介绍(ClassLoader)
1、ClassNotFoundExcetpion 我们在开发中,经常可以遇见java.lang.ClassNotFoundExcetpion这个异常,今天我就来总结一下这个问题。对于这个异常,它实质涉及到了java技术体系中的类加载。Java的类加载机制是技术体系中比较核心的部分,虽然它和我们直接打交道不多,但是对其背后的机理有一定理解有助于我们排查程序中出现的类加载失败等技术问题。 2、类...原创 2017-11-14 11:41:36 · 132 阅读 · 0 评论 -
stringbuffer equals
StringBuffer类没有重写Object里面的equals()的方法,所以直接用equals()比较的是地址判断两个StringBuffer对象是否值相等,用toString()方法就可以了如: StringBuffer sb1 = new StringBuffer("hello"); StringBuffer sb2 = new StringBuffer("...原创 2014-03-24 13:25:24 · 342 阅读 · 0 评论 -
关系数据库采用的数据结构
关系数据库采用的数据结构是什么?二叉树吗?关系模型的具体存储方式: (1)数值存储方式 地理实体以数值存储模型存放时,空间数据存储在几何表中,特征表的几何列存储指向几何表的指针。每一个地理实体的空间数据由一系列坐标对来描述,其坐标值用数值类型来存储。如果坐标对数超过了几何表中的定长坐标对数时,就分行存储。 (2)二进制存储方式 地理实体的空间数据以二进制形式(BLOB)...原创 2014-03-23 00:02:33 · 1302 阅读 · 0 评论 -
索引的优缺点
为什么要创建索引呢?这是因为,创建索引可以大大提高系统的性能。第一,通过创建唯一性索引,可以保证数据库表中每一行数据的唯一性。第二,可以大大加快数据的检索速度,这也是创建索引的最主要的原因。第三,可以加速表和表之间的连接,特别是在实现数据的参考完整性方面特别有意义。第四,在使用分组和排序子句进行数据检索时,同样可以显著减少查询中分组和排序的时间。第五,通过使用索引,可以在查询的过程...原创 2014-03-23 00:02:00 · 81 阅读 · 0 评论 -
Arrays.asList,for hashmap
import java.util.Arrays;import java.util.HashMap;import java.util.Iterator;import java.util.List;import java.util.Map;import java.util.Set;public class StringFinal { public static vo...2014-03-18 16:41:50 · 459 阅读 · 0 评论 -
两台linux服务器 cp文件
上传scp -r [dir] root@IP:[dir]下载scp -r root@IP:[dir] /[dir]scp 命令是 SSH 中最方便有用的命令了,试想,在两台服务器之间直接传送文件,仅仅用 scp 一个命令就完全解决了。你可以在一台服务器上以 root 身份运行 #scp servername:/home/ftp/pub/file1 ./ 这样就把另一...原创 2014-03-18 21:52:12 · 1021 阅读 · 0 评论 -
session工作机制解析
摘要:虽然session机制在web应用程序中被采用已经很长时间了,但是仍然有很多人不清楚session机制的本质,以至不能正确的应用这一技术。本文将详细讨论session的工作机制并且对在Java web application中应用session机制时常见的问题作出解答。目录:一、术语session二、HTTP协议与状态保持三、理解cookie机制四、理解session...原创 2014-03-18 21:53:30 · 170 阅读 · 0 评论 -
spring技术内幕
session是针对单个会话来使用的,主要存储和当前会话相关的上下文信息,比如登录信息,用户操作权限等等。cache是应用程序级的,主要用来缓存计算结果,减轻服务器负担,并加快响应速度。spring的初始化过程:根据web.xml里面的listener,加载业务bean的配置文件,将配置的形式进行注册(按照spring定义的元数据的形式),最终由BeanFactory工厂的实现类进...原创 2014-03-18 21:54:35 · 103 阅读 · 0 评论 -
equals hashcode(转)
想要明白hashCode的作用,你必须要先知道Java中的集合。 总的来说,Java中的集合(Collection)有两类,一类是List,再有一类是Set。前者集合内的元素是有序的,元素可以重复;后者元素无序,但元素不可重复。可两个元素是否重复应该依据什么来判断呢?这就是Object.equals方法了。但是,如果每增加一个元素就检查一次,那么当元素很多时,后添加到集合中的元素比较的次数就非常...原创 2014-03-19 10:02:16 · 86 阅读 · 0 评论 -
JQuery高性能优化
使用JQuery时,你可以使用多种选择器,选择同一个元素,各种方法之间的性能是不一样的,有时候差异会特别大。 通常比较常用的选择器有以下几个: ID选择器 $("#id") 标签选择器 $("td") 类选择器 $(".target") 属性选择器 $("td[target='target']") 伪类选择器 $("td:hidden") 根据经验,我们应该知道这5种选择器的性能是依次下降的 测...原创 2014-03-19 21:35:44 · 182 阅读 · 0 评论