Java
118개의 글
JSSE Tuning Parameters
JSSE Tuning Parameters javax.net.debug Prints debugging details for connections made. Example: -Djavax.net.deb…
Java SSL/TLS 지원 버전과 디폴트 프로토콜 변경하기
1. 개요 요즘 보안 요구 사항에 보면 TLSv1.1, TLSv1.2 이상으로 하도록 권고하고 있습니다. 사용하는 제품들 버전별로 지원하는 TLS 버전도 알고 있어야 할 것 같습니다! :) 모르고 …
[Case] "tomcat8.5 디비 연동" 이슈 (okky)
1. 개요 Tomcat - DB 연동 환경에서 무한대기 현상이 발생한 이슈로, okky.kr 에 올라온 Q A를 본인이 F/U한 사례이다. 2. 내용 2-1. 링크 https://okky.kr/ar…
JDK 10 GA (General Availability)
1. 소식 2018년 3월 20일, JDK 10이 GA(General Availability)로 공개되었다. JDK 10은 Java의 시간 기반 릴리스 모델이 본격적으로 적용된 초기 릴리스로, 짧은…
JVM의 default Heap Size가 궁금하세요?
1. 개요 java를 실행시킬 때, 혹은 WAS를 설치/구성 후 기동할 때 JVM옵션에 Heap, Perm 등의 설정을 넣지 않고 운영하다 쏟아져들어오는 요청들에~ 메모리를 많이 필요료하는 로직들에…
Kryo - Java Serialization Framework
1. 소개 Kryo는 자바 직렬화 프레임워크로 속도와 효율성이 좋고 API를 제공한다. 2. 메이븐 dependency groupId com.esotericsoftware /groupId artif…
IBM Java GC Option (-Xgcpolicy)
1. 개요 IBM Java(JVM)의 GC 정책 옵션을 정리한 글이다. IBM J9/OpenJ9 계열 JVM에서는 보통 -Xgcpolicy: 정책명 형식으로 GC 정책을 지정한다. GC 정책은 애플…
OutOfMemory PermGen Space
1. 개요 Out Of Memory 가 발생하여 heap memory 를 늘렸으나 동일하게 Out Of Memory 가 발생하였습니다. 해당 WAS 에서 사용중인 memory 를 확인해봐도 free…
networkaddress.cache.ttl 적용 시 주의점
1. 개요 DNS 캐시 관련 컨트롤을 위해 사용하는 networkaddress.cache.ttl 적용 시 주의점 2. 현상 networkaddress.cache.ttl 는 일반적인 Java Syst…
JSP include 방식의 차이점
1. 개요 JSP include를 위한 2가지 방식 2. %@ include file="파일“% 방식 이른바 정적 방식이라고 한다. jsp - java로 만들어지기 전에 두 jsp가 merge된다고…
Java 9 decorator (time 등) 사용시 주의점
1. -Xlog:gc*:time:file=/home/apache-tomcat-8.5.24/logs/gc.log [0.000s][error][logging] Invalid decorator 'file…
java 옵션 -XX:+UseAdaptiveSizePolicy
서버 내에서 memory 사용량을 확인할 때마다 total 값이 변하는 경우가 있습니다. WAS 힙 사이즈 min/max 값을 정해놓았음에도 total heap size가 동적으로 변동되는 경우입니…
[java troubleshooting] DB 연결 시 CertificateException 발생 건 조치 방법 - java security
얼마전에 Tomcat 8.5(JDK 8) + MSSQL2008 로 신규 구성된 시스템에서 Application Deploy 후 테스트 중에 아래와 같은 Exception이 발생한다고 하여 확인해보았…
Pinned clusters란?
1. Pinned cluster란? Java heap에 있는 object들은 일반적으로 이동이 가능하다. 즉, Garbage Collector가 heap을 정리할 때 움직일 수 있다는 것이다. 하지…
IBM JVM Tuning 사례
1. KCluster, PCluster에 대하여 KCluster : -Xk 옵션 PCluster : -Xp 옵션 2. Pinned Object / Pinned Class (KCluster, PClu…
Network 관련 유용한 JVM 옵션 소개
1. java.net.preferIPv4Stack=true JVM은 OS가 IPv6와 IPv4를 모두 사용할 수 있는 경우 IPv6를 우선적으로 사용한다. 그런데 아직 IPv6를 사용하기 불편한 경…
Java 프로그램의 CPU 사용률이 높을 때 Thread Dump를 통해 분석하는 방법
1. 개요 분석 방법 2. 방법 2-1. LWP 획득 CPU를 많이 사용하는 자바 프로세스의 LWP(Light Weight Process)를 찾는다. $ ps -mo pid,lwp,stime,tim…
Ehcache Replication 방식에 대하여
1. 복제 방식 종류 RMI JGroups JMS 2. RMI Replicated Caching - Ehcache provides replicated caching using RMI. To set …
MyBatis DB 연결 방식
1. 개요 MyBatis 사용 시 DB 연결 방식에 대한 정리이다. 2. 연결 방식 종류 2-1. UNPOOLED 풀링 방식을 사용하지 않는다. 2-2. POOLED 풀링 방식을 사용한다. data…
Java Cryptography Extension (JCE) Unlimited Strength Jurisdiction Policy Files 8 Download
1. 소개 JCE란 Java Cryptography Extension의 약자이다. 그런데 JCE 사용 시에 Illegal key size or default parameters, Unsupporte…
Charset Encoding 관련 설정 및 자바(Java)와 톰캣
1. OS 레벨 1-1. OS 기본 Charset 설정 (Linux와 Unix) locale 명령어로 현재 설정된 Charset 확인 locale -a 명령어로 설정 가능한 charset 목록 확인…
Java SE Advanced 소개
1. Java SE Advanced란? 1-1. 보안 강화 Java VM 보안 업데이트 및 패치 (구버전 포함) 기업 내 VM 관리를 위한 툴 제공 1-2. Java AMC (Advanced Man…
GDB (GNU Debugger)를 이용한 (Java) OS Core 파일 분석
1. 개요 보통 순수한 Java 코드만 사용하여 개발하는 경우에는 OS core 파일이 발생할 가능성이 매우 낮다. 하지만 JNI(Java Native Interface)를 통해 구현한 네이티브 모…
JVM (Java Virtual Machine) 메모리 구조 (Method Area / Heap Area / Stack Area)
1. 개요 JVM의 런타임 데이터 영역은 크게 Method Area , Heap Area , Stack Area 로 나누어 이해할 수 있다. 여기에 더해 PC Register, Native Meth…