자바(8)
-
[자바] JDK & JRE & JVM
자바 개발을 위해 필수적인 세 가지 요소에 대해 요약한 글이다. JDK는 자바 기반 소프트웨어를 개발하기 위한 도구들로 이뤄진 패키지 JRE는 자바 코드를 실행하기 위한 도구들로 구성된 패키지 JVM은 라이브 자바 프로그램 실행을 담당하는 실행 소프트웨어 시스템 JDK 자바 컴파일러(javac) 자바 런타임 환경(JRE) JRE 자바 클래스 라이브러리(Java Class Libraries) 자바 클래스 로더(Java Class Loader) 자바 가상 머신(Java Virual Machine) 런타임환경 소프트웨어 프로그램을 실행하기 위해서는 실행할 환경이 필요하다. 런타임 환경은 프로그램 실행을 위해 클래스 파일을 로드하고 메모리 및 기타 시스템 리소스에 대한 액세스를 확보한다. JRE는 자바코드를 받..
2022.01.11 -
[자바] Logging Framework & Logging Wrapper + SLF4J
배우고 이해한 내용을 정리하는 글로써 틀린 부분이 있을 수 있습니다. 잘못된 점이 있으면 댓글로 남겨주시면 감사하겠습니다. 로깅(Logging)이란 시스템의 작동 정보인 로그(Log)를 기록하는 행위를 말한다. 시스템이 작동할 때 시스템의 작동 상태의 기록과 보존, 이용자의 습성 조사 및 시스템 동작의 분석 등을 하기 위해 작동 중의 각종 정보를 기록해둘 필요가 있는데, 이 기록을 만드는 것을 로깅이라 한다. 즉, 로그 시스템의 사용에 관계된 일련의 사건을 시간의 경과에 따라 기록하는 것이다. 실행한 프로그램의 이름, 콘솔로부터의 키인, 이상 사태 발생, 정지 상태, 컴퓨터의 사용 시간, 입출력 장치의 사용 개시와 사용 종료 시간 등을 기록하는 것으로 이렇게 해서 기록된 것을 로그라고 한다. 출처: 해시..
2022.01.07 -
[자바] static과 static final
배우고 이해한 내용을 정리하는 글로써 틀린 부분이 있을 수 있습니다. 잘못된 점이 있으면 댓글로 남겨주시면 감사하겠습니다ㅎ.ㅎ 우선 static에 대해 간단히 알아보자, static 키워드가 사용된 전역변수나 메소드는 컴파일 과정 중에 정적으로 바인딩되어 static 메모리에 할당된다. 따라서 프로그램이 실행될 때 static메모리에 할당되어 있다가 프로그램이 종료시에 값이 제거된다. 이와 반대로 지역변수의 경우 메소드의 '{'가 시작되는 시점에서 메모리에 할당되고 '}'를 만나서 메소드가 종료가 되면 지역변수의 값도 제거된다. 이처럼 static은 컴파일시에 생성되어서 종료시까지 계속 재사용할 수 있다. 스프링의 대표적인 개념인 싱글톤 패턴이 static 키워드를 통해 객체 관리가 되는 이유이다. ne..
2021.12.17 -
[Spring 어노테이션 에러] @JoinPoint, @Aspect import 에러
Spring AOP설정을 위해 어노테이션으로 @JoinPoin와 @Aspect를 사용한다. 해당 어노테이션을 사용하기 위해서 mvn Repository에서 AspectJ Weaver를 dependency설정을 해준다. org.aspectj aspectjweaver 1.9.4 runtime 하지만, pom.xml에 디펜던시를 설정해줘도 @JoinPoint와 @Aspect가 임포트 자동완성이 생기지 않는다. 해결 방법은 간단하다. aspectjweaver뿐만 아니라 aspectjrt도 pom.xml에 의존설정 해줘야 한다. org.aspectj aspectjrt 1.9.4 위의 dependency를 pom.xml 설정해주면 @JoinPoint와 @Aspect 임포트 자동완성이 된다.
2021.10.07 -
[JSP/Servlet 개념정리] POJO를 사용하는 이유가 뭘까
POJO에 대한 의문 JSP/Servlet을 통한 CRUD기능 구현을 하던 중에 POJO라는 개념을 접하게 됐다. 해당 개념을 접하고 처음 든 생각이 그저 코드를 깔끔하게 하기 위해서 사용하는 건가?라는 의문이 생겼다. 일반적으로 서블릿을 사용할 때 어노테이션을 통해 이용한다. 기본적인 MVC2모델에서 CRUD를 기능 구현을 위해서 컨트롤러로 진입하기 위해 어노테이션을 사용했다. 근데 밑에 코드를 보면 Controller라는 인터페이스를 생성하여 이를 다른 컨트롤러 클래스에 구현하는 방식을 사용하고 있다. 이와 같은 방식을 POJO라는 개념을 이용한 것이라고 한다. 이는 일반적으로 MVC2모델에서 사용하는 방식과는 좀 다른 양식을 보이고 있다. POJO의 기원 POJO에 대해서 좀 알아보자면, POJO는..
2021.07.20 -
[JSP/Servlet 개념정리] JSTL/EL문 구동 방식
jsp의 구동방식은 jsp가 컴파일되면 jsp또한 java파일인 서블릿이 된다. JSP에서 스크립트릿()과 표현식()을 대신해서 JSTL과 EL문을 사용한다. MVC모델방식에서 controller가 view로 forward하게 되면 view페이지인 jsp에서는 controller에서 setAttribute를 통해 객체바인딩하여 보낸 값(model을 통해 처리된값)을 getAttribute를 통해 가져와서 클라이언트가 보기 좋게 배치한다. 위와 같은 방식을 JSTL과 EL문을 사용하면 더 간단히 처리할 수 있다. JSTL에서 var를 통해 변수를 생성하면 setAttribute으로 생성되는 특징이 있다. 또한 출력하는 EL문인 ${}는 getAttribute로 불러오는 방식이다. 그러므로 이를 MVC모델에..
2021.07.18