본문 바로가기

개발공부/JAVA

모던 자바인 액션 : 스트림 4.1 스트림 소개 : 자바 애플리케이션의 대부분은 컬렉션을 만들고 처리하는 과정을 포함 : 컬렉션으로 데이터를 그룹화 하고 처리할 수 있음 : 많은 요소를 포함하는 커다란 컬렉션의 경우 성능을 높이려면 멀티코어 아키텍처를 활용해서 병렬로 컬렉션의 요소를 처리해야한다. => 어렵고 복잡함 이를 해결하기 위한 : 스트림 등장! 스트림이란? 자바 8 API에 추가된 새로운 기능 스트림은 데이터 컬렉션 반복을 멋지고 간편하게 처리하는 기능 멀티스레드 코드를 구현하지 않아도 데이터를 투명하게 병렬로 처리할 수 있음. p136 기존의 코드와 자바 8비교 소스 코드 (.stream() / .parallelStream()) 스트림과 파라렐 스트림은 (멀티코어 아키텍쳐에서 병렬로 실행할 수 있음) 스트림의 장점 : 람.. 더보기
모던 자바인 액션 1장 자바8 - 스트림 API - 메서드에 코드를 전달하는 기법 - 인터페이스의 디폴트 메서드 자바8 기법은 함수형 프로그래밍에서 위력을 발휘한다. * 병렬성을 활용하는 코드, 간결한 코드를 구현 1.1 멀터코어 병렬성 1.2 코드를 메소드로 전달하는 기법의 강점 1.3 스트림API(병렬형 데이터를 표현하고 이들 데이터를 쉽게 병렬로 처리할 수 있음) 1.4 디폴트 메서드 1.5 JVM을 구성하는 자바 및 기타 언어에서 함수형 프로그래밍이라는 존재가 어떤 영향을 미치는지 1.2.2 스트림 처리 스트림이란 한 번에 한 개씩 만들어지는 연속적인 데이터 항목들의 모임 이론적으로 프로그램은 입력 스트림에서 데이터를 한 개씩 읽어 들이며 마찬가지로 출력 스트림으로 데이터를 한 개 씩 기록함. 자바 8에는 java.ut.. 더보기
[인프런강의] 더 자바, 자바8 : 2강 함수형 인터페이스란? - 함수형 인터페이스는 인터페이스 하나에 하나의 추상메소드가 있는것. 두개 있음 안됨 - @FuctionalInterface 사용(자바에서 제공해주는 어노테이션) 인터페이스에서 정의 할 수 있는 메소드의 형태가 다양해짐 - abstract 생략가능 - 인터페이스 안에서 static 메소드를 정의 가능 - default 메소드를 정의 가능 람다표현식이란? - 코드를 줄일 수 있음 - 함수형 인터페이스의 인스턴트를 만드는 방법으로 쓰일 수 있음 - 메소드 매개변수, 리턴타입, 변수로 만들어 사용할 수 있음 자바에서 함수형 프로그래밍 - 자바에서 first class object로 사용할 수 있음(?) - 고차함수 : 함수가 함수를 매개변수로 받거나, 함수를 리턴할 수 있음 - 순수함수:.. 더보기
Spring Initializr로 Spring Boot 프로젝트 생성하는 방법 Spring Initializr로 Spring Boot 프로젝트 생성하기 IntelliJ Community User 기준 1. Spring Boot Helper를 쓴다. => (유료임) 2. https://start.spring.io/ 를 이용한다. 이 페이지에서 프로젝트 만든 다음에 경로 설정해서 오픈하면 됨! 더보기
[인프런강의] 더 자바, 자바8 1강 * 자바 8 출시일 : 2014년 3월 주요기능 : - 람다 표현식 - 메소드 레퍼런스 - 스트림 API - Optional ... * 자바 최신 버전 및 관련 글 확인하기 https://www.oracle.com/java/technologies/java-se-support-roadmap.html Oracle Java SE Support Roadmap Oracle provides this Oracle Java SE Support Roadmap, to help you understand maintenance and support options and related timelines. If you are looking for the latest free JDK release from Oracle under .. 더보기
[JAVA] Jsoup 사용하여 네이버 주가 크롤링 (소스포함) 갑자기 쓰던 API가 유료전환되는 바람에 그냥 네이버 크롤링을 하기로 했다! ╯︿╰ 자바 크롤링 라이브러리인 JSoup을 사용한다 1. 라이브러리 추가 : 직접 다운을 받고 연결하거나 pom.xml에 추가해주면됨 https://jsoup.org/download Download and install jsoup Download and install jsoup jsoup is available as a downloadable .jar java library. The current release version is 1.14.1. What's new See the 1.14.1 release announcement for the latest changes, or the changelog for the full hi.. 더보기
[JAVA] 날짜 관련 코드 모음집(날짜 더하기, 빼기, 변환, 형식..등등) Date를 쓰면 보통 4개의 클래스를 import한다. 1. java.text.SimpleDateFormat : 날짜 형식 맞추기 위함 2. java.text.parseException : string에서 date 형식으로 바꿔 줄 때 parse를 쓰는데 exception 적용필요 3. java.util.Calendar : 날짜 더하고 빼고 위함 4. java.util.Date : 날짜 구하기 위함 🔸String에서 Date형식으로 변환 / Date에서 String 형식으로 변환 : String=> Date Date date = format.parse(sdate); : Date => String String sdate = format.format(date); import java.text.ParseExc.. 더보기
[JAVA] 문자열 자르기 ( indexOf()/ substring() / split() ) 1. indexOf() String finds = "abc-def" int idx = finds.indexOf("-"); // 인덱스값 3 2. substring() String finds = "abc-def"; String ans = finds.substring(0,3); //abc String ans2 = finds.substring(4); //def 3. split() : 지정한 문자를 기준으로 문자열을 잘라 배열로 반환한다. String finds = "2021/4/13"; // '/'를 기준으로 문자열을 자른다. String date[] = birthday.split("/"); for(int i=0 ; i 더보기