728x90

자바Java 20

Java GC 로그분석기

🔘 GC 로그 분석 접근 방식(3건) ✔️ 로그 분석 전용 GC 도구 사용: GCPlot 등 ✔️ GC 로그 통합 대시보드: Sematext Logs 등 ✔️ JVM 모니터링 도구와 연계: Sematext Cloud의 Sematext JVM Monitoring 1. GCViewer - Java 1.5 GC 로그 분석이 가능하고, 최신 Java 버전과 G1 GC를 지원 - 메모리 사용률 및 GC 프로세스 전반에 대한 포괄적인 정보를 제공 - OpenJDK 9 및 10에 대한 통합 로깅과 Java 8 지원 - 오픈 소스이며 개인 및 상업적 용도로 완전히 무료임 2. GCPlot - 로그 또는 lightweight한 에이전트를 사용하여 GC 작업을 분석하여 JVM 내부에서 일어나는 일에 대한 통찰력 있는 정보..

자바Java 2023.08.23

Jackson, GSON, JSON-SIMPLE

웹 서비스를 개발할 때, 대다수의 개발자가 마주치게 되는 것이 JSON 입니다. API의 개념이 도입되면서 클라이언트와 서버는 JSON 포멧으로 데이터를 주고받는게 일반적이며, 시스템 간 서버끼리 데이터를 주고 받을 때도 API 형식으로 데이터를 넘겨주는 경우가 있습니다. 백엔드에서는 Java Entity를 JSON 문자열로 변환하거나 JSON 문자열을 Java Entity로 편하게 변환하기 위해 라이브러리를 사용하는데, 대표적으로 Jackson, GSON, JSON-SIMPLE이 있습니다. 세 개의 라이브러리 중 어떤 라이브러리를 사용해야 할까요? 단순히 코드 짜기 편한 라이브러리를 선택한다면, 성능 상 이슈가 발생할 수 있습니다. 본인이 서비스하는 시스템의 특성에 따라 라이브러리를 선택할 것을 권장합..

자바Java 2023.06.02

주니어 자바 개발자를 위한 100가지 질문 2편

6️⃣ Java Web 📌 jsp와 servlet의 차이점은 무엇인가요? 📌 jsp를 기본 제공하는 객체는 무엇이 있나요? 📌 4개의 jsp scope에는 무엇이 있나요? 📌 세션과 쿠키의 차이는 무엇인가요? 📌 세션 과정을 설명해주세요. 📌 쿠키를 사용할 수 없을 때 세션을 대신 사용할 수 있을까요? 📌 스프링 MVC와 struts의 차이는 무엇인가요? 📌 SQL Injection을 피할 수 있는 방법을 설명해주세요. 📌 XSS 공격이 무엇이고, 어떻게 피할 수 있는지 설명해주세요. 📌 CSRF 공격이 무엇이고, 어떻게 피할 수 있는지 설명해주세요. 7️⃣ 예외 클래스 📌 throw와 throws의 차이는 무엇인가요? 📌 final, finally, finalise의 차이는 무엇인가요? 📌 try-ca..

자바Java 2023.05.31

주니어 자바 개발자를 위한 100가지 질문

1️⃣ 기초 📌 JDK와 JRE의 차이점은 무엇입니까? 📌 ==와 equals의 차이점은 무엇입니까? 📌 두 객체가 동일한 hashCode를 가지면 Equals()가 참이어야 합니다, 그렇죠? 📌 자바에서 final의 기능은 무엇입니까? 📌 자바에서 Math.round(-1.5)는 무엇을 의미합니까? 📌 String은 기본 데이터 타입입니까? 📌 자바에서 문자열을 조작하는 클래스는 무엇이 있습니까? 각 클래스의 차이점은 뭘까요? 📌 String str ="i"와 String str = new String("i")가 동일합니까? 📌 문자열을 반전시키는 가장 좋은 방법은 무엇인가요? 📌 String 클래스의 일반적인 메서드는 무엇이 있나요? 📌 추상 클래스에서 추상 메서드는 필수적인가요? 📌 보통의 클래스와..

자바Java 2023.05.31

Jackson 사용법

Jackson 이란? Java Object를 JSON으로 변환하거나 JSON을 Java Object로 변환하는데 사용할 수 있는 Java 라이브러리입니다. Jackson Github - https://github.com/FasterXML/jackson Jackson 특징 1.Stream API : 스트림 형식으로 데이터를 분석하고 생성하기 때문에 성능이 좋습니다. 2.Tree Model : XML의 DOM 처럼 Node 형태로 데이터를 다룰 수 있기 때문에 유연성이 좋습니다. 3.Data Binding : POJO 기반의 자바 객체들을 JSON으로 변환시킬 수 있습니다. Maven 설정 jackson-databind 라이브러리는 jackson-core 및 jackson-annotation 라이브러리의 의..

자바Java 2023.05.03

람다식(람다와 스트림)

람다식 함수(메서드)를 간단한 식으로 표현하는 방법 int max(int a, int b) {return a (a, b) -> (a, b) ? a : b; 익명 함수 ( 이름이 없는 함수) 메서드를 람다식으로 바꾸고싶을 때 -> 메서드의 반환 타입과 이름을 지우고 블록{} 앞에 화살표(->) 넣기 이러면 이름이 없어지니까 익명함수라고 함 반환 값이 있는 경우, 식이나 값만 적고 return문 생략 가능(끝에'';' 안붙임) 예시) (int a, int b) { return a (int a, int b) -> a>b ? a : b 매개변수의 타입이 추론가능하면 생략가능(대부분 경우 생략 가능) 예시) (int a, int b) -> a>b ..

자바Java 2023.03.28

자바 printf 출력문

주로 print, println만 쓰다가 갑자기 printf 를쓰니 머릿속이 새하얘지며 기억이 안났다. printf 는 서식이 있는 출력으로 지시를 통해 변수의 값을 여러 가지 형식으로 바꿔서 출력할 수 있다. ex) System.out.printf ("출력 서식", 출력할 내용); %d 정수형 출력 %s 문자형 출력 %f 실수형 출력 %c 문자열 출력 %n 줄 바꿈 %b boolean 출력 예제 2. printf예제 } public class PrintTest { public static void main(String[] args) { int a = 3; char b = 'A'; String c = "Code"; System.out.printf("a = %d %n",a); System.out.print..

자바Java 2022.12.28
728x90