자바
-
JAVA 8 핵심만 정리했다JAVA 2019. 2. 22. 22:27
들어가며 JAVA 12 가 나오는 마당에 아직도 어쩔수 없이(?) JAVA 8을 사용하지 못하는 사람들을 위해 JAVA 8 의 기본 사항만 짧게 정리해 봤다. 이런 강좌(?) 같은 글을 처음 써 보기 때문에 확신할 수 는 없지만, 대략, 자바 초보부터 전문가 까지 두루두루 읽고 이해할 수 있게 작성하는 것이 목표다. 새로운 기능 JAVA 8 은 JAVA 의 중요한 릴리즈 버전 중 하나를 말한다. 2014년에 최초 릴리즈 되었으며, 다음의 기능을 지원한다. Lambda expression - 자바에서 Functional 프로그래밍이 일정 부분 가능해졌다. Method reference - 함수를 파라메터로 사용할 수 있다. Default method - 인터페이스에서 기본 메소드를 구현할 수 있다. New..
-
모든 레벨의 프로그래머를 위한 10가지 Java 블로그JAVA 2018. 4. 20. 07:18
Vlad MihalceaVlad Mihalcea는 세계 정상급의 Java 전문가이자 고도의 기술을 갖춘 멘토입니다. Vlad는 2014년부터 블로거이자 선생님으로 활동 해 왔으며, 현재 한 달에 약 75,000 명이 방문합니다. 가장 최근에 Vlad는 Hibernate를 살펴보고 새로운 팁, 트릭 및 베스트 프랙티스를 올리고 있습니다. 다양한 기사를 통해 모든 수준의 개발자가 사용할 수 있는 정보가 있습니다.Vlad의 블로그는 큰 성공을 거두었고, 그는 기존 기사를 활용하고 새로운 콘텐츠를 작성하여 고성능 Java 지속성(High-Performance Java Persistence) 이라는 책을 쓸 수 있었습니다. 이 책에서 Vlad는 Java의 데이터 액세스 성능 튜닝과 연결 관리, 배치 업데이트, 패..
-
Java10이 당신의 코드 방식을 어떻게 바꿀 것인가JAVA 2018. 2. 28. 07:21
이 문서는 영문으로된 내용을 구글 번역기를 활용하여 번역한 내용입니다. 개인적인 공부 및 추후 다시 볼 수 있도록 하기 위해 개인 블로그에 번역 내용을 옮겨 놓았습니다. 원문과 내용이 다를시 책임지지 않으며, 저작권 문제가 발생시 언제든 삭제 될 수 있습니다. 원문보기 : https://blog.takipi.com/how-java-10-will-change-the-way-you-code/ Java10이 당신의 코드 방식을 어떻게 바꿀 것인가Java 10에 포함될 새로운 Java 로컬 변수 유형 추론 기능 강조 표시2016 년에 JEP (JDK Enhancement Proposal)가 Java 커뮤니티에서 파도를 일으키고 있었습니다 : JEP 286. 2년 후, 로컬 변수 유형 추론은 틀림없이 Java 1..
-
람다 표현식을 사용한 잠금(lock) 관리JAVA 2017. 3. 17. 18:52
잠금(lock)은 병렬로 실행되는 자바 애플리케이션에서 중요한 역할 을 한다. synchronized 는 상호 배재(mutual exclusion)를 제공하기 위해 사용되어온 오래된 키워드이지만, 두가지 단점을 가지고 있다. 메서드가 호출되는 시간을 제어하기 어렵다. - 이것은 데드록(deadlock) 과 라이브록(livelock) 이 발생할 가능성을 증가시킨다.synchronized 를 실제 적용하는 것이 어렵다. - 코드가 thread safety에 있는지를 체크하기 위한 unit test를 어렵게 만든다. synchronized 의 문제를 해결하기 위해 자바5 에서 Lock 인터페이스와 ReentrantLock 등의 구현이 추가 되었다. Lock 인터페이스는 lock, unlock, check 등에..
-
가비지 컬렉션...JAVA 2014. 10. 30. 13:51
JDK 1.4 를 쓰던 시절, GC 수행시 메모리 반환을 하도록 하기 위해 다 사용한 Object 는 null 로 만들었습니다. 오래된 기억이지만, 당시 JDK 의 버그로 인해서 이런식의 코드를 작성했던 것으로 기억합니다. 이후 버그가 수정되어 더이상 사용하지 않는 Object 를 null 로 만들 필요는 없지만, 그래도 null 로 바꾸는 것이 더 좋을 것 같습니다. http://www.developer.com/java/doing-garbage-collection-in-java.html 에 작성된 내용으로 보면, 가능은 하지만 많은 오버헤드가 발생한다고 되어 있네요.