본문 바로가기

java7

[Java] Java 버전별 특징 : Java 16~17 Java 16java 16에선 큰 변경사항 없이 기존에 나왔던 것들에 대한 개선 및 ZGC 개선, 수치 계산과 데이터 처리의 고성능 수행을 도와줄 Vector API 등이 나옴. Java 17LTS (Long-Term Support) 버전으로 장기적인 지원을 받는 버전입니다.SpringBoot 3.x 버전부터는 Java17이상의 버전을 사용해야하기 때문에 8,11 -> 17로 올리는 경우가 많습니다. macOS AArch64 지원 (JEP 391)JEP 391은 Java 17에서 macOS의 AArch64 플랫폼을 지원하기 위한 기능으로, Apple의 Apple Silicon (M1, M2 등) 기반 ARM 아키텍처에서 Java 애플리케이션을 원활히 실행할 수 있도록 설계되었습니다. 이는 특히 Apple.. 2024. 10. 9.
[Java] Java 버전별 특징 : Java 14 (Record, instanceof 개선, NPE 개선) Record 타입 (Preview)Java 14부터 Record 타입이 사용 가능합니다.record타입은 불변객체 타입으로 해당 필드에 final 선언 및 생성자, getter, equals(), hashCode(), toString() 메서드를 자동으로 생성합니다. VO 객체에 사용하면 좋을 듯!public class Java14 { public static void main(String[] args) { testRecord(); } private static void testRecord() { // 생성자, getter, equals(), hashCode(), toString() 메소드 자동 생성 Person person = new Person(".. 2024. 10. 6.
[Java] Java 버전별 특징 : Java 13 (Text Blocks, Dynamic CDS Archives, ZGC 개선) Text Blocks (Preview)기존에는 여러 줄 문자열을 작성할 때 \n 같은 이스케이프 문자를 사용해야 했지만, 이제 """를 사용하여 더 간결하게 작성할 수 있습니다. 이 기능은 특히 HTML, JSON과 같은 여러 줄 문자열을 다룰 때 유용합니다./** * Java 13 * * textBlocks */public class Java13 { public static void main(String[] args) { textBlock(); } private static void textBlock() { String textBlock = """ first text second text .. 2024. 10. 6.
[Java] Java 버전별 특징 : Java 12 (Switch Expressions with yield, G1GC 개선, 더 빠른 시작시간 및 메모리 최적화) Switch Expressions (Preview)/** * Java 12 - Switch Expressions (Preview -> 13에서 반영) * yield 처리 * * yield: switch 표현식에서만 사용되며, 특정 case 블록에서 값을 반환하지만 실행 흐름을 종료하지 않고, * switch 표현식의 결과로 값을 반환하는 역할을 합니다. */public class Java12 { public static void main(String[] args) { originSwitch(); Java12Switch(); } private static void originSwitch() { int day = 2; String dayStr.. 2024. 10. 5.
[Java] 제네릭(Generic) 제네릭이란 다양한 타입의 객체들을 다루기위해 클래스,인터페이스,메서드에 쓰이는 타입 매개 변수이다. 장점 1. 타입 안정성을 제공 2. 타입체크와 형변환을 생략가능 제네릭 클래스 선언 제네릭 타입은 클래스와 메서드에 선언 가능하다. class Box{ Object item; void setItem(Object item){ this.item = item; } Object getItem(){ return item; } } // 제네릭 class Box{ // 제네릭 타입 T를 선언 T item; void setItem(T item){ this.item = item; } T getItem(){ return item; } } 클래스 옆에 ''를 붙여서 선언. Obejct를 모두 'T'로 변경 여기서 T는 '타입.. 2022. 3. 11.
백엔드 신입 면접질문 공부(자바 Java) 주관적인 평가 상: 많이 나올만한 내용 중: 나올수도 있는 내용 하: 잘 안나올 거 같은 내용 객체 지향이란 무엇인가요?(중) 더보기 : 실생활에서 쓰는 모든 것을 객체라고하는데, 객체지향 프로그래밍이란 프로그래밍 구현에 필요한 객체를 파악하고 정의하여 객체들간의 상호작용을 통해 프로그램을 만드는것을 뜻합니다. 객체 지향적 설계 원칙 5가지에 대해 얘기해주세요.(상) 더보기 1 SRP 단일 책임 원칙(Single Responsibility Principle) 한 클래스는 하나의 책임만 가져야 한다. 하나의 책임은 모호 클 수도 있고, 작을 수도 있다. 문맥과 상황에 따라 다름 중요한 기준은 변경. 변경이 있을 때 파급 효과가 적으면 단일 책임 원칙을 잘 따른 것 EX) UI 변경, 객체의 생성과 사용 분.. 2022. 3. 2.
[알고리즘 문제풀이] 백준 2064 IP주소 (JAVA) https://www.acmicpc.net/problem/2064 2064번: IP 주소 네트워크에 연결되어 있는 컴퓨터들은 각각 하나의 IP 주소를 갖게 된다. 그리고 이러한 IP 주소를 갖는 컴퓨터들이 여러 개 모여서 하나의 IP 네트워크를 구성하게 된다. IP 네트워크는 ‘네트워 www.acmicpc.net 문제푸는데 도움이 된 글 https://limkydev.tistory.com/166 [Network] 서브넷마스크(Subnet Mask)란? *선행지식 2018/11/10 - [전공지식/Network] - [Network] IP주소란? 2018/11/11 - [전공지식/Network] - [Network] IP주소 클래스(A,B,C class)란? 1) 서브네팅이란? (Subnetting) 서브.. 2022. 1. 13.