들어가기 전에 이번 포스팅은 스프링 입문을 위한 자바 객체 지향의 원리(김종민 저)를 읽으면서 자바 프로그램 개발 및 구동에 대해 정리한 글입니다. 이해한 내용을 토대로 정리한 글이기 때문에, 책으로 읽어보는 것을 권장합니다. 자바 프로그램 구동 방식(Write Once Run Anywhere) 현실 세계 가상 세계(자바) 소프트웨어 개발 도구 JDK(Java Development Kit, 자바 개발 도구) 운영체제 JRE(Java Runtime Environment, 자바 실행 환경) 하드웨어 (물리적 컴퓨터) JVM(Java Virtual Machine, 자바 가상 기계) 현실 세계에서 소프트웨어는 개발자가 개발 도구를 이용해 개발하고 운영체제를 통해 물리적 컴퓨터인 하드웨어 상에서 구동됩니다. 자바..
ArrayList 객체 생성 및 초기화(기본형) List arr = new ArrayList(); arr.add(1); arr.add(2); arr.add(3); ArrayList 한 줄로 초기화 List arr = new ArrayList(Arrays.asList(1,2,3)); ArrayList의 constructor를 이용하면 추후 Arrays.asList를 통해 만들어진 리스트에 값을 추가할 수 있습니다. List arr = Arrays.asList(1, 2, 3); Arrays.asList()로 생성한 리스트는 값을 추가할 수 없습니다. 만약 위와 같은 경우에 arr.add(4);를 하게 되면 하기와 같은 runtime error가 발생합니다. ArrayList 중괄호 초기화 List arr =..
length 배열의 길이를 알고자 할 때 사용 String[] cars = {"Volvo", "BMW", "Ford", "Mazda"}; System.out.println(cars.length); // Outputs 4 length() String과 관련된 객체의 길이를 알고자 할 때 사용 - String, StringBuilder .. String txt = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"; System.out.println("The length of the txt string is: " + txt.length()); size() Collection 객체의 길이를 알고자 할 때 사용 - ArrayList, Set .. List cars = new ArrayList(); cars.si..
LocalDate import할 패키지명 import java.time.LocalDate; 사용 예 LocalDate currentDate = LocalDate.now(); // 현재 날짜가 넣어진 LocalDate 객체 리턴(예: 2020-12-10) LocalDate startDate = LocalDate.of(2020,12,9); // of 메소드의 파라미터로 넘어간 값에 따라 날짜 저장된 LocalDate 객체 리턴 LocalDate 자료형 타입 변환 LocalDate → String (YYYYMMdd) LocalDate.of(2020,12,10).format(DateTimeFormatter.BASIC_ISO_DATE); LocalDate → String (원하는 형식 - 예: yyyy-MM-dd..
dao.xml 파일 내에 #을 쓰는 경우 SELECT TIME FROM SUMMARY_1HOUR WHERE 1=1 AND TIME >= #{ queryMap.startDate } AND TIME < #{ queryMap.endDate } ... #{ value }에는 bind된 값(value)이 들어가게 됩니다. parameter가 String 형태로 들어와 자동적으로 'parameter' 형태가 됩니다. 내부적으로는, preparedStatement 객체에서 #{ value }에 들어갈 파라미터 값을 set 하여 사용됩니다. 즉, DB에서 변수를 bind하여 #{ value } 값이 달라져도 동일한 쿼리로 인식하게 됩니다(쿼리의 컴파일된 내용 재사용 가능). 쿼리 주입을 예방할 수 있어 보안 측면에서 ..
JVM JVM은 자바 가상머신(Java Virtual Machine)의 약자입니다. JVM은 자바 소스코드로부터 만들어지는 자바 바이너리 파일(.class)을 실행할 수 있습니다. 또한, JVM은 플랫폼에 의존적입니다. 즉, 리눅스의 JVM과 windows의 JVM은 다릅니다. 단, 컴파일된 바이너리 코드는 어떤 JVM에서도 동작시킬 수 있습니다. JVM의 역할 - 바이너리 코드 읽기 - 바이너리 코드 검증 - 바이너리 코드 실행 - 실행환경(Runtime Environment)의 규격 제공(필요한 라이브러리 및 기타 파일) JRE JRE는 자바 실행환경(Java Runtime Environment)의 약자입니다. JRE는 JVM이 자바 프로그램을 동작시킬 때 필요한 라이브러리 파일들과 기타 파일들을 가..
https://www.oracle.com/technetwork/java/java-se-support-roadmap.html Oracle Java SE Support Roadmap (Updated April 15, 2019) Oracle provides this Oracle Java SE Support Roadmap, to help you understand maintenance and support options and related timelines. If you are looking for the latest free JDK release from Oracle under an open source license, please www.oracle.com Oracle Java SE 지원 로드맵과 관련된 ..