목차 Annotation? 자바 어노테이션은 자바 코드에 메타 데이터를 제공하기 위해 사용됩니다. @ 문자와 어노테이션 이름으로 구성이 되며, 컴파일러에서는 @ 문자로 시작이 되면 어노테이션으로 판단을 합니다. 어노테이션은 값을 저장할 수 있는 엘레멘트를 가지며, 어노테이션 이름 다음에 괄호 안에 엘레멘트를 정의합니다. @Entity(name = "table") 위의 어노테이션은 Entity라는 이름의 어노테이션이고 name이라는 엘레멘트를 가지며 name 엘레멘트의 값은 table입니다. 어노테이션은 클래스, 인터페이스, 메소드, 메소드 파라메터, 필드, 지역 변수 위에 위치할 수 있습니다. @Entity public class Animal { } Built-in Java Annotations Java..
목차 사용자 정의 어노테이션을 정의하여, 특정 메소드에 정의한 어노테이션을 선언하고 이 어노테이션이 정의 되어 있는 메소드를 찾아 메소드 이름을 출력하는 스프링부트 프로그램을 작성해보겠습니다. Annotation 정의 @interface를 사용하여 Print 어노테이션을 정의합니다. 어노테이션에 3개의 element를 정의합니다. 메소드에 적용 및 런타임에 사용하기 위해 Retention과 Target을 선언합니다. package com.example.anno.annotation; import java.lang.annotation.ElementType; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; i..
먼저 아래 사이트에 접속 합니다. https://www.azul.com Home Introducing Cloud Native Compiler Offload JIT compilation with the Cloud Native Compiler to enhance the performance of Java applications in any compute environment. www.azul.com 우측 상단에 있는 "Download Now"를 클릭합니다. 가운데 배너에 있는 "Choose Your Download"를 클릭합니다. 설치할 JAVA Version, OS( macOS ) 그리고 Architecture( ARM 64-bit )를 선택합니다. 우측에 나오는 .dmg 버튼을 선택하여, 설치파일을 다운..
목차 1. readAllBytes() inputstream의 readAllBytes()는 JAVA9 버전부터 이용이 가능합니다. package com.example.logbacksample; import lombok.extern.slf4j.Slf4j; import org.apache.commons.io.IOUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.ApplicationArguments; import org.springframework.boot.ApplicationRunner; import org.springframework.core.io.ResourceLoader; ..
1. List 생성 new 로 List를 생성하고, add() 함수로 리스트에 값을 추가해 줄수 있지만 코드를 보다 짧게 작성하고 싶을땐 asList 함수를 사용하여 생성하면 됩니다. 그리고 생성된 List를 ArrayList로 만들고 싶을 땐, addAll() 함수로 List의 모든 값을 넣어주면 됩니다. // List 생성 List list = Arrays.asList("item1", "item2"); // List로 ArrayList 생성 ArrayList arrayList = new ArrayList(); arrayList.addAll(list); 2. 빈 List 생성 예외적인 케이스에 비어있는 리스트를 만들기 위해 종종 사용합니다. List list = Collections.emptyList();
자바의 제네릭(Generic)에 대해 알아보겠습니다. 제네릭은 데이터의 타입을 일반화 해주며, 컴파일 시에 타입이 정해집니다. 예를 들어, ArrayList 객체를 생성할 때 안에 타입 파라미터를 정의하여 ArrayList에 어떤 타입의 데이터를 담을 것인지를 명시합니다. List numberList = new ArrayList(); ArrayList의 클래스를 보면 ArrayList로 제네릭을 사용하여 정의가 되어 있는데, 위와 같이 Integer 타입 파라미터를 정의하여 객체를 생성하면, 컴파일 시에 제네릭은 E는 Integer 타입이 되고, add함수는 add(Integer e)가 되어 Integer만을 받아 arrayList의 엘레멘트에 추가를 합니다. public class ArrayList e..
JAVA 를 쓰다보면, 버전이 급격하게 다른걸 한번씩 보게 되는데 뭐지? 라고 생각은 했으나 그냥 별 생각없이 써왔었습니다. 그러다 문득 sourceCompatibility 를 설정 하다가 버전이 너무 낮은 것 같아( 1.8 ) 로컬에 설치된 JAVA 버전을 확인하니 "11.0.1" !!! 음?? 너무 버전차이가 심한것 아닌가 싶어서 알아보게 되었습니다. 먼저 gradle에 sourceCompatibility 설정 값을 찾아보니, 아래와 같이 JavaVersion.class에 enum type으로 정의가 되어있습니다. VERSION_1_1 VERSION_1_2 VERSION_1_3 VERSION_1_4 VERSION_1_5 VERSION_1_6 VERSION_1_7 VERSION_1_8 VERSION_1..
평소처럼 리눅스에서 자바 앱을 실행했는데 갑자기 아래와 같이 경고가 뜨는 경우가 있습니다. 분명 프로그램은 기존에 쓰던 것 그대로 인데,, 경고가 떠서 당황스러울 때가 있습니다. OpenJDK 64-Bit Server VM warning: Insufficient space for shared memory file: Try using the -Djava.io.tmpdir= option to select an alternate temp location. 그럴 때는 PC의 용량을 확인해 보면, 100% 다 찬것을 확인할 수 있는데 정리를 좀 해주면 다시 뜨지 않습니다. $ df -h Filesystem Size Used Avail Use% Mounted on /dev/vda1 20G 20G 0 100% /
로컬 환경이나, 다른 서버에서는 잘 되던 jps 가 어떤 서버에서는 되지 않는 경우가 있습니다. 여기서 "되지 않는다"는 건, jps 를 입력했는데 아무런 결과가 없다는 말입니다. jvm 인스턴스가 하나도 없더라도 Jps 에 대한 결과는 나와야되거든요. [abc@비정상서버 ~]$ jps [abc@비정상서버 ~]$ [abc@정상서버 ~]$ jps 10944 Jps 그래서 자바 버전도 확인하고, 환경변수도 보고 뭐 이래저래 찾아보다가 아래 stackoverflow 질문을 보게 되었습니다. ( stackoverflow.com/questions/3805376/jps-returns-no-output-even-when-java-processes-are-running ) 자바 프로세스가 돌아가고 있는데도, 아무런 결..
- Total
- Today
- Yesterday
- AWS
- Spark
- elasticsearch
- Container
- Size
- apm
- intellij
- Java
- Linux
- install
- SpringBoot
- mac
- error
- Index
- plugin
- Postman
- logstash
- JSON
- spring
- Kibana
- maven
- scala
- tomcat
- Filter
- Log
- docker
- spring boot
- Git
- JPA
- gradle
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |