Java 39

JRebel 대체제인 DCEVM을 적용해보자.

layout: post title: "DCEVM(Dynamic Code Evolution VM)을 적용해보자" description: "DCEVM(Dynamic Code Evolution VM)을 적용해보자" date: "2019-03-13 18:16" tags: [java,hot swap, programming] comments: true DCEVM을 설치 해서 조금 더 빠르게 수정된 부분을 반영하여 Tomcat이 해당 수정 코드를 빠르게 반영 하고자 설치하려고 한다. 원래는 JRebel이라는 유료 툴을 이용하면, 빠르게 Hot Swap하여 수정 된 코드를 반영할 수 있다. 그러나 연간 $550정도로 구독 모델이 굉장히 비싸서 사용하기가 어려워서 대체제를 찾다가 발견한 것이 바로 DCEVM이다. 아래와..

Java Environment Management를 사용하여 여러 버전 사용하기

java 여러개 버전 사용하기 (MacOS)Jenv 및 java 설치jenv 를 통해 Java environment를 관리 하려고 합니다. $ brew install caskroom #미리 설치 되어 있어야 합니다. $ brew install jenv $ brew cask install java #가장 최신 버전으로 설치 됩니다. $ brew cask install java8 #java8 버전 최신 릴리즈로 설치됩니다.일단 위와 같이 실행을 하여 java를 설치해주시면 됩니다. 설치된 java 확인$ cd /Library/Java/JavaVirtualMachines $ ll drwxr-xr-x - root 14 5 21:42 jdk-10.0.1.jdk drwxr-xr-x - root 27 4 2017 j..

Try-with-resources를 사용하자!!

Try-with-resources 사용하기 JDK7에서 생겨난 자원 자동 종료?라고 생각하면 된다. 물론, 다되는 것은 아니고 Autocleable을 구현한 클래스만 사용가능하다. String readDataFromFile(String filePath) { BufferedReader br = null; String data = ""; try { br = new BufferedReader(new FileReader(filePath)); data = br.readLine(); } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } finally { try { br.close(..

[정리] 그냥 저냥 위클리 뉴스 #3

Python 한국의 파이썬 소식-2월 넷째 JavaScript javascript issue High-performance ES2015 and beyond : V8 engine Java The Trouble With Enums The Factory Pattern Using Lambda Expressions in Java 8 Extending Git Mockito Mock vs. Spy in Spring Boot Tests Optional Method Parameters A Look at Java Collections Java 8 Optional In Depth IT news 망중립성은 실수다라는 기사 소니 + LINE의 결합으로 어떤 AI를 만들까 애플이 맥 프로를 아직 버리진 않았다는 내용 여러가지 호..

승돌 쓰다 2017.03.02

[정리] 그냥 저냥 위클리 뉴스 #1

그냥 위클리 이슈 정리 Python 파이썬 관련 위클리 뉴스 JS javascript 관련 위클리 뉴스 gmail에서 JS 파일 업로드 제한 java java 9 spec features : java9의 스펙에 따른 주요한 주제들이 fix 되었고, 올 상반기 끝무렵 혹은 하반기 정도에 공개 되지 않을까 합니다. java8에서 특징은 Functional interface를 비롯한 함수형 관련 표현식, Optional등이 가장 핫했으며, java9에서는 jigsaw가 주요한 핵심으로 알려져 있습니다. java9 특징 - 훑어보기 java9 jigsaw가 무엇인지에 대한 소개 Netty 구조 : 이희승님이 개발한 비동기 자바 네트워크 프레임워크로 알려져 있으며, 트위터, 라인등 많은 곳에서 쓰이고 있는 프레임..

승돌 쓰다 2017.01.31

Top 10 Mistakes Java Developers Make

Top 10 Mistakes Java Developers MakeTop 10 Mistakes Java Developers Make자바 개발자가 가장 자주 실수하는 10가지에 대해 알아보자.1. ConvertArray To ArrayList배열을 ArrayList로 변환할때, 개발자들은 종종 이렇게 한다 :List list = Arrays.asList(arr); Arrays.asList() Arrays 안에 있는 private static class ArrayList를 반환 할 것이다. 그리고 그것은 java.util.ArrayList 클래스 안에 있는 것이 아니다. 그것은 java. util.Arrays.ArrayList 클래스 set() , get (), contains() 메소드들을 가지고 있다. 그..

Java 8 시작 하기

Edit Java 8 시작하기 언어:JAVA 티스토리 도대체 왜 함수형인가? 사실 필자도 함수형을 잘 모른다. 왜냐? Java8도 아직 잘 모른다. 내가 경헌한 건 JavaScript, Python, Ruby 정도에서 First Class Function이 유사하게 가능하다는 느낌정도? 물론, JavaScript는 충분히 느낄수 있는 일급 객체를 지원한다. 요즘 대세인 Scala, Closure등 여러가지 함수형 언어가 실무에서도 쓰이고 있는 실정이다. 자, 그럼 자바에서 도대체 뭐가 바뀐 건지 천천히 따라가보자. 첫 째는 람다의 등장이다. 많은 언어에서 람다를 이미 지원 해주었다. ( ㅠㅠ 자바는 업데이트가 최소 8년은 늦었다…)C#에 이미 많은 부분에서 지고 있는 실정… 사례로 한 번 알아보자 - 람..

Java BigInteger class 사용하기

Edit 주로 int 형 타입을 사용하게 되는데, 이 정수형 타입은 허용 가능한 범위가 존재합니다. 그럴때는 Java 언어에서 지원하는 BigInteger Class, BigDecimal Class를 사용할 수 있습니다. 해당 클래스 또한 표현 가능한 범위가 있는 것으로 알고 있는데, 대략 100억은 가볍게 표현 가능합니다.사용하는 방법은 간단합니다. (참고로 Class가 무엇인지, API가 무엇인지는 알고 계셔야 합니다.) 1. public void longNumberSum(long x, long y) 2. { 3. BigInteger a = BigInteger.valueOf(x); 4. BigInteger b = BigInteger.valueOf(y); 5. BigInteger result = a.a..

예외처리 관련 기본기

예외 블랙홀try{ }catch(SQLException e){ //예외를 잡고는 아무것도 하지 않는 경우 } 위 코드도 좋지 않는 경우이지만, 아래 코드 또한 좋지 않은 습관이다.}catch(SQLException e){ System.out.println(e); } }catch(SQLException e){ e.printStackTrace(); } 예외처리 할 때 반드시 지켜야 할 핵심 원칙은 한 가지다. 모든 예외는 적절하게 복구 되든지 아니면 작업을 중단시키고 운영자 또는 개발자에게 분명하게 통보 되어야 한다. 위의 코드 보다는 아래의 코드가 훨씬 나은 예외처리라고 한다.}catch(SQLException e){ e.printStackTrace(); System.exit(1); } 물론, 실제로 이렇..

반응형