반응형

JAVA 8

자바 가상 머신(JVM: Java Virtual Machine)? + JDK, JRE

자바 가상 머신(JVM: Java Virtual Machine) - 자바를 실행시키는 가상의 기계 - 소스파일을 컴파일러로 컴파일하여 생성한 바이트 코드 파일을 해석하고 실행할 수 있는 가상의 운영체제 - 바이트 코드는 모든 JVM에서 동일한 실행 결과를 보장하지만, 운영체제에 종속적 - JDK, JRE 설치 시 자동 설치되기에 운영체제에 맞게 JDK, JRE를 설치하면 된다 JDK VS JRE JDK JRE JDK: Java Development Kit JDK = JRE + 개발에 필요한 도구(컴파일러 등등) 자바 프로그램을 개발하려면 JDK 설치 JRE: Java Runtime Environment JRE = JVM + 표준 개발 라이브러리 개발된 자바 프로그램만 실행하려면 JRE 설치

JAVA/이론 2021.12.02

Java 특징

Java 란? - 고급 언어에 속하는 프로그래밍 언어, 썬 마이크로시스템즈에서 발표되었다 Java 언어 특징 이식성이 높은 언어다. 서로 다른 실행 환경을 가진 시스템 간에 프로그램을 옮겨 실행할 수 있다 JRE가 설치되어 있는 모든 운영체제에서 소스파일 수정 없이 실행 가능하다 객체 지향 언어이다. 객체를 만들기 위해 클래스를 작성하고, 객체들을 조립 및 연결해 프로그램을 완성하는 객체 지향 프로그래밍 기법에 사용된다. 객체 지향 언어가 지원하는 캡슐화, 상속, 다형성 기능을 가진다. 함수적 스타일 코딩을 지원한다. 함수적 프로그래밍은 대용량 데이터 병렬 처리, 이벤트 지향 프로그래밍에 적합하다. 자바에서는 함수적 프로그래밍을 위해 람다(Lamda)식을 자바 8부터 지원하고 있다. 메모리를 자동으로 관..

JAVA/이론 2021.11.30

Java 8 stream - forEach()

일반적으로 Java에서 사용하는 반복문은 for, while이다. 실제로 좀 무지했던건 맞지만 stream forEach를 사용할 생각은 안 해봤었다. 알고리즘 문제를 풀 때 주로 index를 활용해서 문제를 풀었기 때문이다. 그래서 index를 이용해야하는 소스코드라면 for, while을 쓰는게 더 직관적이라고 생각했다. 그리고 그 생각은 변함이 없다. 예시 1. List temp = Arrays.asList("hello", "world", "nice", "meet", "you"); temp.stream().forEach(System.out::println); for(int i = 0; i < list.size(); i++) { System.out.println(list.get(i)); } 예시 2...

JAVA/Stream 2021.09.08

double vs java.lang.Double 차이

1. double vs Double double Double - 기본 데이터 유형, primitive 타입 - 산술 연산 가능 , null 사용 불가능 - 객체, wrapper 타입 - null 초기화 및 사용 가능, 산술 연산 불가능 2. double Double - double -> Double : Boxing - Double -> double : UnBoxing int num = 10; // int to double double pdNum = (double)num; // int to Double Double odNum = Double.valueOf(num); // double to Double Double dtoDNum = Double.valueOf(pdNum); // Double to double..

JAVA 2021.09.05

Java 8 Stream이란?

이 카테고리를 따로 생성하게 된 이유는 Stream에서 사용되는 메서드들을 다루기 위함이다 1. Stream 이란? - 컬렉션(배열 포함)의 저장 요소를 하나씩 참조해서 람다식으로 처리할 수 있도록 해주는 반복자이다 2. Stream의 특징? 2.1 람다식으로 요소처리 코드를 제공한다 2.2 내부 반복자를 사용하므로 병렬 처리가 쉽다 - 내부 반복자 : 컬렉션 내부에서 요소들을 반복시키고, 개발자는 요소당 처리해야할 코드만 제공하는 코드 패턴 -> 개발자는 요소 처리 코드에만 집중 할 수 있다는 장점이 있다 -> 컬렉션의 parallelStream() API를 사용하면 요소들을 분배시켜 병렬 작업이 가능하다 - 외부 반복자 : 개발자가 코드로 직접 컬렉션의 요소를 반복해서 처리하는 코드 패턴 ex) fo..

JAVA/Stream 2021.09.04
반응형