전체

    람다식의 이해와 사용

    자바 8 이전 우선 람다식을 이해하기 전에 아래 형식이 자바 8 이전에 람다를 사용하던 기본 형식이다. public interface Test { public void a(int x); } public class Hello implements Test{ @Override public void a(int x) { System.out.println(""); } } 람다식으로 바뀔 부분은 구현체 부분인 @Override 영역이 람다식으로 문법이 바뀐다. 그러므로 람다식은 항상 인터페이스가 존재해야 사용 가능하다. 자바 8의 람다식 기본적으로 람다식은 () -> {}의 형식으로 쓰인다. (int x) -> { System.out.println(x); } int x 매개변수로부터 값을 받아 System.out.p..

    JVM, JRE, JDK 차이

    JVM 자바 바이너리 파일(.class)을 실행시킬 수 있는 가상 머신 환경을 제공한다. JRE JRE는 JVM을 포함하며 JVM과 함께 실행에 필요한 라이브러리를 같이 내장하고 있다. JVM + Library 파일의 집합이라고 보면된다. JAVA를 개발할 필요는 없는데, 실행은 시켜줘야 하는 경우에는 꼭 JRE가 있어야 한다. JDK JDK는 Java Development Kit의 약자로 말그대로 자바 개발시 필요한 툴킷을 제공하는 도구모음이다. 개발하려면 당연히 실행도 시켜야 하므로 JDK 안에는 JRE가 포함되어 있다. JAVA로 만들어진 프로그램을 실행만 시킬 것이라면 JRE만 설치하면 되고 JAVA 개발자라면 JDK를 설치하면 된다.

    Database INDEX 정리

    실제 사용 방법은 여기를 참조. 인덱스란 도서관에서 도서 찾기 시스템이라고 생각하면 편하다. 도서관에서 책을 찾을 때 고객이 원하는 책을 하나하나 찾는 것보다 도서 찾기 컴퓨터를 이용해서 어느 위치에 있는지 출력하고 찾아가는게 더 빠르다. 인덱스도 특정 테이블에 대한 데이터를 새롭게 정렬시켜 원하는 데이터를 빠르게 찾을 수 있게 도와주는 테이블이라고 보면된다. 인덱스 내부 정렬 방식 이진 탐색 트리(Binary Search Tree)를 사용한다. 짧게 B-Tree, BST 라고도 한다. 내부적으로 컬럼의 값과 물리적 주소를 (key, value)의 한 쌍으로 저장한다. 이진 탐색 트리에 대한 시간 복잡도는 log n(참고)이다. 참고된 글을 보면 나와있지만 짧게 말해서 이진 탐색 트리는 업앤다운 게임을 ..

    프로시저의 CURSOR와 SET NOCOUNT 기능

    BEGIN --'CURSOR를 돌 때 "1행이 변경 되었습니다" 같은 문구를 성능 향상을 위해 보여주지않는다.' SET NOCOUNT ON OPEN CUR --'커서 오픈' - 조회한 쿼리 결과를 한 행씩 처리하기 위해 사용한다. CLOSE CUR DEALLOCATE CUR SET NOCOUNT OFF END 프로시저에서 사용하는 기능들이다. SQL이 집합 단위로 조작하는 것이라면 CURSOR 사용은 행 단위로 처리하기 위한 기능이다. 행 단위로 처리하기 때문에 속도가 느려질 수 밖에 없다. SET NOCOUNT ON을 적어주면 메시징 처리를 보여주지 않아서 성능 향상에 도움이 된다.