일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- Linux
- spark
- Gradle
- design pattern
- Clean Code
- DDD
- 스프링 배치
- 도메인주도설계
- Spring
- Spring Boot
- Domain Driven Design
- intellij
- hibernate
- Spring XD
- hdfs
- Java
- Hbase
- 제주
- Storm
- apache storm
- scala
- elasticsearch
- Angular2
- elastic search
- Spring Batch
- docker
- SBT
- hadoop
- 엘라스틱서치
- nginx
- Today
- Total
목록JAVA/Pleasure (5)
욱'S 노트
Using Nashorn Nashorn은 자바 프로그램에서 사용할 수 있는 자바스크립트 엔진이다. Nashorn은 커맨드라인에서 사용할 수 있는데 jjs라는 커맨드로 실행시킬 수 있다. $ jjsjjs> print('Hello World'); 이번 튜토리얼은 자바코드에서 nashorn을 사용하는 것에 포커스를 맞춘다. 다음은 간단한 HelloWorld 예제이다. 자바에서 자바스크립트를 수행하기 위해서 nashorn 스크립트 엔진을 먼저 생성해야 한다.ScriptEngine scriptEngine = new ScriptEngineManager().getEngineByName("nashorn"); scriptEngine.eval("print('Hello world');"); 자바 스크립트 코드는 위와 같이 ..
How streams work 스트림은 엘리먼트의 처리순서를 표현하고 이러한 엘리먼트들에 다른 종류의 연산을 제공한다.List myList = Arrays.asList("a1", "a2", "b1", "c2", "c1"); myList .stream() .filter(source -> source.startsWith("c")) .map(String::toUpperCase) .sorted() .forEach(System.out::println);스트림 연산은 intemediate 또는 terminal이다. Intermediate 연산은 stream을 리턴하여 세미콜론 없이 메소드 체이닝형식으로 사용할 수 있다. Terminal 연산은 void이거나 stream이 아닌 값을 리턴한다. 위의 예에서 filte..
Java 8의 가장 주요한 변화는 더 빠르고, 명확하게 코딩할 수 있는 펑션 프로그래밍을 수행할 수 있게 되었다는 것이다. 자바는 1990년대에 객체지향 프로그래밍 언어로서 설계되었다. 그 당시 객체지향 프로그래밍은 소프트웨어 개발의 주요한 패러다임이였다. 객체지향 프로그래밍 훨씬 전에 Lisp 이나 Scheme 같은 함수형 프로그래밍 언어가 존재하였지만 학술적 영역외에서는 별다른 빛을 보지 못하였다. 최근 함수형 프로그래밍의 중요설이 대두되고 있는데 그 이유는 동시성과 이벤트 처리 프로그래밍에 적합히기 때문이다. 이 의미는 객체지향이 나쁘다는 것이 아니라, 객체지향과 함수형 프로그래밍을 적절히 사용하는 것이 좋은 전략이라는 것이다. 이것은 동시성에 관심이 없더라도 충분히 유의미하다. 예를 들어 컬렉션 ..
NIO (New Input/Output) vs IO (Input/Output) and NIO.2 in Java Non-blocking I/O (일반적으로 NIO라고 불리우고 때때로 New I/O라고도 함)은 강력한 I/O 오퍼레이션 기능을 제공하는 자바 프로그래밍 API이다. NIO는 J2SE 1.4에서 표준I/O를 보완하기 위해서 소개되었다. 또 NIO는 확장되어 자바7에 NIO2라고 불리는 새로운 파일시스템 API를 제공한다. What Is Input/Output I/O는 소스로부터 데이터를 읽어서 목적지에 데이터를 읽는 것이다. 데이터는 입력 소스로부터 읽고 출력 목적지로 쓰여진다. 예를 들어 당신이 키보드가 표준 입력으로 동작하면 데이터를 읽어 당신의 프로그램에 쓰여지는 것이다. 표준출력으로 텍스..
자바를 배우기 시작하는 사람이나 다른 언어를 사용하는 사람들에게서 stack과 heap 메모리의 차이를 묻는 것은 일반적이다. Stack과 heap 이라는 두 단어를 누구나 들어봤지만, 명확하게 설명하는 것은 어려운을 흔히 겪는다. 이런 상황은 stack과 heap의 연관관계에 대한 오해에서 비롯된다. 더 혼란스럽게도 stack은 jata.util 패키지에 있는 LIFO순서로 데이터를 저장하는 데이터 구조체이기도 하다.일반적으로 stack과 heap은 메모리의 부분이다. 프로그램은 다른 목적으로 stack과 heap을 사용하며 할당한다. 자바 프로그램은 "java"라는 명으로 실행되는 프로세스의 JVM 상에서 실행된다. 자바 또한 stack과 heap을 다른 목적으로 이용한다. 자바에서 stack과 he..