Programming/java 24

[java] 문서 파싱 및 추출(pdf, doc, docx, xls, xlsx, ppt, pptx)

문서 파싱 및 추출(pdf, doc, docx, xls, xlsx, ppt, pptx) 필요 라이브러리 Apache PDFBox : http://pdfbox.apache.org/downloads.htmlApache POI : http://poi.apache.org/download.html pdf 파서import java.io.File;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.IOException;import org.apache.pdfbox.cos.COSDocument;import org.apache.pdfbox.pdfparser.PDFParser;import org.apache.pdfbox.pdmo..

Programming/java 2014.11.13

[java] J2EE

J2EE J2EE의 이해Java TM목적 : To Ensure "Write Once, Run Anywhere"플랫폼 : J2SE, J2EE, J2MEJ2EE란?엔터프라이즈 환경에서 자바를 이용한 어플리케이션 개발을 위한 표준데이타베이스 처리(JDBC, JTS, JTA)비동기 메시지 처리(JMS)분산 트랜잭션 컴포넌트(EJB)분산 객체(RMI)웹 어플리케이션(Servlet, JSP)J2EE의 모든 스펙들은 벤터들에 의해서 구현되며 개발자들은 표준 API를 이용하여 개발한다.J2EE - JDBCJava DataBase Connectivity표준화된 데이타베이스 접근 방법(API)을 제공한다.J2EE - JNDIJava Naming And Directory InterfaceNaming and Directory..

Programming/java 2014.09.18

[java] 스레드(Thread)

Thread Thread 개념process : 현재 실행중인 프로그램thread : 사전적 의미 -> 실 프로세스 내의 세부적 실행단위 곰플레이어 -> 프로세스영상 스레드음향 스레드 -> 멀티 스레딩 되어 프로그램이 동작자막 스레드 네이트온 채팅 -> 프로세스친구에게 글 전송 스레드친구로부터 글 입력 스레드 Thread 생성 방법 2가지1) extends ThreadHelloThread t = new HelloThread();t.start();2) implements RunnableHello h = new Hello();Thread t = new Thread(h);t.start(); Thread 구동방식start() ---> 스레드 스케줄러 ---> run()개발자는 스레드에 start() 명령을 내리고..

Programming/java 2014.09.17

[java] 예외처리(Exception)

Exception Exception이 발생하면 프로그램은 비정상 종료된다. Exception 처리란, 프로그램 실행시 Exception이 발생되더라도 대처방안 마련하여 프로그램을 정상 수행시키는 데 있다. 컴파일 타임 에러 - 문법적인 에러 런타임 에러 - Error 와 Exception Error : 프로그램적으로 처리할 수 없는 심각한 오류Exception : 프로그램으로 해결할 수 있는 오류(예외) 왜 예외처리를 해야하나?jvm 이 프로그램을 해석(실행) 하다가 Exception 상황을 만나면 Exception 객체를 생성해서 메세지를 보여주고 비정상 종료된다. Exception 처리한다는 것은 Exception 상황이 나더라도 적절한 대처방안을 마련해 수행시키고 프로그램을 정상 수행시키는 데 있다..

Programming/java 2014.09.17

[java] 상속(Inheritance)

상속(Inheritance) 객체 지향 주요 개념(Encapsulation,Polymorphism, Inheritance) 중 하나 상속을 하는 이유1. 재사용성 증대 : 개발의 생산성 즉 부모로부터 변수와 메서드를 상속받아 재사용 2. 계층구조형성 : 다형성(Polymorphism) 적용 환경 특징is a relationship사람은 동물이다. 엔지니어는 직원이다.참고) has a relationship : 사람이 자동차를 소유하다 Java는 단일 상속이다. (다중상속의 장점은 인터페이스로 처리한다.)Java keyword : extends class Person extends Animal{} 동물 객체를 사람이 상속 받는다. 부모 클래스를 super or parent class 로 표현자식 클래스를 ..

Programming/java 2014.09.17

[java] 오버로딩과 오버라이딩

오버로딩과 오버라이딩 오버로딩(Overloading)오버라이딩(Overriding) 기존에 없는 매서드를 정의 하는 것 동일한 이름으로 다양한 데이터를 받아 들이기 위한 프로그래밍 기법 -> 유저 편의성 증대 매개변수의 갯수, 타입, 순서가 달라야 한다.(접근 제어자, 리턴 타입은 관계 없음) 상속받은 매서드를 자신에 맞게 재정의 하는 것 오버라이딩은 상속과 관련이 있다. 상속받은부모 매서드를 자신에 맞게 재정의 한다. 부모 메서드명과 동일해야 한다, 리턴타입, 매개변수 모두 동일해야 한다. 접근제어자는 하위에서 더좁아지면 안된다. -> 부모 메서드로 표준화 오버로딩public void eat(){}public String eat(int i){}public void eat(String s){}public..

Programming/java 2014.09.17

[java] serialVersionUID를 선언하는 이유

serialVersionUID를 선언하는 이유 아직 객체 직렬화, 역직렬화에 대해 정확히 알지는 못 하지만 serialVersionUID가 도대체 왜 선언되어 져야하지? 라는 궁금증을 가졌던 적이 있었다.100% 이해는 되지 않지만 좋은 정보이기에 가져왔다. 사용자 정의 Exception Class를 구현하는 도중 Class내에 "private static final long serialVersionUID"를 정의 하지 않을 경우 warning이 발생하여 궁금증을 해결하고자 정보를 수집하였습니다. 결론부터 말하자면, 모든 Class는 UID를 가지고 있는데 Class의 내용이 변경되면 UID값 역시 같이 바뀌어 버립니다. 직렬화하여 통신하고 UID값으로 통신한게 정상인지 확인하는데 그 값이 바뀌게 되면 ..

Programming/java 2014.09.02