본문 바로가기
반응형

자바11

분산 아키텍처에 대해 착각하기 쉬운 몇가지. 엔컴퓨터 디바이스로 이루어진 네트워크는 신뢰할 수 있다. 네트워크 실패 가능성을 고려하지 않으면 도착하지 않는 응답을 기다리며 멈춰있을 수 있다. 요청을 보내거나 요청을 처리해 돌려 받을 때 시간 지연이 없다. (제로 레이턴시) 패킷 손실을 무시하면 트래픽 양이 늘어나 대역폭을 낭비하거나 패킷 손실 비율이 높아질 수 있다. 네트워크 대역폭에는 제한이 없다. 너무 많은 데이터를 보내거나 너무 많은 요청을 보내면 가용 네트워크 대역폭이 점점 줄어들어 언젠가는 병목이 생기고 스룻풋(throughput - 시간당 처리할수 있는 데이터 양) 도 줄어든다. 전체 네트워크는 내부나 외부 공격으로부터 안전하다. 네트워크상의 컴퓨팅 디바이스의 위치나 배열은 결코 바뀌지 않는다. 네트워크 변경이나 디바이스 변경은 대역폭이.. 2021. 12. 18.
[나는 리뷰어다] 자바 최적화 (Optimizing Java) 한빛 미디어 "나는 리뷰어다" 를 통해서 "자바 최적화(Java Optimizing)" 책을 읽게 되었다. 실제 개발을 하면서 최적화나 성능에 관련 된 부분을 생각을 하게 되면 상당히 어렵다. 어떤 부분을 어떻게 확인 해 봐야 하는지, 또 성능 측정은 어떻게 해야 하는지 간단하지는 않다. 그런 면에서 이 책은 자바 최적화라는 내용에 대한 기본적인 이론부터 자세히 설명을 해주고 있다. 이론에 대한 설명을 돕기 위해서 위와 같이 자세히 그림으로 설명을 해주기도 한다. 성능에 대한 내용을 알기 위해서 실제 코드들이 바이트 코드 단위에서 어떻게 해석이 되는지. 그리고 자바를 사용하면서, 특히 Collection 을 사용하면서 어떤 부분들이 최적화를 해야 하는지에 대한 내용들을 자세히 설명을 해준다. 이것 이외에.. 2020. 9. 25.
[나는 리뷰어다] 엔터프라이즈 자바 마이크로 서비스 이 책은 마이크로 서비스에 대한 내용의 책이다. 기초부터 실제 구현까지 다루면서 내용이 이어지는대 다음과 같은 장단점을 찾아 볼수 있었다. 장점 - 마이크로 서비스에 대한 개념에 대해서 이해를 할 수 있다. - 마이크로 서비스에 대한 여러가지 아키텍처들에 대한 내용을 이해 할 수 있다. - 마이크로 서비스를 구성할 때 어떠한 툴들이 사용되는지, 또는 툴은 어떻게 사용할 수 있는지 간단히 체험해 볼 수 있다. 단점 - 실제 코드가 나오긴 하지만 배경지식 없이 책만으로는 이해하기는 힘들 것 같다. - 개인적으로는 코드와 툴에 대한 집중을 하던지 아니면 이론에 대한 내용을 집중을 하던지 했으면 더 좋았을 것 같다는 생각이 들었다. 위에 써놓은 장단점 처럼 초보자들이 공부하는데 읽은 책으로는 어려움이 클것 같다.. 2020. 7. 1.
[나는 리뷰어다] 모던 자바 인 액션 최근 들어 자바 버전이 굉장히 자주 업데이트 되고 있다. 그러다 보니 새로운 기능에 대해서 아는게 별로 없구나라는 생각을 자주 했었다. 마침 이렇게 새로운 버전에 대해서 리뷰할 기회가 되서 공부를 하게 되었다. 우선 이 책은 총 21개의 챕터로 구성이 되어있고 600 페이지가 넘어가는 책이다. 앞에서 부터 차근차근 읽기에는 끈기와 노력이 필요하다. 그래서 나도 처음에는 차근차근 읽어가다가 어느정도 기본 개념에 대한 내용을 파악하고 난 후에는 실제로 내가 회사에서 사용해 볼 수 있는 부분부터 읽어 나가기 시작했다. . 단, 최소한 5장까지는 차례대로 읽어보는 것을 권하고 싶다. 왜냐하면 5장까지의 내용을 알아야 뒤에 나오는 내용을 파악하는데 좀 수월해 진다. 5장의 내용이 위에 보듯이 스트림에 관련된 내용.. 2019. 9. 16.
List 를 Array로 바꾸는 함수. Arrays.asList(array);이렇게 하면 array를 List로 변환해 준다.나름 유용할듯. ^^이것 이외에도 sort도 사용할수 있다.Arrays.sort(array)배열 정렬시킬때 잘 써먹을듯 하다. 2013. 7. 2.
Meta Annotaion Annotation을 지정할 때에 특정 field나 method에 한정해서 지정해 줄 수 있다. @Target(ElementType.FIELD)위와 같이 사용하게 되면 해당 Annotation은 Field에만 사용할 수 있게된다.FIELD 이외에도 다른 타입들이 존재한다.TYPE(Class, interface..) METHOD PARAMETER CONSTRUCTOR LOCAL_VARIABLE ANNOTATION_TYPE PACKAGE여러개를 사용하고 싶을 때에는 다음과 같이 Array형태로 지정한다.@Target({ElementType.FIELD,ElementType.METHOD }) 2013. 7. 1.
Fileld명을 테이블 컬럼명으로 바꾸자 가끔 이런것이 필요할 때가 있다.userId 를 USER_ID 로 바꾸는 기능.public class Test { public static void main(String[] args) throws Exception { String regex = "([a-z])([A-Z])"; String replacement = "$1_$2"; String str = "UserId"; String value = ""; value = str.replaceAll(regex, replacement).toUpperCase(); System.out.println(value); }} 2013. 4. 6.
Tomcat 구동시 라이브러리를 못찾을 경우.. 해당 workspace 아래에 있는 .metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps\프로젝트 명\WEB-INF이 폴더를 찾아가서 lib가 제대로 들어가 있는지 확인해 보자..이클립스 화면에 보인다고 해서 다 돌아가는게 아니더라...-_-;;프로젝트 publising 할대 위에 폴더로 jar 파일이랑 다 들어가는데 그때 안들어가는 경우가 생기기도 한다..그러니... 잘 기억해두고 찾아보자.. 2013. 3. 29.
오버라이딩 규칙 1. 오버라이딩 할때에는 접근 제한자의 범위가 같거나 커야한다. 2. 오버라이딩 된 하위 클래스의 메서드에 throws 구문이 있으면 상위 클래스의 오버라이딩을 준 메서드도 반드시 해당 예외 클래스에 준하는 throws 구문이 있어야 한다. 맨날 오버로딩하고 헷갈리는 오버라이딩규칙도 있다는것을 처음 알았다 참고로 오버 로딩은 매개변수가 다르거나 매개변수의 자료형이 틀린 동일한 메서드를 말한다.까먹지 말아야지.. 2013. 2. 12.
Java에서 Null 값을 비교할 때 음.. 미묘한 내용이라 잘 이해가 되실지 모르겠습니다만.. 좀 전문적인 관점에서 설명을 해드리겠습니다. (어려운 내용이지만 오히려 이편이 이해가 더 빠를 수도 있을거 같아서요) 먼저 객체란 것은 무엇이고 변수란 것은 무엇인가? 그냥 다 그냥 값을 저장하는 공간 아닌가? 객체는 힙(heap)이라는 메모리 영역에 생성됩니다. 힙은 프로그램(프로세스 process)이 실행되는 동안 무언가 저장할 공간이 필요할 때 사용되는 메모리 공간입니다. 변수는 스택(stack)이란 메모리 영역에 생성됩니다. 스택은 쓰레드(thread)가 실행되는 동안 사용되는 영역입니다. (쓰레드란거에 대해서 이해를 하셨는지 모르겠습니다만) 하나의 프로세스에는 여러개의 쓰레드가 있을수 있습니다. 각 쓰레드는 고유의 스택영역을 가지지만 하.. 2013. 2. 12.
파일 입출력. 가끔 찾아보기가 귀찮아서.. ㅡㅡ; try { BufferedReader in = new BufferedReader(new FileReader("src/input")); String s; while ((s = in.readLine()) != null) { System.out.println(s); } in.close(); } catch (IOException e) { System.err.println(e); System.exit(1); }} 2013. 1. 29.
728x90
반응형