분류 전체보기 46

[JVM] Java Virtual Machine

자바 가상 머신(Java Virtual Machine, JVM)은 시스템 메모리를 관리하면서 자바 기반 애플리케이션을 위해 이식 가능한 실행 환경을 제공한다. JVM의 2가지 기본 기능자바 프로그램이 어느 기기, 또는 어느 운영체제 상에서도 실행될 수 있게 하는 것("한번 작성해, 어디에서나 실행")프로그램 메모리를 관리하고 최적화 하는 것JVM의 정의기술적 정의 : 코드를 실행하고 해당 코드에 대해 런타임 환경을 제공하는 소프트웨어 프로그램에 대한 사양일반적 정의 : 자바 프로그램을 실행하는 방법. JVM의 설정에 따라 실행 중에 프로그램 리소스를 관리라이선스가 부여되는 거의 모든 JVM은 오픈 JDK, 핫스팟 JVM의로 포크(Fork)로 생성된 것 JVM 구조Java compiler는 .java 파일..

JAVA 2024.09.22

[OOM] Out Of Memory 분석 방법(with JProfiler(유료))

시스템 성능, 메모리 사용량, 잠재적 인 메모리 누수 및 스레드 프로파일 링을 볼 수 있는 인터페이스를 제공로컬 및 원격 응용 프로그램 모두에 사용원격 컴퓨터에서 실행중인 Java 응용 프로그램을 설치할 필요없이 프로필 작성코드 일부 수정(이유: 실행 즉시 dump 파일 생성으로 온라인 연결 불가)import java.util.ArrayList;import java.util.List; public class OutOfMemoryExample {    public static void main(String[] args) {        List memoryLeak = new ArrayList();        try {            while (true) {                // Crea..

JAVA 2024.09.22

[OOM] Out Of Memory 분석 방법(with VisualVM)

Java 응용 프로그램 프로파일 링 도구Java Development Kit (JDK)에 번들로 제공1. 다운로드 경로 : https://visualvm.github.io/download.html VisualVM: DownloadFirst Steps Unzip the downloaded archive. The archive already contains the top-level visualvm directory. Start VisualVM by invoking the binary appropriate for your OS:visualvm\bin\visualvm.exe or visualvm/bin/visualvm You may provide additional options tovisualvm.github..

JAVA 2024.09.22

[OOM] Out Of Memory 분석 방법(with MAT)

heap dump 생성 및 분석 1. 샘플 파일 생성(OutOfMemoryExample.java)import java.util.ArrayList;import java.util.List; public class OutOfMemoryExample {    public static void main(String[] args) {        List memoryLeak = new ArrayList();        while (true) {            memoryLeak.add(new Object()); // Continuously adding objects to the list        }    }} 2. 컴파일(OutOfMemoryExample.class 생성)javac OutOfMemoryE..

JAVA 2024.09.20

[아키텍처] Publish Subscribe Style

1. 개요Summary송신자와 수신자를 연결하지 않고도 여러 관심 소비자에게 비동기적으로 이벤트를 알릴 수 있다.Context클라우드 기반 및 분산형 애플리케이션에서 시스템 구성 요소는 이벤트가 발생할 때 다른 구성 요소에 정보를 제공해야 하는 경우가 많습니다.Problem비동기 메시징은 발신자와 소비자를 분리하고 발신자가 응답을 기다리지 못하도록 차단하는 효과적인 방법입니다. 그러나 각 소비자에 대한 전용 메시지 큐를 사용하면 많은 소비자에게 효과적으로 확장되지 않습니다. 또한 일부 소비자는 정보의 하위 집합에만 관심이 있을 수 있습니다.발신자는 신원을 알지 못한 채 모든 관심 있는 소비자에게 이벤트를 어떻게 알릴 수 있을까요?Solution발신자가 사용하는 입력 메시징 채널. 발신자는 알려진 메시지 ..

아키텍처 2024.09.04

[ChatGPT] 말로 코딩하기

아래의 2개 질의로 python으로 CRUD를 할수 있는 프로그램이 만들어지고테이블 생성 스크립트까지 한번에 끝냈는데요~^^ 말만 잘하면 알아서 해주는 시대가 벌써 왔네요~^^ [질의]maria DB의 TEST 테이블에 데이터를 insert, delete, update, select 하는 python 프로그램을 만들어줘 TEST 테이블의 PK는 CSAPCD varchar(10) 컬럼이고 그외 나머지 컬럼은 VCPROJECTNAME varchar(200), DTEXPSTARTDATE date, DTEXPENDDATE date 입니다.  [질의]TEST 테이블의 PK는 CSAPCD varchar(10) not null 컬럼이고 그외 나머지 컬럼은 VCPROJECTNAME varchar(200) not nul..

AI 2024.08.20

[Mariadb] Create Database

평소에 아무런 생각 없이 생성하던 데이터베이스가 오늘은 각 항목마다 의미하는게 뭔지 궁금해서 알아봤다.Charset은 많이 접해보고 많이 언급을 하는데~ Collation은 첨 들어본것 같다~^^  결론적으로 여러 가지 비교를 해보았을 때 MariaDB에서는 문자셋은 utf8mb4, 문자정렬은 utf8mb4_bin 으로 권장되는 듯합니다. 문자셋(Charset)MariaDB에서 문자셋은 데이터베이스에서 사용되는 문자의 인코딩을 정의하는 것입니다.문자셋은 데이터를 검색하거나 문자를 저장할 때 어떻게 문자를 표현할지 결정합니다.  MariaDB에서는 다양한 문자셋을 지원하며, 어떤 문자셋을 선택할지는 주로 데이터의 종류, 다국어 지원 여부, 성능, 저장 공간 효율 등을 고려해서 결정됩니다.문자셋내용UTF-8..

DB 2024.08.20

[Clustering] Weblogic OHS 클러스터링

L4에서 WEB/WSA 서버#1 서버로만 가게 설정을 했으나의도치 않게 WAS#2으로 가는 상황이 발생하여 확인을 해봤더니 아래와 같은 구조였다.  클러스터링 설명을 할려고 한 것은 아니었으나 알아야 할것 같아 아래 링크를 공유 드립니다.한번 읽어 보시면 이해가 갈것 같습니다. 위 내용을 정리하다가 너무 잘 정리되어 있는 페이지가 있어서 링크를 겁니다.WebLogic Server 클러스터란?WebLogic Server 클러스터는 동시에 실행되고 함께 작동하여 확장성과 안정성을 높이는 여러 WebLogic Server 서버 인스턴스로 구성됩니다. 클러스터는 클라이언트에게 단일 WebLogic Server 인스턴스로 나타납니다. 클러스터를 구성하는 서버 인스턴스는 동일한 머신에서 실행되거나 다른 머신에 위치..

아키텍처 2024.08.16

[Excel] VLOOKUP 사용 방법 정리

엑셀 VLOOKUP 함수는 세로 방향으로 배열된 데이터에 대하여 특정 조건에 맞는 값을 찾기 위한 함수라고 생각을 하시면 되는데요, 조회를 하려고 하는 데이터 목록의 첫 번째 열에 입력된 값에 대하여 여러분께서 지정한 열과 교차하는 지점의 데이터를 반환하는 과정을 거치게 됩니다. = VLOOKUP ( 찾을값, 참조범위, 열번호, [일치옵션] ) 가끔식 VLOOKUP을 사용하는데 매번 헷갈려서 정리를 해 보았습니다.아래 그림에서 왼쪽은 정상! 오른쪽은 오류! 왼쪽 : =VLOOKUP(B5,'사번기반 연봉정보'!$B$4:$C$9,2,FALSE)오른쪽 : =VLOOKUP(B7,'사번기반 연봉정보'!$E$4:$F$9,1,FALSE) 차이점은 참조범위의 값의 순서에 따라 정상/오류가 발생 합니다.즉 찾을값이 참조..

EXCEL 2024.08.09