`
tk_zhang
  • 浏览: 233006 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

Java面试资料(震撼推荐)

    博客分类:
  • Java
阅读更多

<script>function StorePage(){d=document;t=d.selection?(d.selection.type!='None'?d.selection.createRange().text:''):(d.getSelection?d.getSelection():'');void(keyit=window.open('http://www.365key.com/storeit.aspx?t='+escape(d.title)+'&u='+escape(d.location.href)+'&c='+escape(t),'keyit','scrollbars=no,width=475,height=575,left=75,top=20,status=no,resizable=yes'));keyit.focus();}</script>

JSP方面
1、
forwardredirect的区别
答:forward是服务器请求资源,服务器直接访问目标地址的URL,把那个URL的响应内容读取过来,然后把这些内容再发给浏览器,浏览器根本不知道服务器发送的内容是从哪儿来的,所以它的地址栏中还是原来的地址。
redirect就是服务端根据逻辑,发送一个状态码,告诉浏览器重新去请求那个地址,一般来说浏览器会用刚才请求的所有参数重新请求,所以session,request参数都可以获取。
2、
jsp有哪些内置对象?作用分别是什么?
答:JSP共有以下9种基本内置组件(可与ASP6种内部组件相对应):
 request 对象表示一个HTTP请求

response
对象存储处理结果返回给用户的响应。
out 对象用于将内容写入JSP页面实例的输出流中
pageContext 对象描述某个JSP文档的运行环境,此外,它还实现将控制权从当前页面传输至其他页面的方法

session
对象在用户访问一个Web站点的多个页面时共享信息

application 对象存储运行文档的环境的有关信息

config 对象将Servlet配置数据以Servlet的初始化参数形式存储

page 对象表示JSP
网页本身
,更是Servlet类的实例,可以调用由Servlet类定义的任何方法
exception
针对错误网页,未捕捉的例外
,只适用于JSP错误页面
3、
jsp有哪些动作?作用分别是什么?
:JSP共有以下7种基本动作
jsp:include
:在页面被请求的时候引入一个文件。
jsp:useBean
它用来实例化JavaBean,或者定位一个已经存在的Bean实例,并且把它赋给一个变量名(或者id)。并给定一个具体的范围来确定对象的生命周期。

jsp:setProperty
:设置JavaBean的属性。

jsp:getProperty
:输出某个JavaBean的属性。

jsp:forward
:把请求转到一个新的页面。

jsp:plugin
:根据浏览器类型为Java插件生成OBJECTEMBED
标记
jsp:param:
为其他标签提供附加信息。
4、
JSP中动态INCLUDE与静态INCLUDE的区别?
答:动态INCLUDEjsp:include动作实现
<jsp:include page="included.jsp" flush="true" />
它总是会检查所含文件中的变化,适合用于包含动态页面,并且可以带参数
静态INCLUDEinclude伪码实现,定不会检查所含文件的变化,适用于包含静态页面
<%@ include file="included.htm" %>
5、
两种跳转方式分别是什么?有什么区别?
答:有两种,分别为:
<jsp:include page="included.jsp" flush="true">
<jsp:forward page= "nextpage.jsp"/>
前者页面不会转向include所指的页面,只是显示该页的结果,主页面还是原来的页面。执行完后还会回来,相当于函数调用。并且可以带参数.后者完全转向新页面,不会再回来。相当于go to 语句。


代码和编程
1、写一个Singleton出来
Singleton模式主要作用是保证在Java应用程序中,一个类Class只有一个实例存在。
一般Singleton模式通常有几种种形式:
第一种形式: 定义一个类,它的构造函数为private的,它有一个static的private的该类变量,在类初始化时实例话,通过一个public的getInstance方法获取对它的引用,继而调用其中的方法。


第二种形式:

<!--<br><br>Code highlighting produced by Actipro CodeHighlighter (freeware)<br>http://www.CodeHighlighter.com/<br><br>-->public class Singleton {
  private static Singleton instance = null;
  public static synchronized Singleton getInstance() {
  
//这个方法比上面有所改进,不用每次都进行生成对象,只是第一次     
  //使用时生成实例,提高了效率!

  if (instance==null)
    instance=new Singleton();
return instance;   }
}

其他形式:
定义一个类,它的构造函数为private的,所有方法为static的。
一般认为第一种形式要更加安全些

2、Java 的通信编程,编程题(或问答),用JAVA SOCKET编程,读服务器几个字符,再写入本地显示?
答:Server端程序:

<!--<br><br>Code highlighting produced by Actipro CodeHighlighter (freeware)<br>http://www.CodeHighlighter.com/<br><br>-->packagetest;
importjava.net.*
;
importjava.io.*
;

publicclass
Server
{
private
ServerSocketss;
private
Socketsocket;
private
BufferedReaderin;
private
PrintWriterout;
public
Server()
{
try

{
ss
=newServerSocket(10000);
while(true
)
{
socket
=
ss.accept();
StringRemoteIP
=
socket.getInetAddress().getHostAddress();
StringRemotePort
=":"+
socket.getLocalPort();
System.out.println(
"Aclientcomein!IP:"+RemoteIP+
RemotePort);
in
=newBufferedReader(new


InputStreamReader(socket.getInputStream()));
Stringline
=in.readLine();
System.out.println(
"Cleintsendis:"+
line);
out
=newPrintWriter(socket.getOutputStream(),true
);
out.println(
"YourMessageReceived!"
);
out.close();
in.close();
socket.close();
}
}
catch
(IOExceptione)
{
out.println(
"wrong"
);
}
}
publicstaticvoid
main(String[]args)
{
new
Server();
}
};

 

Client端程序:

<!--<br><br>Code highlighting produced by Actipro CodeHighlighter (freeware)<br>http://www.CodeHighlighter.com/<br><br>-->package test;

import java.io.*;

import java.net.*;

 

public class Client

{

Socket socket;

BufferedReader in;

PrintWriter out;

public Client()

{

try

{

System.out.println("Try to Connect to 127.0.0.1:10000");

socket = new Socket("127.0.0.1",10000);

System.out.println("The Server Connected!");

System.out.println("Please enter some Character:");

BufferedReader line = new BufferedReader(new

 

InputStreamReader(System.in));

out = new PrintWriter(socket.getOutputStream(),true);

out.println(line.readLine());

in = new BufferedReader(new InputStreamReader(socket.getInputStream()));

System.out.println(in.readLine());

out.close();

in.close();

socket.close();

}catch(IOException e)

{

out.println("Wrong");

}

}

public static void main(String[] args)

{

new Client();

}

};

 

 

3、JAVA实现一种排序,JAVA类实现序列化的方法(二种) 如在COLLECTION框架中,实现比较要实现什么样的接口?

:用插入法进行排序代码如下

<!--<br><br>Code highlighting produced by Actipro CodeHighlighter (freeware)<br>http://www.CodeHighlighter.com/<br><br>-->packagetest;
importjava.util.*
;
class
InsertSort
{
ArrayListal;
publicInsertSort(intnum,int
mod)
{
al
=new
ArrayList(num);
Randomrand
=new
Random();
System.out.println(
"TheArrayListSortBefore:"
);
for(inti=0;i<num;i++
)
{
al.add(
newInteger(Math.abs(rand.nextInt())%mod+1
));
System.out.println(
"al["+i+"]="+
al.get(i));
}
}
publicvoid
SortIt()
{
IntegertempInt;
intMaxSize=1
;
for(inti=1;i<al.size();i++
)
{
tempInt
=
(Integer)al.remove(i);
if(tempInt.intValue()>=((Integer)al.get(MaxSize-1
)).intValue())
{
al.add(MaxSize,tempInt);
MaxSize
++
;
System.out.println(al.toString());
}
else
{
for(intj=0;j<MaxSize;j++
)
{
if


(((Integer)al.get(j)).intValue()
>=tempInt.intValue())
{
al.add(j,tempInt);
MaxSize
++
;
System.out.println(al.toString());
break
;
}
}
}
}
System.out.println(
"TheArrayListSortAfter:"
);
for(inti=0;i<al.size();i++
)
{
System.out.println(
"al["+i+"]="+
al.get(i));
}
}
publicstaticvoid
main(String[]args)
{
InsertSortis
=newInsertSort(10,100
);
is.SortIt();
}
}

 

 

4、编程:编写一个截取字符串的函数,输入为一个字符串和字节数,输出为按字节截取的字符串。 但是要保证汉字不被截半个,如ABC”4,应该截为AB”,输入ABCDEF”6,应该输出为ABC”而不是ABC+汉的半个

答:代码如下:

<!--<br><br>Code highlighting produced by Actipro CodeHighlighter (freeware)<br>http://www.CodeHighlighter.com/<br><br>-->packagetest;

class
SplitString
{
StringSplitStr;
int
SplitByte;
publicSplitString(Stringstr,int
bytes)
{
SplitStr
=
str;
SplitByte
=
bytes;
System.out.println(
"TheStringis:'"+SplitStr+"';SplitBytes="+
SplitByte);
}
publicvoid
SplitIt()
{
int
loopCount;


loopCount
=(SplitStr.length()%SplitByte==0)?(SplitStr.length()/SplitByte):(SplitStr.length()/
Split

Byte
+1
);
System.out.println(
"WillSplitinto"+
loopCount);
for(inti=1;i<=loopCount;i++
)
{
if(i==
loopCount){


System.out.println(SplitStr.substring((i
-1)*
SplitByte,SplitStr.length()));
}
else
{


System.out.println(SplitStr.substring((i
-1)*SplitByte,(i*
SplitByte)));
}
}
}
publicstaticvoid
main(String[]args)
{
SplitStringss
=newSplitString("test中dd文dsaf中男大3443n中国43中国人


0ewldfls
=103",4);
ss.SplitIt();
}
}

 

 

5、可能会让你写一段JdbcOracle的程序,并实现数据查询.

:程序如下:

<!--<br><br>Code highlighting produced by Actipro CodeHighlighter (freeware)<br>http://www.CodeHighlighter.com/<br><br>-->packagehello.ant;
importjava.sql.*
;
publicclass
jdbc
{
StringdbUrl
="jdbc:oracle:thin:@127.0.0.1:1521:orcl"
;
StringtheUser
="admin"
;
StringthePw
="manager"
;
Connectionc
=null
;
Statementconn;
ResultSetrs
=null
;
public
jdbc()
{
try
{
Class.forName(
"oracle.jdbc.driver.OracleDriver"
).newInstance();
c
=
DriverManager.getConnection(dbUrl,theUser,thePw);
conn
=
c.createStatement();
}
catch
(Exceptione){
e.printStackTrace();
}
}
publicboolean
executeUpdate(Stringsql)
{
try

{
conn.executeUpdate(sql);
returntrue;
}
catch
(SQLExceptione)
{
e.printStackTrace();
returnfalse
;
}
}
public
ResultSetexecuteQuery(Stringsql)
{
rs
=null
;
try

{
rs
=conn.executeQuery(sql);
}
catch
(SQLExceptione)
{
e.printStackTrace();
}
return
rs;
}
publicvoid
close()
{
try

{
conn.close();
c.close();
}
catch(Exceptione)
{
e.printStackTrace();
}
}
publicstaticvoid
main(String[]args)
{
ResultSetrs;
jdbcconn
=new
jdbc();
rs
=conn.executeQuery("select*fromtest"
);
try
{
while
(rs.next())
{
System.out.println(rs.getString(
"id"
));
System.out.println(rs.getString(
"name"
));
}
}
catch
(Exceptione)
{
e.printStackTrace();
}
}
}

 

 

6、jdom解析xml文件时如何解决中文问题?如何解析?

:看如下代码,用编码方式加以解决

<!--<br><br>Code highlighting produced by Actipro CodeHighlighter (freeware)<br>http://www.CodeHighlighter.com/<br><br>-->packagetest;
importjava.io.*
;
publicclass
DOMTest
{
privateStringinFile="c:\\people.xml"
;
privateStringoutFile="c:\\people.xml"
;
publicstaticvoid
main(Stringargs[])
{
new
DOMTest();
}
public
DOMTest()
{
try

{
javax.xml.parsers.DocumentBuilderbuilder
=


javax.xml.parsers.DocumentBuilderFactory.newInstance().newDocumentBuilder();
org.w3c.dom.Documentdoc
=builder.newDocument();
org.w3c.dom.Elementroot
=doc.createElement("老师"
);
org.w3c.dom.Elementwang
=doc.createElement(""
);
org.w3c.dom.Elementliu
=doc.createElement(""
);
wang.appendChild(doc.createTextNode(
"我是王老师"
));
root.appendChild(wang);
doc.appendChild(root);
javax.xml.transform.Transformertransformer
=

javax.xml.transform.TransformerFactory.newInstance().newTransformer();
transformer.setOutputProperty(javax.xml.transform.OutputKeys.ENCODING,
"gb2312");
transformer.setOutputProperty(javax.xml.transform.OutputKeys.INDENT,
"yes"
);


transformer.transform(
new
javax.xml.transform.dom.DOMSource(doc),
new


javax.xml.transform.stream.StreamResult(outFile));
}
catch(Exceptione)
{
System.out.println(e.getMessage());
}
}
}

 

 

7、将一个键盘输入的数字转化成中文输出

(例如:输入:1234567输出:一百二拾三万四千五百六拾七)
用java语言实现,,请编一段程序实现!

 

8、如何校验数字型?

 

<!--<br><br>Code highlighting produced by Actipro CodeHighlighter (freeware)<br>http://www.CodeHighlighter.com/<br><br>-->publicclassReader{
private
StringstrNum;
private
StringstrNumChFormat;
private
StringstrNumTemp;
privateint
intNumLen;
private
StringstrBegin;
public
Reader(StringstrNum){
this.strNum=
strNum;
}
publicboolean
check(StringstrNum){
booleanvalid=false
;

if(strNum.substring(0,1).equals("0"
)){
this.strNum=strNum.substring(1
);
}
try
{
new
Double(strNum);
valid
=true
;
}
catch
(NumberFormatExceptionex){
System.out.println(
"Badnumberformat!"
);
}
return
valid;
}
publicvoid
init(){
strNumChFormat
=""
;
intNumLen
=
strNum.length();
strNumTemp
=
strNum;
strNumTemp
=strNumTemp.replace('1',''
);
strNumTemp
=strNumTemp.replace('2',''
);
strNumTemp
=strNumTemp.replace('3',''
);
strNumTemp
=strNumTemp.replace('4',''
);
strNumTemp
=strNumTemp.replace('5',''
);
strNumTemp
=strNumTemp.replace('6',''
);
strNumTemp
=strNumTemp.replace('7',''
);
strNumTemp
=strNumTemp.replace('8',''
);
strNumTemp
=strNumTemp.replace('9',''
);
分享到:
评论

相关推荐

    JAVA面试资料JAVA面试资料 JAVA面试资料 JAVA面试资料

    JAVA面试资料JAVA面试资料 JAVA面试资料 JAVA面试资料 JAVA面试资料 JAVA面试资料 JAVA面试资料 JAVA面试资料 JAVA面试资料 JAVA面试资料 JAVA面试资料 JAVA面试资料 JAVA面试资料 JAVA面试资料 JAVA面试资料 JAVA...

    面试资料,JAVA面试资料

    面试资料,JAVA面试资料 面试资料,JAVA面试资料 面试资料,JAVA面试资料 面试资料,JAVA面试资料 面试资料,JAVA面试资料 面试资料,JAVA面试资料 面试资料,JAVA面试资料 面试资料,JAVA面试资料

    java面试资料java面试题集java笔试题汇总资料

    java面试资料java面试题集java笔试题汇总资料,java面试资料java面试题集java笔试题汇总资料,java面试资料java面试题集java笔试题汇总资料,包括基础面试题、JavaWeb面试题、JAVA面试题集.txt、分布式相关面试题...

    Java面试资料(阿里内部资料).pdf

    Java面试资料(阿里内部资料).pdf

    2023黑马面试宝典-Java面试宝典大全-java面试宝典黑马

    Java面试宝典是Java程序员求职面试的重要参考资料,它涵盖了Java编程语言的核心概念、高级特性、设计模式、并发处理、框架应用、数据库交互等多个方面。以下将详细解析这些关键知识点: 1. **Java基础**:面试中,...

    java面试宝典2018版

    《Java面试宝典2018版》是针对Java开发者准备面试的重要参考资料,它涵盖了Java编程语言、Java虚拟机(JVM)、并发编程、框架、设计模式等多个关键领域的重要知识点。这本书旨在帮助Java程序员深入理解技术原理,...

    Java面试题合集最新版2024.zip

    Java面试通常涵盖多个方面,包括Java基础知识、编程技能、问题解决能力,以及对Java生态系统和相关技术的理解。以下是一些建议的Java面试准备要点和资源描述: 一、Java基础知识 数据类型、变量与运算符:理解Java...

    java面试资料积累,经验分享.zip

    这份"java面试资料积累,经验分享.zip"压缩包显然是一份宝贵的资源,包含了作者在面试过程中遇到的各类Java问题和经验总结,对于想要深入学习Java或者正在准备Java面试的人来说,无疑是宝贵的参考资料。 一、基础...

    JAVA后端详细面试资料

    包括 Dubbo、Java基础、并发、集合、BIO,NIO,AIO,Netty、ElastSerarch、JVM、Linux、Mybatis、kafka、MySQL、Redis、RabbitMQ、Spring系列、设计模式、计算机网络等等详细面试题

    2024最强Java面试八股文

    这份资料旨在帮助求职者系统地复习和掌握Java及相关技术的核心知识点,从而在面试中取得更好的成绩。 该资源不仅适用于校招,也适用于社招。无论您是一名即将毕业的学生还是已经有一定工作经验的开发者,都可以通过...

    Java面试汇总.pdf+总结全面+八股文

    发现网上很多Java面试题都没有答案,所以花了很长时间搜集整理出来了这套Java面试题大全,希望对大家有帮助哈~博主已将这些面试题整理到一个网站上,每天更新 Java 面试题,目前有 1万多道 Java 高频面试题。...

    JAVA面试资料

    这份"JAVA面试资料"涵盖了核心的Java知识、MyBatis框架以及Spring框架的相关面试问题,为准备Java程序员面试的求职者提供了全面的参考资料。下面我们将深入探讨这些知识点。 首先,Java基础知识是面试的基石。这...

    Java面试题2022

    在准备2022年的Java面试时,了解和掌握关键知识点是至关重要的。Java作为一款广泛应用的后端开发语言,其面试通常会涵盖基础语法、面向对象编程、集合框架、多线程、JVM内存管理、数据库交互以及开源框架等方面。...

    Java面试宝典合集-八股文-自我介绍-案例

    多年积攒的Java面试资源,非常全面,毕业生如果静下心啃透这些资料,找找工作如探囊取物:愿每一位java学弟,毕业就找到自己心仪的工作!加油!!! [精选视频教学]直击面试系列_破解Java面试题wmv 10万字总结.pdf ...

    面试通关:史上最全的Java面试题合集文件大小92M包含56个pdf.zip

    1、01Java面试题、面经.pdf 2、 并发编程面试专题.pdf 3、 并发面试题.pdf 4、 多线程,高并发.pdf 5、 多线程面试59题(含答案).pdf 6、 集合框架.pdf 7、 面试必备之乐观锁与悲观锁.pdf 8、 设计模式面试专题.pdf...

    2017java面试题

    "2017java面试题"这个压缩包文件提供了丰富的资源,帮助Java开发者准备面试,深化对Java开发的理解。 文档"Java面试宝典2017.doc"可能包含了以下核心Java知识点: 1. **基础语法**:这包括变量、数据类型、运算符...

    java面试必备手册.pdf

    java面试必备手册

    Java面试宝典2017.pdf

    Java面试宝典2017

    java面试八股文各类面试题

    在准备Java面试时,了解和掌握一系列核心知识点是至关重要的。以下是一些基于标题和描述中的关键...阅读提供的PDF资料,如"Java并发编程面试题八股文.pdf"和"Spring面试题八股文.pdf",将有助于巩固和扩展这些知识。

    《JAVA面试题》--JAVA 黑马程序员 面试宝典全学科.zip

    十余年JAVA从业经验,精通JAVA技术体系,有志于做JAVA技能提升的朋友可与我联系,交个朋友 十余年JAVA从业经验,精通JAVA技术体系,有志于做JAVA技能提升的朋友可与我联系,交个朋友 十余年JAVA从业经验,精通JAVA...

Global site tag (gtag.js) - Google Analytics