Gatsby로 블로그 마이그레이션을 하여 이 링크를 클릭하면 해당 포스팅으로 갑니다. 감사합니다. http://blog.advenoh.pe.kr 1. Optional이란 자바로 개발하다 보면 NullPointerException(NPE)을 자주 만나게 됩니다. 아래 코드와 같이 객체가 null이고 null이 된 값을 쓰게 되면 NPE가 발생합니다. @Test(expected = NullPointerException.class)public void testOldJavStyle_throw_NPE() { String str = null; System.out.println(str.charAt(0)); //NPE 발생} NPE를 해결하기 위해서는 null에 대한 조건문을 추가해야 합니다. Null은 값..
Gatsby로 블로그 마이그레이션을 하여 이 링크를 클릭하면 해당 포스팅으로 갑니다. 감사합니다. http://blog.advenoh.pe.kr 1. 가비지 컬랙션이란?C/C++ 언어와 달리 자바는 개발자가 명시적으로 객체를 해제할 필요가 없습니다. 자바 언어의 큰 장점이기도 합니다. 사용하지 않는 객체는 메모리에서 삭제하는 작업을 Gargabe Collection(GC)라고 부르며 JVM에서 GC를 수행합니다. 기본적으로 JVM의 메모리는 총 5가지 영역(ex. 클래스, 스택, 힙, 네이티브 메서드, PC)으로 나뉘는데, GC는 힙 메모리만 다룹니다. 코드상에서 어떨 때 객체가 가비지 대상이 될까요? 간단하게 생각해보면 프로그램이 실행되면서 코드상에서 참조되지 않는 객체들이 대상이 될 것입니다. 일반..
Gatsby로 블로그 마이그레이션을 하여 이 링크를 클릭하면 해당 포스팅으로 갑니다. 감사합니다. http://blog.advenoh.pe.kr 1. 개요final 키워드를 떠올릴 때면 그냥 상수로만 생각할 때가 종종 있습니다. final을 클래스, 메서드, 변수에 선언하면 조금씩 할 수 있는 부분들이 제안됩니다. 너무 당연한 내용이지만, 시간이 지니니까 기억에서 사라져버려서 이번에 다시 한번 상기하기 위해 정리를 해보았습니다. 자바에서 final 키워드는 여러 컨텍스트에서 단 한 번만 할당될 수 있는 entity를 정의할 때 사용됩니다. (위키피니아) final 키워드는 총 3가지에 적용할 수 있습니다. 각각에 대해서 세부적으로 알아보죠. final 변수원시 타입객체 타입클래스 필드메서드 인자fina..
Gatsby로 블로그 마이그레이션을 하여 이 링크를 클릭하면 해당 포스팅으로 갑니다. 감사합니다. http://blog.advenoh.pe.kr 자바10언어JEP 286: Local Variable Type InferenceJVM/CompilerJEP 304: Garbage-Collector InterfaceJEP 307: Parallel Full GC for G1JEP 316: Heap Allocation on Alternative Memory DevicesJEP 317: Experimental Java-Based JIT Compiler기타 변경 및 개선사항JEP 296: Consolidate the JDK Forest into a Single RepositoryJEP 310: Application C..
Gatsby로 블로그 마이그레이션을 하여 이 링크를 클릭하면 해당 포스팅으로 갑니다. 감사합니다. http://blog.advenoh.pe.kr 자바BeyondJEP 301: Enhanced Enums - 현재 보류중 JEP 302: Lambda Leftovers - Candidate JEP 305: Pattern Matching - CandidateJEP ???: Data ClassesJEP 312: Switch Expressions - Proposed to Target (JDK12)JEP 326: Raw String Literals - Candidate 자바의 릴리스 주기가 6개월로 변경되면서 새로운 기능, 개선사항들이 빠르게 반영될 것으로 기대하고 있습니다. 아직 반영되지는 않았지만, 추후 자바 버..
Gatsby로 블로그 마이그레이션을 하여 이 링크를 클릭하면 해당 포스팅으로 갑니다. 감사합니다. http://blog.advenoh.pe.kr 자바11JEP 181: Nest-Based Access ControlJEP 309: Dynamic Class-File ConstantsJEP 315: Improve Aarch64 IntrinsicsJEP 318: Epsilon: A No-Op Garbage CollectorJEP 320: Remove the Java EE and CORBA ModulesJEP 321: HTTP Client (Standard)JEP 323: Local-Variable Syntax for Lambda ParametersJEP 324: Key Agreement with Curve255..
Gatsby로 블로그 마이그레이션을 하여 이 링크를 클릭하면 해당 포스팅으로 갑니다. 감사합니다. http://blog.advenoh.pe.kr 자바9Java Platform Module System JEP 222: Jshell - REPLJEP 158: Unified VM logging JVM component에 대한 공통 로깅 시스템 제공 (-Xlog) HTML5 Javadoc HTML5 형식의 API를 생성할 수 있는 도구 Language Update try-with-resources 개선private interface method interface에서는 항상 public로 정의해야 했는데, private도 가능하도록 함 diamond operator 익명 내부 클래스에서도 diamond opera..
Gatsby로 블로그 마이그레이션을 하여 이 링크를 클릭하면 해당 포스팅으로 갑니다. 감사합니다. http://blog.advenoh.pe.kr 자바8언어람다식 표현스트림Method ReferenceDefault MethodType inferece 개선Optional새 자바스크립트 엔진 (Nashorn)JDK11에서 제거될 예정Joda Time 방식의 새 날짜 API 변경JavaFX메타 데이터 지원 보완IO/NIO 확장Concurrency API 개선Heap에서 영속 세다(Permanent Generation) 제거 자바8에 추가된 여러 기능 및 개선 사항은 다음 링크를 참조해주세요. https://www.oracle.com/technetwork/java/javase/8-whats-new-2157071...
Gatsby로 블로그 마이그레이션을 하여 이 링크를 클릭하면 해당 포스팅으로 갑니다. 감사합니다. http://blog.advenoh.pe.kr 1.개요코딩을 하다 보면 어떤 작업을 하기 전에 전후 처리가 필요할 때가 종종 생깁니다. 전처리(pre-processing)에서는 실제 작업을 수행하기 전에 필요한 세팅을 하고 후처리(post-processing)에서는 cleanup 정도의 작업을 하게 됩니다. 이런 전후 처리를 여러 번 할 때에는 별도의 메서드로 구현해두면 좋습니다. 몇 개의 예제를 보면서 알아보죠. 2.예제 2.1 파일에 텍스트 String 값 쓰기파일에 쓰려면 기본적으로 파일 스트림을 열고 텍스트를 쓰고 나서 파일 스트림을 닫아야 합니다. 파일 스트림을 여닫는 부분을 전후처리로 만들어봅시..
Gatsby로 블로그 마이그레이션을 하여 이 링크를 클릭하면 해당 포스팅으로 갑니다. 감사합니다. http://blog.advenoh.pe.kr 1. Heroku란헤로쿠(Heroku)는 PaaS(Platform as a Service)형태의 클라우드 서비스입니다. 헤로쿠는 터미널이나 웹에서 필요한 여러 티어(ex. DB)를 쉽게 생성하고 연동시킬 수 있습니다. 최초 버전에서는 Ruby 언어만 지원하였지만, 현재는 메이저급 언어 대부분을 지원하고 있습니다. 1.1 Heroku Features Git 명령어로 앱을 배포함앱 배포 시 경량 가상화 컨테이너인 Dynos에서 실행됨여러 언어를 지원함 (Ruby, Java, Node.js, Scala, Clojure, Python, Php, Go)애드온(Add-o..