일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- MajorGC
- test double
- 윈도우11 icloud 메모
- 스프링부트 프로젝트 이름 변경
- 유스콘
- 자바디자인패턴
- 윈도우11 바로가기
- refelction API
- 윈도우11 아이폰 메모 앱
- spring boot
- 개발컨퍼런스
- reflection api
- 멀티코어 프로그래밍
- mustache함수
- Spring
- java 멀티스레딩
- 클린아키텍처
- js숫자체크
- 헥사고날
- 동시요청
- @advice
- 어댑터패턴
- MappingJackson2HttpMessageConverter
- 테스트더블
- 인텔리제이에서 프로젝트 이름 바꾸기
- 테스트대역
- GOF
- java병렬처리
- MinorGC
- Java
- Today
- Total
목록Java (3)
져니의 개발 정원 가꾸기

목차 배경 최근에 업무 프로젝트를 정리하던 중 입사 초기에 신규 프로젝트에 투입되어 부하테스트 진행했던 부분이 생각났다. 1차 성능테스트 당시 부하가 증가함에에 따라 힙메모리가 지속적으로 증가해 OOM(Out Of Memoery) 문제가 발생했었고 이를 해결하기 위해 GC 설정과 캐시 설정을 바꾸었다. 실제 고객들이 사용중인 서비스에서 OOM이 나면 사용자는 아예 해당 애플리케이션이 제공하는 기능을 아예 사용할 수 없는 불편함을 겪게 된다. 더군다나 개발자가 이를 눈치 채지 못하고 화면과 기능이 꽤 오랜시간동안 제공되지 않은 상태로 머물러 있다면 결국 회사 매출과 사용자 이탈에도 악영향을 미칠 수 있다. 이처럼 GC는 애플리케이션 성능과 서비스의 품질에 지대한 영향을 끼치는 요소로서 중요하기 때문에 GC..
멀티쓰레드와 멀티프로세스에 대하여 스레드를 생성하는 방법 java에서 멀티스레딩을 구현하는 방법은 Thread 클래스를 이용하는 방법과 Runnable 인터페이스를 이용하는 방법, 크게 두 가지 있다. 이 클래스 및 인터페이스를 상속받는 클래스를 생성했을 때 스레드가 실행되는 것이 아니라, start()객체를 호출할 때 스레드가 실행 되는 것이다. 1. Thread Class 첫 번째 방법으로는 Thread class를 extends하는 방법이 있다. 이렇게 Thread class를 상속받는 클래스는 자체적인 쓰레드가 된다. 방법은 다음과 같다. Thread 클래스를 exteds하는 클래스를 정의한다.. Thread 클래스의 run() 메소드를 오버라이딩(Overriding)한다. 스레드를 실행시킬 곳에..

reflection API란? 런타임에 메소드, 클래스, 인터페이스등을 검사하거나 조작하는데 쓰이는 api이다. java.lang.Class와 java.lang.reflect 패키지와 관련있다. 특징 1. 객체가 속한 클래스에 대한 정보와 클래스의 실행가능한 메서드에 대한 정보를 제공한다. (클래스타입을 알지 못하는 객체라도 ok) 리플렉션은 java.lang.Class 객체를 만드는 것에서 시작한다. Class 객체는 크게 두 가지 기능을 제공한다. 런타임에 클래스의 메타데이터를 가져오는 메서드를 제공. 클래스의 런타임 동작을 검사하고 변경하는 메서드를 제공. 실제 Class 클래스가 제공하는 메서드 몇가지를 살펴보자. 메소드 상세 클래스 로드&가져오기 public static Class forName..