본문 바로가기
반응형

자바61

[Java] 자바에서 XML을 파싱하는 방법 - DOM, SAX XML은 w3c에서 개발된 마크업 언어로, 여러 종류의 데이터를 기술하는 데 사용할 수 있다. 예시 - 주식 정보를 나타내는 XML Citibank 100 1000 Axis bank 90 2000 이러한 XML 문서를 파싱하는 방법에는 대표적으로 DOM과 SAX가 존재한다. 이 글에서는 두 방식의 차이와 각 방식의 자바 코드 예시를 제공한다. DOM · XML을 트리 형태의 데이터로 만든 후, 해당 데이터를 가공하는 방식으로 파싱을 진행한다. · XML 문서를 메모리에 모두 로드한 후 파싱한다. - 단점: 메모리를 많이 사용한다. - 장점: 구현과 구조변경이 쉽다. 코드 예시 파싱할 xml 파일은 위의 stock 정보를 갖는 xml로 한다. import java.io.File; import java.ni.. 2021. 12. 14.
[JAVA] 자바에서 파일, 디렉터리 변경 사항을 감지하는 방법 - WatchService WatchService란? · Java7의 NIO2 파일 시스템 API에 추가된 인터페이스다. · 특정 파일과 디렉터리의 변경 사항에 대해 폴링(다른 장치의 상태를 주기적으로 검사)하는 코드를 작성하도록 돕는다. 예시 코드 import static java.io.File.*; import java.io.IOException; import java.nio.file.FileSystems; import java.nio.file.Path; import java.nio.file.Paths; import java.nio.file.StandardWatchEventKinds; import java.nio.file.WatchEvent; import java.nio.file.WatchKey; import java.nio... 2021. 12. 13.
[Java] 자바8의 새로운 날짜 관련 클래스들 - java.time 패키지 (LocalDate, LocalTime, LocalDateTime, ZonedDateTime) 자바 java.time 패키지 사용하기 학습 목표 · 날짜와 시간 객체 · 날짜와 시간에 대한 정보 얻기 · 날짜와 시간 조작하기 - 날짜와 시간 빼기와 더하기 - 날짜와 시간 변경하기 - 날짜와 시간 비교하기 -날짜 포맷 정하기 · 자바 7 이전까지는 Date, Calendar, SimpleDateFormatter 클래스를 이용해서 날짜와 시간 정보를 처리했지만, 여러 단점이 존재했다. TODO: 단점 정리 하지만 Date 클래스는 단순히 특정 시점의 날짜 정보를 저장하는 역할만을 하며, 대부분의 메소드가 Deprecated되었다. 또한 Calendar도 날짜 와 시간 정보를 얻는 것 외에 날짜와 시간은 조작하거나 비교하는 기능이 부족했다. 이러한 기존 버전의 문제점을 해결하기 위해서 자바 8부터 날짜.. 2021. 12. 13.
[Java] 런타임에 자바 코드를 조작하는 방법: 리플렉션(Reflection) · 리플렉션은 런타임에 메서드, 클래스, 인터페이스의 동작을 검사하거나 수정하는데 사용되는 API다. · 리플렉션에 필요한 클래스는 java.lang.reflect 패키지에서 제공된다. · 리플렉션을 사용하면 특정 객체가 속한 클래스에 대한 정보, 객체를 사용하여 실행할 수 있는 해당 클래스의 메서드에 대한 정보를 얻을 수 있다. · 리플렉션을 사용하면 접근 제어자(private, public 등)와 상관없이 런타임에 메서드를 호출할 수 있다. · 사용 예시: - JSON 파일의 속성을 Jackson, GSON, BOON 등과 같은 자바 객체의 getter/setter 메서드에 매핑할 수 있다. - JDBC ResultSet의 열 이름을 Java 객체의 getter/setter 메서드에 매핑할 수 있다... 2021. 12. 10.
[Java] JDK가 제공하는 기본 개발 도구 (javac, java, javadoc, jps, jmap) JDK를 설치하고, bin 디렉토리를 확인해보자. 다음과 같이 JDK가 제공하는 기본 개발 도구들을 볼 수 있다. 이 도구 들의 기능을 직접 사용해보고, 어떠한 기능을 하는지 알아보자. * 다음 예시들은 JDK 11 버전을 기준으로 작성했습니다. javac · 자바 코드로 작성된 파일(.java)을 JVM이 실행 가능한 파일(.class)로 컴파일하는 명령어 - .class 파일은 자바 바이트코드로 구성된 파일이다. · 사용법: javac [파일명.java] 사용 예시 명령어를 사용하기전, 명령어를 적용할 HelloWorld.java 파일을 생성하고, 아래와 같이 작성한다. HelloWord.java public class HelloWorld { public static void main(String[].. 2021. 12. 6.
J2EE 디자인 패턴 - Session Facade Pattern 원격 클라이언트에 비즈니스 구성 요소 및 서비스를 노출하려고 할때, 다음과 같은 요구 사항을 만족하기 위해 Session Facade 패턴을 사용할 수 있다. 1. 클라이언트와 긴밀한 결합을 방지하기 위해 클라이언트가 비즈니스 계층 구성 요소에 직접 액섹스할 수 없도록 한다. 2. 비즈니스 객체 및 기타 비즈니스 계층 구성 요소에 원격 액세스 계층을 제공한다. 3. 애플리케이션 서비스 및 기타 서비스를 집계하여 원격 클라이언트에 노출한다. 4. 원격 클라이언트에 노출되어야 하는 모든 비즈니스 논리를 중앙 집중화하고 집계하려고 한다. 5. 비즈니스 구성 요소와 서비스 간의 복잡한 상호 작용과 상호 종속성을 숨겨서 관리 용이성을 높이고, 논리를 중앙 집중화하여 유연성을 높이고, 변경 사항에 대처하는 능력을 .. 2021. 12. 6.
반응형