Java
-
십이지신 계산하기1Java 2017. 4. 28. 12:17
import java.util.Calendar; /* * 십이지신을 통틀어 영어로 Chinese Zodiac이라고 한다. * 직역하면 "중국식 황도십이궁"인데 십이지신의 기원이 중국이고 * 서양 점성술의 기본이되는 황도십이궁(조디악)과 비슷한데서 유래됨 */ public class ChineseZodiac { public static void main(String[] argan) { /* * 년도의 끝자리가 4로 끝나면 "갑"입니다. * 년도를 10으로 나누었을 때의 나머지가 4이면 "갑"입니다. * 1 2 3 4 5 6 7 8 9 0 * 신임계갑을병정무기경 * * 년도를 12로 나누었을 때의 나머지가 0이면 "신"입니다. * 0 1 2 3 4 5 6 7 8 9 10 11 * 신 유 술 해 자 축 인 묘..
-
JAXB(Java Architecture for XML Binding)Java 2016. 9. 7. 17:38
JAXB(Java Architecture for XML Binding)단계별로 JAXB2에 대해서 알아보겠습니다. 여기서는 JAXB 버전 2를 기반으로합니다. JAXB는 자바 객체를 XML과 바인딩하기 위한 자바 아키텍처로 가장 인기있는 API 및 산업 표준 중 하나입니다. 인터넷을 통해 통신하는 웹 서비스를 사용하는 곳에서 많이 사용됩니다. 표준 API는 (JDK 버전 1.6에서 시작) JDK와 함께 제공합니다. Marshalling : 자바 객체를 XML문서로 만듭니다. UnMarshalling : XML문서를 자바 객체로 만듭니다. JAXB Annotations : JAXB annotation을 사용합니다. JAXB2 Annotations@XmlRootElement : 특정 클래스에 의해 생성 된 ..
-
Lambda Expression 05Java 2016. 8. 9. 19:23
/* * 객체지향 언어인 자바에서 값이나 객체가 아닌 하나의 함수(Funtion)을 변수에 * 담아둔다는 것은 이해가 되지 않을 것입니다. * 하지만 자바 8에서 람다식이 추가 되고 나서는 하나의 변수에 하나의 함수를 * 매핑할 수 있습니다. */ // 이 인터페이스는 람다식을 위한 것이다라는 표현을 위해 어노테이션 // @FunctionalInterface을 사용합니다. // 실제로 저 어노테이션을 선언하면 해당 인터페이스에 메소드를 두 개 이상 선언하면 유효하지 않다는 오류를 냅니다. // 즉, 컴파일러 수준에서 오류를 확인 할 수 있습니다. @FunctionalInterface interface Func { public int calc(int a, int b); } public class Lambd..
-
Lambda Expression 04Java 2016. 8. 9. 19:22
import java.util.function.Function; public class LambdaEx04{ /* * 람다식 = 익명 메소드 * (인자목록)->{구문} */ public static void main(String[] args) { System.out.println( new Function() { @Override public Integer apply(String t) { return t.length(); } }.apply("한사람!!!")); } }
-
JPA(Java Persistent API)Java 2016. 8. 1. 19:43
JPA(Java Persistent API) JPA는 여러 ORM 전문가가 참여한 EJB 3.0 스펙 작업에서 기존 EJB ORM이던 Entity Bean을 JPA라고 바꾸고 JavaSE, JavaEE를 위한 영속성(persistence) 관리와 ORM을 위한 표준 기술이다. JPA는 ORM 표준 기술로 Hibernate, OpenJPA, EclipseLink, TopLink Essentials과 같은 구현체가 있고 이에 표준 인터페이스가 바로 JPA이다. ORM(Object Relational Mapping)이란 RDB 테이블을 객체지향적으로 사용하기 위한 기술이다. RDB 테이블은 객체지향적 특징(상속, 다형성, 레퍼런스, 오브젝트 등)이 없고 자바와 같은 언어로 접근하기 쉽지 않다. 때문에 ORM을..
-
javax.swing.Timer 사용하기Java 2016. 7. 29. 19:40
package me.example.timer; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.util.Date; import javax.swing.Timer; /* javax.swing.Timer * 특정시간마다 ActionListener구현 객체의 actionPerformed메소드 실행 * ================================================================= */ public class TimerEx03 { public static void main(String[] args) { // 3초마다 실행 Timer timer = new Timer(3000,..
-
Timer 클래스 데몬스레드로 실행Java 2016. 7. 29. 19:30
package me.example.timer; import java.util.Date; import java.util.Timer; import java.util.TimerTask; /* Timer클래스 * Timer 클래스의 기본 생성자(즉, 파라미터가 없는 생성자)를 사용하여 Timer 클래스를 생성할 경우 * Timer 클래스와 관련된 작업을 실행할 때 사용되는 쓰레드는 데몬 쓰레드로 실행되지 않는다. * 앞의 예제에서 jobScheduler.cancel() 부분을 삭제한다면 어플리케이션은 종료하지 않고 계속해서 * 실행될 것이다. 데몬 쓰레드로 지정할 지의 여부를 입력받을 수 있는 생성자를 제공하고 있으므로 * true로 실행시 데몬 쓰레드로 설정된다. * =======================..