본문 바로가기

반응형

좋아하는 것_매직IT/26.Java

람다식(Lambda expression) 깔끔하게 정리하기 Java 는 람다식의 도입으로 인해, 객체지향형인 동시에 함수형 언어가 되었다. 람다식의 정의 람다식은 메서드를 하나의 식(expression) 으로 표현한것을 말한다. 메서드를 람다식으로 표현하면 메서드의 이름과 반환값이 없어지므로, 람다식을 익명함수(anonymous function) 이라고도 한다. int[] arr = new int[10]; Arrays.setAll(arr, (i) -> (int)(Math.random()*10)+1); 위 람다식을 메소드로 나타낸다면 아래와 같다. int methodExam() { return (int)(Math.random()*10) + 1; } Java 에서 모든 메서드는 클래스에 포함 되어야하고 클래스도 새로 만들어야하며, 객체도 생성해야 비롯소 method.. 더보기
Java 스트림(Stream) 깔끔하게 정리하기 Java 8에서 새로 추가된 스트림(Stream) 기능은 컬렉션을 더욱 효율적이고 간편하게 다룰 수 있게 해줍니다. 스트림은 데이터 처리 방식을 명시적으로 표현할 수 있게 해주어 코드 이해도를 높이고 병렬 처리를 더욱 쉽게 할 수 있습니다. 스트림(Stream)이란? 스트림은 데이터를 처리하는데 사용되는 연속적인 데이터 요소의 시퀀스입니다. 각 요소는 한 번에 하나씩만 처리되며, 이는 배열이나 컬렉션과 같은 데이터 소스에서 생성될 수 있습니다. 스트림은 중간 연산과 최종 연산으로 구성되어 있으며, 이를 통해 데이터를 변환하고 결과를 도출할 수 있습니다. 기본적인 스트림 예제 아래는 간단한 리스트를 이용한 스트림의 예제 코드입니다. import java.util.Arrays; import java.util.. 더보기
openjdk 최신버전 다운로드 받기 이번 블로그에서는 Java 및 Spring boot개발을 하려면 openjdk 가 필수 이기때문에 그부분에 대해서 말씀드리고자 합니다. 개인적인 생각으로 자바의 많은 버전중에 지원기간이 긴 LTS(Long Term Support) 버전인 8 / 11 / 17 / 19중에 하나를 선택하여 받는것이 좋을것 같고요. 참고사항으로 19가 제일 최신 버전이고, 8 이나 17 버전이 가장 널리 사용되긴 합니다. 그리고, OpenJDK는 Java를 실행하기 위한 무료 오픈 소스 개발 키트라고 머릿속에 넣어두시면 될것 같고요.. 다음은 OpenJDK를 다운로드하고 설치하는 방법입니다. OpenJDK 다운로드 사이트에 접속합니다. (https://jdk.java.net/archive/) 원하는 Java 버전을 선택합니다.. 더보기
ChatGPT 연동 JAVA로 구현해보기 (ft.python, nodejs) openai 에서는 python과 nodejs 만 구현 예제가 있길래... 자바로 한번 공부차 구현해봤네요... 참고로 아래는 python 소스 import os import openai openai.api_key = os.getenv("OPENAI_API_KEY") openai.Completion.create( model="text-davinci-003", prompt="Say this is a test", max_tokens=7, temperature=0 ) 그리고 아래는 nodejs 소스 const { Configuration, OpenAIApi } = require("openai"); const configuration = new Configuration({ apiKey: process.env.O.. 더보기
HttpServer를 활용한 간단한 Mock 서버 구축하기 블로그 목적 HttpServer을 활용한 간단한 Mock 서버 구축에 대한 공부및 정리후 나만의 노하우와 지식을 공유한다. 블로그 요약 1. HttpServer 에 대해서 알아본다. 2. HttpServer 을 통해서 Mock 서버를 구축해본다. 블로그 상세내용 HttpServer 란? JAVA api 문서를 확인해보니 아래와 같이 설명하고 있습니다. (개인적으로 잘 정리해두시고요...) This class implements a simple HTTP server. A HttpServer is bound to an IP address and port number and listens for incoming TCP connections from clients on this address. The sub-c.. 더보기
면접때 꼭 물어보는 JAVA(JVM) 주요 메모리 영역 깔끔하게 정리하기 블로그 목적 : 면접때 반드시 물어보는 JAVA (JVM)주요 메모리 영역에 대해서 공부및 정리후 나만의 노하우와 지식을 공유한다. 블로그 요약 JAVA 주요 메모리 영역 4가지 반드시 숙지하기! 블로그 상세내용 면접때 반드시 물어보는 JAVA 주요 메모리 영역에 대해서 글로 간단하게 정리해본다. 아래 4가지는 꼭 숙지하도록 해야함!! - 메소드영역 / 스택영역 / 힙영역/ 메모리상수풀영역 메소드영역(Method Area) - static 변수, 전역변수, 코드에서 사용되는 클래스정보 등이 올라가는 영역 - 코드에서 사용되는 클래스들을 로더로 읽어 클래스 별로 런타임 필드데이터, 메소드 데이터등을 분류해 저장함. 스택영역(Stack Area) - 지역변수, 함수(메소드)등이 할당되는 LIFO(Last I.. 더보기
제네릭 클래스(generic class) 깔끔하게 정리하기 질문) 제네릭 프로그래밍이란? 정답! - 제네릭 프로그래밍(generic programming) 은 다양한 종류의 데이터를 처리할 수 있는 클래스와 메소드를 작성하는 기법을 말함. 제네릭(generic)의 특징 정리하기 - 참고로, 제네릭은 Java 버전 1.5 부터 추가된 기능. - 복잡한 어플리케이션을 개발할 때 발생하는 여러가지 버그들을 많이 줄일 수 있음. - 보통 Object 타입의 변수를 사용하는 것보다 안전하고 사용하기 쉬운특징을 지님. - Object는 모든 클래스의 상위 클래스.. - Object 를 사용하면, 데이터를 꺼낼 때마다 항상 형변환이 들어가야하는 단점...!! 질문) 어떤 종류의 객체도 저장할 수 있는 배열은 어떻게 만들까? 정답! - ArrayList 클래스, ArrayLi.. 더보기

반응형