자바 면접 자료 (1)
1. 역할 영역 Public, private, proctected, 그리고 쓰 지 않 을 때의 차이
답: 차 이 는 다음 과 같다.
역할 영역
현재 클래스
동일 패키지
자손 류
기타 패키지
public
√
√
√
√
protected
√
√
√
×
friendly
√
√
×
×
private
√
×
×
×
쓰 지 않 을 때 기본 값 은 friendly
2. Array List 와 Vector 의 차이, HashMap 과 Hashtable 의 차이
답: Array List 와 Vector 는 주로 두 가지 측면 에서 볼 때.
3. char 형 변수 에 중국어 한 자 를 저장 할 수 있 습 니까?왜?
답: 중국어 로 정의 할 수 있 습 니 다. 자바 에 서 는 유 니 코드 로 인 코딩 되 어 있 으 며, 하나의 char 는 16 개의 바이트 를 차지 하기 때문에...
중국어 하나 틀 어도 돼 요.
4. 다 중 스 레 드 는 몇 가지 실현 방법 이 있 는데 모두 무엇 입 니까?동기 화 에는 몇 가지 실현 방법 이 있 는데, 모두 무엇 입 니까?
답: 다 중 스 레 드 는 두 가지 실현 방법 이 있 는데 그것 이 바로 Thread 류 를 계승 하고 Runnable 인 터 페 이 스 를 실현 하 는 것 이다.
동기 화 실현 에는 두 가지 가 있 는데 그것 이 바로 synchronized, wait 와 notify 이다.
5. 상속 시 클래스 의 집행 순서 문 제 는 보통 선택 문제 입 니 다. 무엇 을 출력 하 시 겠 습 니까?
답: 부류:
package test;
public class FatherClass
{
public FatherClass()
{
System.out.println("FatherClass Create");
}
}
하위 클래스:
package test;
import test.FatherClass;
public class ChildClass extends FatherClass
{
public ChildClass()
{
System.out.println("ChildClass Create");
}
public static void main(String[] args)
{
FatherClass fc = new FatherClass();
ChildClass cc = new ChildClass();
}
}
출력 결과:
C:\>java test.ChildClass
FatherClass Create
FatherClass Create
ChildClass Create
6. 내부 류 의 실현 방식 은?
답: 예시 코드 는 다음 과 같다.
package test;
public class OuterClass
{
private class InterClass
{
public InterClass()
{
System.out.println("InterClass Create");
}
}
public OuterClass()
{
InterClass ic = new InterClass();
System.out.println("OuterClass Create");
}
public static void main(String[] args)
{
OuterClass oc = new OuterClass();
}
}
출력 결과:
C:\>java test/OuterClass
InterClass Create
OuterClass Create
또 하나의 예제:
public class OuterClass {
private double d1 = 1.0;
//insert code here
}
You need to insert an inner class declaration at line 3. Which two inner class declarations are
valid?(Choose two.)
A. class InnerOne{
public static double methoda() {return d1;}
}
B. public class InnerOne{
static double methoda() {return d1;}
}
C. private class InnerOne{
double methoda() {return d1;}
}
D. static class InnerOne{
protected double methoda() {return d1;}
}
E. abstract class InnerOne{
public abstract double methoda();
}
설명 은 다음 과 같다.
1. 정적 내부 클래스 는 정적 구성원 이 있 을 수 있 지만 정적 내부 클래스 가 아 닌 정적 구성원 이 있 을 수 없습니다. 그러므로 A, B 오류
2. 정적 내부 클래스 의 비정 상 구성원 은 외부 클래스 의 정적 변 수 를 방문 할 수 있 으 며 외부 클래스 의 비정 상 변 수 를 방문 할 수 없습니다. return d1 오류 가 발생 했 습 니 다.
그러므로 D 잘못
3. 비정 상 내부 클래스 의 비정 상 구성원 은 외부 클래스 의 비정 상 변 수 를 방문 할 수 있 습 니 다. 그러므로 C 가 정확 합 니 다.
4. 정 답 은 C, E 입 니 다.
7. float 형 float f = 3.4 가 정확 합 니까?
답: 정확 하지 않 습 니 다. 정밀도 가 정확 하지 않 으 면 강제 유형 으로 전환 해 야 합 니 다. 다음 과 같 습 니 다. float f = (float) 3.4
8. JAVA 의 Collection FrameWork (자신의 데이터 구 조 를 어떻게 쓰 는 지 포함) 를 소개 합 니까?
답: Collection FrameWork 는 다음 과 같다.
Collection
├List
│├LinkedList
│├ArrayList
│└Vector
│ └Stack
└Set
Map
├Hashtable
├HashMap
└WeakHashMap
Collection 은 가장 기본 적 인 집합 인터페이스 로 하나의 Collection 은 Object, 즉 Collection 의 요소 (Elements) 를 대표 합 니 다.
Map 은 key 에서 value 까지 의 맵 을 제공 합 니 다.
9. 추상 류 와 인터페이스?
답: 추상 류 와 인 터 페 이 스 는 모두 추상 화 에 사용 되 지만 추상 류 (JAVA 에서) 는 자신의 부분 을 실현 할 수 있 고 인 터 페 이 스 는 하나의 표지 (동시에 다 중 계승 기능) 이다.
10. JAVA 로 순 위 를 정 하고 JAVA 류 를 서열 화 하 는 방법 (두 가지)? 예 를 들 어 COLLECTION 프레임 워 크 에서 비 교 를 실현 하려 면 어떤 인 터 페 이 스 를 실현 해 야 합 니까?
답: 삽입 법 으로 정렬 코드 는 다음 과 같다.
package test;
import java.util.*;
class InsertSort
{
ArrayList al;
public InsertSort(int num,int mod)
{
al = new ArrayList(num);
Random rand = new Random();
System.out.println("The ArrayList Sort Before:");
for (int i=0;i=((Integer)al.get(MaxSize-1)).intValue())
{
al.add(MaxSize,tempInt);
MaxSize++;
System.out.println(al.toString());
} else {
for (int j=0;j=tempInt.intValue())
{
al.add(j,tempInt);
MaxSize++;
System.out.println(al.toString());
break;
}
}
}
}
System.out.println("The ArrayList Sort After:");
for(int i=0;i
JAVA java.io.Serializable
Collection Comparable Comparator
11、STRING STRINGBUFFER 。
:STRING ,STRINGBUFFER 。 , , StringBuffer, String, StringBuffer toString()
######################################################################
Jsp
1、jsp ? ?
:JSP 9 ( ASP 6 ):
- request , GET/POST
- response
- pageContext
- session
- application servlet
- out
- config servlet
- page JSP
- exception ,
2、jsp ? ?
:JSP 6
- jsp:include: 。
- jsp:useBean: JavaBean。
- jsp:setProperty: JavaBean 。
- jsp:getProperty: JavaBean 。
- jsp:forward: 。
- jsp:plugin: Java OBJECT EMBED
3、JSP INCLUDE INCLUDE ?
: INCLUDE jsp:include
, ,
INCLUDE include , ,
4、 ? ?
: , :
include , , 。 , 。 . , 。 go to 。
#####################################################################
Servlet
1、 Servlet ?
:servlet , 、 、 。 javax.servlet.Servlet init,service destroy
2、JAVA SERVLET API forward() redirect() ?
: , ; , , 。 , 。 , , , forward() , , 。 , , , sendRedirect() 。
3、Servlet
public class ServletName extends HttpServlet {
public void doPost(HttpServletRequest request, HttpServletResponse response) throws
ServletException, IOException {
}
public void doGet(HttpServletRequest request, HttpServletResponse response) throws
ServletException, IOException {
}
}
###################################################################
Jdbc, Jdo 측
1. Jdbc 연결 Oracle 프로그램 을 작성 하고 데이터 조 회 를 실현 할 수 있 습 니 다.
답: 프로그램 은 다음 과 같 습 니 다.package hello.ant;
import java.sql.*;
public class jdbc
{
String dbUrl="jdbc:oracle:thin:@127.0.0.1:1521:orcl"
String theUser="admin"
String thePw="manager"
Connection c=null;
Statement conn;
ResultSet rs=null;
public jdbc()
{
try{
Class.forName("oracle.jdbc.driver.OracleDriver").newInstance();
c = DriverManager.getConnection(dbUrl,theUser,thePw);
conn=c.createStatement();
}catch(Exception e){
e.printStackTrace();
}
}
public boolean executeUpdate(String sql)
{
try
{
conn.executeUpdate(sql);
return true;
}
catch (SQLException e)
{
e.printStackTrace();
return false;
}
}
public ResultSet executeQuery(String sql)
{
rs=null;
try
{
rs=conn.executeQuery(sql);
}
catch (SQLException e)
{
e.printStackTrace();
}
return rs;
}
public void close()
{
try
{
conn.close();
c.close();
}
catch (Exception e)
{
e.printStackTrace();
}
}
public static void main(String[] args)
{
ResultSet rs;
jdbc conn = new jdbc();
rs=conn.executeQuery("select * from test");
try{
while (rs.next())
{
System.out.println(rs.getString("id"));
System.out.println(rs.getString("name"));
}
}catch(Exception e)
{
e.printStackTrace();
}
}
}
2, Class. forName 의 역할?
답: 이 접근 을 호출 하여 문자열 로 클래스 이름 을 지정 한 대상 을 되 돌려 줍 니 다.
3. 제 도 는 무엇 입 니까?
답: JDO 는 자바 대상 의 지속 적 인 새로운 규범 으로 자바 data object 의 줄 임 말 이자 특정한 데이터 창고 에 있 는 대상 을 액세스 하 는 표준화 API 입 니 다. JDO 는 투명 한 대상 저장 소 를 제공 하기 때문에 개발 자 에 게 데이터 저장 대상 은 액 외 코드 (예 를 들 어 JDBC API 사용) 가 전혀 필요 하지 않 습 니 다.. 이러한 번 거 로 운 정례 작업 은 이미 JDO 제품 공급 업 체 에 이전 되 어 개발 자 들 을 해탈 시 켜 업무 논리 에 시간 과 정력 을 집중 시 켰 다. 또한 JDO 는 모든 데이터 베이스 에서 실행 할 수 있 기 때문에 매우 유연 하 다. JDBC 는 관계 데이터 베 이 스 를 대상 으로 만 작 동 된다.(RDBMS) JDO 는 더욱 통용 되 고 모든 데이터 베이스 에 저장 기능 을 제공 합 니 다. 예 를 들 어 관계 데이터 베이스, 파일, XML 과 대상 데이터 베이스 (ODBMS) 등 을 제공 하여 응용 을 이식 할 수 있 게 합 니 다.
###################################################################
Xml 쪽:
1. xml 는 어떤 해석 기술 이 있 습 니까? 차이 점 은 무엇 입 니까?
답: DOM, SAX, STAX 등 이 있 습 니 다.
DOM: 대형 파일 을 처리 할 때 성능 이 매우 떨 어 집 니 다. 이 문 제 는 DOM 의 트 리 구조 로 인해 발생 합 니 다. 이 구조 가 사용 하 는 메모리 가 비교적 많 습 니 다. 또한 DOM 은 파일 을 처리 하기 전에 전체 문 서 를 메모리 에 불 러 와 야 합 니 다. XML 에 대한 무 작위 접근 에 적합 합 니 다. SAX 는 DOM 이 아 닙 니 다. SAX 는 이벤트 구동 형의 XML 해석 방식 입 니 다. XML 파일 을 순서대로 읽 습 니 다. 한 번 에 모두 불 러 올 필요 가 없습니다.전체 파일 입 니 다. 파일 시작, 문서 끝, 탭 시작 과 탭 이 끝 날 때 이벤트 가 발생 합 니 다. 사용 자 는 리 셋 이벤트 에 처리 코드 를 기록 하여 XML 파일 을 처리 합 니 다. XML 순서 에 접근 하기에 적합 합 니 다.
STAX:Streaming API for XML (StAX)
2. 프로젝트 에서 xml 기술 의 어떤 부분 을 사 용 했 습 니까? 어떻게 실 현 했 습 니까?
답: 데이터 저장, 정보 설정 두 가지 측면 을 사 용 했 습 니 다. 데이터 교환 플랫폼 을 만 들 때 데이터 원본 이 되 지 않 는 데 이 터 를 XML 파일 로 조립 한 다음 XML 파일 을 압축 하여 암호 화 한 후 네트워크 를 통 해 수신 자 에 게 전송 하고 복호화 와 압축 해 제 를 받 은 후 XML 파일 과 관련 정 보 를 복원 하여 처리 합 니 다. 소프트웨어 설정 을 할 때 XML 을 이용 하여 편리 하 게 진행 할 수 있 습 니 다. 소프트웨어 설정의 각종 설정 매개 변 수 는 XML 파일 에 저 장 됩 니 다.
3. jdom 으로 xml 파일 을 분석 할 때 중국어 문 제 를 어떻게 해결 합 니까? 어떻게 해석 합 니까?
답: 다음 코드 를 보고 인 코딩 방식 으로 해결 합 니 다.package test;
import java.io.*;
public class DOMTest
{
private String inFile = "c:\\people.xml"
private String outFile = "c:\\people.xml"
public static void main(String args[])
{
new DOMTest();
}
public DOMTest()
{
try
{
javax.xml.parsers.DocumentBuilder builder =
javax.xml.parsers.DocumentBuilderFactory.newInstance().newDocumentBuilder();
org.w3c.dom.Document doc = builder.newDocument();
org.w3c.dom.Element root = doc.createElement(" ");
org.w3c.dom.Element wang = doc.createElement(" ");
org.w3c.dom.Element liu = doc.createElement(" ");
wang.appendChild(doc.createTextNode(" "));
root.appendChild(wang);
doc.appendChild(root);
javax.xml.transform.Transformer transformer =
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 (Exception e)
{
System.out.println (e.getMessage());
}
}
}
4. 프로 그래 밍 은 JAVA 로 XML 을 해석 하 는 방식 입 니 다.
답: XML 을 SAX 방식 으로 해석 합 니 다. XML 파일 은 다음 과 같 습 니 다.
6258113
,1955 , ,95
이벤트 리 셋 클래스 SAXHandler. javaimport java.io.*;
import java.util.Hashtable;
import org.xml.sax.*;
public class SAXHandler extends HandlerBase
{
private Hashtable table = new Hashtable();
private String currentElement = null;
private String currentValue = null;
public void setTable(Hashtable table)
{
this.table = table;
}
public Hashtable getTable()
{
return table;
}
public void startElement(String tag, AttributeList attrs)
throws SAXException
{
currentElement = tag;
}
public void characters(char[] ch, int start, int length)
throws SAXException
{
currentValue = new String(ch, start, length);
}
public void endElement(String name) throws SAXException
{
if (currentElement.equals(name))
table.put(currentElement, currentValue);
}
}
JSP 콘 텐 츠 디 스 플레이 원본, SaxXml. jsp:
XML people.xml
");
out.println(" " + "" +
(String)hashTable.get(new String("name")) + "");
out.println(" " + "" +
(String)hashTable.get(new String("college"))+"");
out.println(" " + "" +
(String)hashTable.get(new String("telephone")) + "");
out.println(" " + "" +
(String)hashTable.get(new String("notes")) + "");
out.println("");
%>
################################################################
J2EE, MVC 쪽
1. MVC 의 각 부분 은 모두 그런 기술 로 이 루어 집 니까? 어떻게 실현 합 니까?
답: MVC 는 Model - View - Controller 의 약자 입 니 다. "Model" 은 응용 업무 논리 (자바 빈, EJB 구성 요 소 를 통 해 이 루어 짐) 를 대표 합 니 다. "View" 는 응용 표현 면 (JSP 페이지 에서 생 성 됨) 이 고 "Controller" 는 응용 프로 세 스 제어 (일반적으로 Servlet) 를 제공 합 니 다.이러한 디자인 모델 을 통 해 응용 논리, 처리 과정 과 디 스 플레이 논 리 를 서로 다른 구성 요소 로 나 누 어 실현 합 니 다. 이 구성 요소 들 은 상호작용 과 재 활용 을 할 수 있 습 니 다.
2, J2EE 는 무엇 입 니까?
답: Je 22 는 Sun 회사 가 제시 한 다 층 (multi - diered), 분포 식 (distributed), 구성 요소 (component - base) 를 바탕 으로 하 는 기업 급 응용 모델 (enterpriese application model) 입 니 다. 이러한 응용 시스템 에서 기능 에 따라 서로 다른 구성 요소 로 나 눌 수 있 습 니 다. 이 구성 요소 들 은 서로 다른 컴퓨터 에서 도 사용 할 수 있 고 해당 하 는 차원 (tier) 에 있 습 니 다. 소속 차원 은 고객 층 을 포함 합 니 다.(clietn tier) 구성 요소, 웹 층 과 구성 요소, Business 층 과 구성 요소, 기업 정보 시스템 (EIS) 층.
3. WEB SERVICE 명사 해석. JSWDL 개발 패키지 의 소개. JAXP, JAXM 의 해석. SOAP, UDDI, WSDL 해석.
답: 웹 서비스 설명 언어 WSDL
SOAP 는 단순 대상 접근 프로 토 콜 (Simple Object Access Protocol) 로 XML 인 코딩 정 보 를 교환 하 는 경량급 프로 토 콜 입 니 다.
UDDI 의 목적 은 전자 상 거래 를 위 한 기준 을 구축 하 는 것 이다. UDDI 는 웹 기반 의 분포 식, 웹 서비스 에 제공 하 는 정보 등록 센터 의 실현 표준 규범 이자 기업 이 자신 이 제공 하 는 웹 서 비 스 를 등록 하여 다른 기업 이 실현 할 수 있 도록 하 는 방문 협의의 실현 기준 도 포함한다.
4. STRUTS 의 응용 (예 를 들 어 STRUTS 구조)
답: Struts 는 자바 Servlet / 자바 서버 페이지 기술 을 사용 하여 웹 응용 프로그램의 오픈 소스 코드 를 개발 하 는 framework 입 니 다. Struts 를 사용 하면 MVC (Model - View - Controller) 디자인 모델 을 기반 으로 하 는 응용 구 조 를 열 수 있 습 니 다. Struts 는 다음 과 같은 주요 기능 이 있 습 니 다. 1. controller servlet 를 포함 하여 사용자 의 요청 을 해당 하 는 Action 대상 에 보 낼 수 있 습 니 다. 2. JSP 자유 태그 라 이브 러 리, contrller servlet 에서 관련 지원 을 제공 하여 개발 자 들 이 대화 형 폼 애플 리 케 이 션 을 만 드 는 데 도움 을 줍 니 다. 3. 일련의 실 용적 인 대상 을 제공 합 니 다. XML 처리, 자바 reflection API 를 통 해 자바 빈 스 속성, 국제 화 된 알림 과 정 보 를 자동 으로 처리 합 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
JPA + QueryDSL 계층형 댓글, 대댓글 구현(2)이번엔 전편에 이어서 계층형 댓글, 대댓글을 다시 리팩토링해볼 예정이다. 이전 게시글에서는 계층형 댓글, 대댓글을 구현은 되었지만 N+1 문제가 있었다. 이번에는 그 N+1 문제를 해결해 볼 것이다. 위의 로직은 이...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.