본문 바로가기
728x90

🐎Language33

JAVA ver.8 Java 8버전이 많이 사용되는 이유. JDK 8은 2014년에 등장하였고 장기 지원(LTS)버전 중에서도 가장 오랜 기간 지원되는 버전이며, 이러한 이유로 많은 프로젝트들이 Java 8로 개발되었기 때문에 기존 제품과의 호환성과 안정성 등의 이유 때문에 아직까지도 가장 많이 사용되는 버전입니다. *Oracle JDK 버전별 지원 로드맵 Java 8버전의 핵심 기능들 Lambda Expression Stream Optional Class Lambda Expression 람다 함수(Lambda Function)란? 람다 함수는 함수형 프로그래밍 언어에서 사용되는 개념으로, 익명함수 라고도 불리고 있습니다. 람다 표현식을 사용하여 함수를 정의하며 이름이 없는 함수로, 코드를 간결하게 만들고 익명 함수를 간단.. 2023. 11. 10.
[Kotlin] 코틀린이란? (feat. Java) Kotlin은 JetBrains에서 개발한 신속하고 안전하며 실용적인 프로그래밍 언어로, 2011년 처음 공개되었다. Java 가상 머신 (JVM) 위에서 실행되며, Android 앱 개발을 비롯한 다양한 영역에서 사용되고 있다. 코틀린은 JetBranins에서 개발하는 크로스 플랫폼 범용 프로그래밍 언어로, 자바와 완벽하게 호환되도록 설계되었다. 일반적으로 JVM(Java Virtual Machine)에서 사용되나 Javascript, LLVM(Low Level Virtual Machine), Data Science 영역에서도 사용 가능하다. 파일 확장자는 일반적으로 .kt를 사용하며, 코틀린 스크립트는 .kts를 사용한다. 코틀린은 간결하고 실용적이며, 자바 코드와의 상호운용성(interoperabi.. 2023. 10. 15.
[Java] Thread와 MultiThread이란? Java에서 Thread 클래스는 하나의 실행 흐름을 나타내는 것이다. 즉 하나의 프로그램이 여러 작업을 동시에 수행할 수 있게 해준다. Thread 사용 분야 GUI 응용 프로그램: UI업데이트와 동시에 백그라운드 작업 수행. (file down, data processing) 웹 서버: 각각의 클라이언트 요청을 별도의 스레드에서 처리하여 다중 사용자 지원. 게임 프로그래밍: 게임에서는 화면 업데이트, AI계산, 사운드 처리 등의 작업을 별도의 스레드에서 병렬로 처리해야 부드러운 동작을 유지할 수 있다. 네트워크 프로그래밍: 여러 클라이언트와 서버 간의 동시 통신을 처리해야 한다. 데이터베이스 작업: 데이터 연산 시간이 오래 걸릴 경우 별도의 스레드에서 처리 가능. 자연어 처리: 대용량 텍스트 데이터를.. 2023. 9. 24.
[Java] Quartz 스케줄러 Quartz는 Java로 작성된 오픈소스 스케줄링 라이브러리이다. Quartz를 사용하여 Java 애플리케이션에서 작업을 예약하고 관리할 수 있으며, 복잡한 작업 예약 및 스케줄링을 간편하게 처리할 수 있도록 도와준다. 라이브러리 추가. org.quartz-scheduler quartz 2.3.2 구조 Job - 실행할 작업을 나타내는 인터페이스로 execute 메서드를 구현하여 작업 내용을 정의한다. JobDetail - Job을 실행하기 위한 상세 정보를 가진 객체로, Job 클래스와 그룹명, JobData 등을 포함한다. Scheduler - 작업의 실행과 관리를 담당하는 핵심 컴포넌트로, JobDetail과 Trigger를 관리하여 작업을 스케줄링한다. Trigger - Job을 실행하는 시점을 .. 2023. 9. 24.
[Java] Gson이란? 💡Gson은 Java 객체를 Json 형식으로 변환하는데 사용할 수 있는 Java 라이브러리 이다. Gson은 Google에서 제공하는 java용 Json 라이브러리로, Java 객체를 Json 형식으로 직렬화(serialize), Json 형식의 데이터를 Java 객체로 역직렬화(deserialize)를 간단하게 할 수 있게 해준다. Gson을 사용하기 위해서는 라이브러리를 추가해줘야 한다. # Gradle dependencies { implementation 'com.google.code.gson:gson:2.10.1' } # Maven com.google.code.gson gson 2.10.1 Java 객체 -> Json 형식 직렬화 import com.google.gson.Gson; public .. 2023. 9. 24.
[Language] Compile과 Interprete의 개념과 차이 컴퓨터는 0 / 1(전류가 입력되면 1, 없으면 0)로 밖에 판단할 수 없다. 그렇기 때문에 개발자가 작성한 소스코드를 0과 1로 구성된 기계어(binary code)로 변환해 줘야 컴퓨터가 코드를 이해하고 실행할 수 있는데 코드를 기계어로 변환하는 방법에는 compile, interpret 두 가지가 있다. 컴파일러 (Compiler) Compile은 번역하면 '집대성'이라고 한다. 즉, 여럿을 모아 하나로 크게 완성하는 것이라는 뜻이다. 컴파일러는 소스코드를 모아서(묶어서) 미리 컴파일(번역)해 두었다가 한번에 실행한다. C, C++, C#, JAVA 등 장점: 한번 스캔을 마치면 실행파일을 만들어 놓고 계속 사용하기 때문에 인터프리터보다 실행속도가 빠르다. 컴파일 과정에서 오류를 검출할 수 있기 때.. 2023. 9. 17.
[Java] JVM - JRE - JDK 📌JVM, JRE, JDK의 이해와 관계 JVM (Java Virtual Machine) jvm이란 자바 가상 머신으로 자바 프로그램 실행환경을 만들어주는 소프트웨어이다. 프로그램을 실행하기 위해서는 개발자가 작성한 코드를 컴파일을 통해 컴퓨터가 이해할 수 있는 기계어로 번역하는 과정을 거쳐야 한다. 만약 C언어로 개발한 프로그램을 윈도우에서 사용하려면 .exe 로 컴파일하여 실행시킬 수 있다. 하지만 해당 프로그램을 리눅스나 맥 등 다른 운영체제에서 사용하려면 다시 실행할 운영체제에 맞는 파일로 컴파일 해줘야 한다. Example > 하지만 Java는 코드를 자바 컴파일러를 통해 Java Bytecode로 .class 확장자를 가지는 파일로 변환하여 각 운영체제에 설치되어 있는 JVM에 전달하기만 하면.. 2023. 9. 17.
[Java] Optional 클래스 java.util.Optional은 Java 8에서 도입된 클래스로, 값이 존재하지 않을 수 있는 상황에 사용하면 NullPointerException을 방지하고 코드를 더 안전하게 만들 수 있다. 즉, 값이 존재하는 상태(NOT NULL)와 값이 존재하지 않는 상태(NULL)를 체크하며 에러를 발생시키지 않고 예외처리를 통해 코드의 안전성을 높인다. Optional 문법 사용 방법 1. Optional 객체 생성 : Optional.of(value): 만약 값이 null이라면 NullPointerException이 발생. Optional.ofNullable(value): 값이 null인 경우 빈 Optional을 반환. Optional optionalWithValue = Optional.of("Hell.. 2023. 9. 11.
[Java] Builder Pattern과 Method Chaining 빌더 패턴 (builder pattern) Java에서의 빌더 패턴(Builder Pattern)은 객체 생성 과정을 더 직관적이고 유연하게 만들기 위한 디자인 패턴이며, 주로 객체의 생성 과정이 복잡하거나 매개변수가 많을 때 사용된다. 특징 객체의 생성과 구성을 분리한다. 가독성이 높아진다. 메서드 이름을 통해 생성되는 객체의 구성 요소를 명확히 알 수 있다. 필수적인 매개변수와 선택적인 매개변수를 구분할 수 있다. 객체의 불변성을 보장할 수 있다. 메서드 체이닝 (method chaining) Method chaining은 객체의 메서드를 연이어 호출하는 프로그래밍 패턴을 말한다. 이 패턴을 통해 한 줄에 여러 메서드를 호출하여 객체를 설정하거나 조작할 수 있다. Method chaining은 코드의.. 2023. 9. 11.
728x90