전체 글
-
[Java-1] 컴파일 방법 & 과정Java 2020. 11. 9. 21:00
JAVA를 사용하기에 앞서, JVM은 무엇이며 자바 코드는 어떻게 실행 되는지에 대해서 알아보는 과정을 가져보도록 합시다. 이 과정을 알아보기전에 몇가지에 대해서 짚고 넘어가도록 하자 1. 시작 JAVA가 나왔을 당시, 기존 C언어 하고는 꽤나 다른 실행 과정을 가졌다. 간단하게 살펴보면, C언어 컴파일 실행 과정 결국 컴퓨터 (OS)가 알아 들을 수 있게 하기 위해 기계어를 번역하는 과정이다. 그럼 JAVA 의 실행과정은 어떨까? 꽤나 함축적이고, JVM이 자동으로 저런 과정을 짚어준다는 걸 그림으로만 봐도 알 수 있을 것이다. 물론 통합개발환경에서 놀고 있는 나같은 경우, 어차피 IDE가 다 해주지 않나? 라고 할 수 있지만, JVM을 더 알아보겠지만, 강력한 기능들이 포함 되어있다. 자 그럼 먼저 ..
-
JPA @OneToOne 매핑이 안된다고? UniqueJpa 2020. 11. 4. 09:24
JPA @OneToOne 매핑이 안된다고? Introduction JPA를 사용하면서 @OneToOne 어노테이션을 많이 보고 사용했을 것이다. 이 글에서는 OneToOne 어노테이션을 사용했는데도, 데이터가 한개가 아닌 2개가 들어가서 @OneToMany로 들어가는 일이 있거나, 그런 궁금증을 가지신 분들이 보면 도움이 될 수 있다고 생각한다. * 이 글은 JPA,, Database 사전지식이 있다는 가정하에 서술하였습니다. * 환경(Intelli j, h2 database) Situation 1. 두개의 1대1 양방향 관계의 엔티티가 있습니다. (Son, Parent) @Entity @Table public class Son { @Id @Column private String name; @Column..
-
‘mvn’은 (는) 내부 또는 외부 명령, 실행할 수 있는 프로그램, 또는 배치 파일이 아닙니다. 또는 zsh: command not found: mvn카테고리 없음 2020. 10. 30. 10:49
문제 : MAC : zsh: command not found: mvn WIN : ‘mvn’은 (는) 는 내부 또는 외부 명령, 실행할 수 있는 프로그램, 또는 배치 파일이 아닙니다. 원인 : 인텔리제이(Intelli J) 터미널에서 메이븐 명령어를 동작하다 보면 다음과 같은 에러문구를 보실 수 있다. 물론 아시는분은 왜 그런지 아실테지만, 간단하게 원인을 말하자면, 컴퓨터에 Maven 설치가 안되어있기 때문이다. Q : 프로젝트 생성할 때, 메이븐 플젝으로 만들었는데요? A : 맞다. 인텔리제이의 기본 내장 톰캣처럼, 인텔리제이 안에서 사용할 수 있는 번들 Maven을 제공을 해준다. Intelli j 에서 Preference -> Build,Execution,Deployment > Build Tools..
-
자바가 유료라서 코틀린이 대세라고요?카테고리 없음 2020. 10. 29. 09:22
자바가 유료라서 코틀린이 대세라고요? java 유료화를 다루기 이전에, java가 무엇인지에 대해서 알 필요성이 있다. JVM이 뭔지 JDK가 뭔지 JRE가 뭔지에 대해서 학습해야 한다. Java Virtual Machine (JVM) JVM 자바 가상 머신으로, 자바 바이트 코드를 OS에 특화된 코드로 변환하여 실행한다. (특정 플랫폼에 종속적이게 된다.) 여러 벤더에 따라서 구현이 다르고 스펙은 Oracle 문서를 통해 확인할 수 있다. 즉, JVM 은 자바 가상 머신이며, 바이트 코드를 어떻게 실행시킬 수 있는가에 대한 스펙일 뿐이고 구현체는 다양하고, 플렛폼은 종속적이다. > Native 코드로 바꿔서 실행해야하는데, 그 Native 코드도 OS에 따라 다르기 때문이다. Java Runtime E..
-
JPA 장인께서 소개하는 MySQL 사용시 JPA 성능 향상 방법 9가지-번역Jpa 2020. 10. 28. 21:34
먼저 이 글은 백기선님의 블로그 ( www.whiteship.me/ ) 을 보다가 알게된 블로그 출처: vladmihalcea.com/9-high-performance-tips-when-using-mysql-with-jpa-and-hibernate/ 의 글을 번역한 내용입니다. 하이버네이트를 사용하면서 MySql 의 성능 최적화를 할지에 대한 고민을 해봤다면 한번쯤 원본을 읽어보길 바란다. High Performance Tip in MySql with JPA & Hibernate JPA & Hibernate 를 MySQL 에 사용할 때 성능 향상 팁 Introduction 모든 관계형 데이터베이스의 고유한 SQL 표준 스탠다드가 있지만, 우리가 관계형 데이터베이스를 최대한 효율적으로 사용하기 위해서는 데..
-
함수형 인터페이스란?Java 2020. 10. 27. 21:33
함수형 인터페이스 우리가 잘 사용하고 있지만, 잘 모르고 사용했던, 함수형 인터페이스 (Functional Interface)는 인터페이스 내에 추상 메서드가 딱 하나 만 있으면 Functional Interface라고 한다. 함수형 인터페이스 예제 //1번 public interface Functional { void doIt(); } //2번 public interface Functional { abstract void doIt(); } //3번 @FunctionalInterface public interface Functional { abstract void doIt(); static void printName(){ System.out.println("java"); } default void pri..
-
NullPointerException(NPE) 필요한 이유Java 2020. 10. 20. 22:12
문뜩 백기선 선생님의 수업 (인프런 java 8)의 Optional에 대한 수업을 듣다가 궁금증이 생겼다. NPE 는 왜 발생하는 걸까? 해석해 보자면 다음과 같다. 1. null 의 인스턴스를 호출할 경우. 2. null object의 필드를 수정하거나, 접근하려고 할 경우 3. null array(배열)에서 길이를 알려고 할 경우 4. null array를 수정하거나 접근하려고 할 경우 5. Throwable 값인 것처럼 null을 던질 경우. (해석을 잘 못하겠음..) 내가 궁금한 내용은 이거다. 그냥 다른 언어들처럼 사용하려고 해도 null을 던져주면 안되는 걸까? 예를들어 ‘null’을 가진 객체를 출력한다고 가정해보자 NullPointerException이 생기는 상황 예제1. 다음과 같은 클..