Eclipse와 IntelliJ의 차이 eclipse => workspace 기준 IntelliJ => Project 그룹 기반 IntelliJ Maven 프로젝트로 변경 (1) Maven이란? 프로젝트를 위해 작성한 Java코드나 여러 자원들(.xml, .jar, .properties)를 JVM이나 톰캣같은 WAS가 인식할 수 있도록 할 수 있는 과정 및 결과물 Apache사에서 만든 build tool pom.xml 파일을 통해 정형화된 빌드 시스템으로 프로젝트 관리를 해줌 정해진 Life Cycle을 통해 Project를 빌드함 * (참조) 빌드도구란? - 소스코드에서 어플리케이션 생성을 자동화 하기위한 프로그램 - 코드를 사용하거나 실행 가능한 형태로 compiling, linking, packa..
JAVA 0. JAVA의 특징 - 객체지향 프로그램 언어 중 하나로 썬 마이크로 시스템즈에서 처음 발표 - 이식성이 높은 언어, 서로 다른 실행 환경을 가져도 자바 실행환경만 설치되면 모든 운영체제에서 실행가능 - 객체지향언어 (OPP) - 자바 8부터 람다식사용하여 컬렉션 요소를 필터링, 매핑, 집계처리하는게 쉬워짐 - 메모리 자동 관리 - 다양한 애플리케이션 개발 - 멀티 스레드 쉽게 구현 가능 - 속도가 느리고 , 예외처리가 불편 JAVA 8 - 출시일 :2014년 3월 * LTS와 비 LTS 버전의 차이 - 비 LTS는 업데이트 제공기간이 짧다 - 비 LTS 배포 주기 6개월 .... LTS 배포 주기 3년 - 주요기능 : 람다 표현식, 메소드 레퍼런스, 스트림 API, Optional 1. 기본..
Stream - Stream 이란 ? Collection Builder , 람다를 활용할 수 있는 기술 중 하나이다. 이전에는 for문과 foreach문을 돌 때 로직이 복잡해지면서 복잡한 경우가 발생한다. 스트림은 즉, 데이터의 흐름이기 때문에 배열 또는 컬렉션에 함수를 사용하여 원하는 결과를 필터링 할 수 있다는 장점이 있다. 즉 함수형으로 처리할 수 있다. - Functional Program에는 null을 직접적으로 다루지 않는다. Functional Program 이 더 안전하고 원하는 것을 더욱 더 쉽게 다룰 수 있다. (1) InStream - java.util.stream 패키지 내에 스트림관련 API존재 1 2 3 IntStream.range(1,10).forEach(i -> System..
함수형 프로그래밍 (Functional Programming) 자료처리를 수학적 함수의 계산으로 취급하고 상태와 가변 데이터를 멀리하는 프로그래밍 패러다임의 하나 프로그래머들이 일하는 새로운 패러다임을 제시함 함수에 동작에 의한 변수의 부수적인 값 변경을 원천 배제함으로써 이런 종류의 오류를 방지 외부 변수를 사용하더라도, 그 본체에 접근해서 변경하는것이 아니라 인자를 넣어서 사본으로 복사해가서 작업을 하기 때문에 어떤 작업을 하든 부작용은 일어나지 않는다. for문이나, while문의 경우 특정 변수의 상태 변화, 즉 부수효과를 필요로 한다. 특징존재 1. Input , Output이 있다. 2. 외부환경으로부터 독립적임 3. 외부환경으로부터 독립적이기 때문에 같은 Input에 대해서는 동일한 Outp..
1. 직렬화와 역직렬화란? 직렬화 Serialization object를 binary 형태의 파일로 바꾸는거 컴퓨터는 0과 1로 구성되어 있기 때문에 binary형태로 바꿔주는것이 필요 .bin이나 ser(Serialization) 역직렬화 Deserialization Binary형태의 파일을 Object로 생성하는것 직렬화가 필요한이유? - 저장이 필요하기 때문에 * JAVA - InputStream 1 2 3 4 FileOutputStream fsOut = new FileOutputStream("binFile.bin"); ObjectOutputStream osOut = new ObjectOutputStream(fsOut); osOut.writeObject(student); osOut.close(); ..
JAVA 데이터타입(문자열) - 한개의 문자 값에 대한 자료형은 문자(char)을 사용함 Type 메모리 크기 기본값 데이터 표현 범위 문자형 char 2 byte '\u0000' 0 ~ 65,535 (참고) JAVA의 변수 타입 - 기본형(Primitive Type)과 참조형(Reference Type) -> 링크 - (1) 기본형(primitive type) - Stack 메모리에 저장 ,실제값저장 - (2) 참조형(reference type) - 기본형을 제외한 타입들, Heap 메모리에 저장 형변환 char 예제 char a1 = 'a'; char a2 = 97; char a3 = '\u0061'; System.out.println(a1); //a -> 문자값 System.out.println(a..