분류 전체보기19 [Java] NVL 개념 정리, null 값 처리하는 방법 Java 라이브러리를 뒤적이다 보면 종종 nvl() 함수를 볼 수 있습니다. 오늘은 nvl의 개념과 사용 방법에 대해서 정리해 보겠습니다. 개념 NVL 은 벤더나 도메인에 따라 각각 다르긴 하지만 Null VaLue, Null Value Logic, Null VLookup의 약자를 의미합니다. 쉽게 말해 null 처리 로직 또는 함수를 말합니다 정확히는 특정 값이 null 인 경우에만 다른 값으로 대체하는 것을 말합니다. 특별히 Java 언어에서만 사용되는 개념이 아니라 프로그래밍이나 IT 세계에서 많이 사용되는 개념입니다. 예를 들어 NVL(expr1, expr2) DB 오라클의 NVL 함수는 위와 같이 사용할 수 있습니다. DB의 데이터값인 expr1 이 만약 null 인 경우 expr2 값을 반환.. 2024. 11. 25. [Java] JVM 구조 이해하기, JVM을 알아야 하는 이유 Java 개발자라면 누구나 들어봤을 JVM에 대해, 공부해야 되는 이유와 그 구조에 대해서 정리해 봤습니다. JVM(Java Virtual Machine)은 Java로 개발된 프로그램을 실행하기 위한 가상 머신입니다. 구성 요소는 다음과 같습니다 1. 클래스 로더 (Class Loader)2. 런타임 데이터 영역 (Runtime Data Area = JVM Memory)3. 실행 엔진 (Execution Engine)4. 네이티브 인터페이스 (Java Native Interface, JNI)5. 네이티브 메서드 라이브러리 (Native Method Libraries) 1. 클래스 로더 Java의 클래스(. class) 파일을 메모리에 로드하고 필요한 메타 데이터를 관리하고 있습니다. 클래스 로더는.. 2024. 11. 15. [Java] List(ArrayList)에서 add, set 메서드 차이점 컬렉션 중 하나인 List에서 요소를 추가할 때 사용할 수 있는 대표적인 메서드가 두 가지 있습니다 바로 Add, Set 메서드인데요 Add 와 Set 메서드 개념에 대해 알아보고, 차이점에 대해 설명드리겠습니다 1. add() 메서드 새로운 요소 추가 : 리스트의 마지막 요소에 새로운 요소를 추가하거나 특정 인덱스에 요소를 삽입할 때 사용합니다. 전체 길이가 증가합니다. 기존 요소 유지 : 요소를 마지막에 삽입하면 기존 요소는 그대로 유지되며, 특정 인덱스에 삽입하는 경우 그 이후 요소들은 뒤로 밀려나게 됩니다. 반환 값 : boolean을 반환합니다, 요소 삽입에 성공하면 true를 반환합니다 ArrayList list = new ArrayList();list.add("Apple"); .. 2024. 11. 14. [Java] 데몬 스레드(Deamon Thread)란 무엇이고 언제 사용하면 좋을까? 프로그래밍 세계에서 이름에 데몬이 붙어있으면 백드라운드에서 실행되는 프로세스나 서비스를 의미합니다. Java에서 스레드는 일반 사용자 스레드와 데몬 스레드로 나눌 수 있습니다. 데몬 스레드는 일반 사용자 스레드를 지원하거나 특정 작업을 백그라운드에서 수행하는 역할을 합니다 데몬 스레드의 가장 큰 특징은 일반(메인) 스레드가 모두 종료되면 데몬 스레드는 자동으로 일을 중단하고 강제 종료된다는 점입니다. 또한 백그라운드에서 일반 스레드를 도와주는 보조적인 역할을 수행합니다 프로그램의 핵심이 되는 작업은 일반 스레드에서 진행하고 모니터링, GC, 자동 저장, 로그, 타이머 등의 보조 작업은 데몬스레드에서 진행하도록 하면 좋습니다. 위와 같은 작업은 매번 실행할 필요없이 실행 대기 상태에 있다가 필요.. 2024. 11. 10. [Java] Thread 종료하는 방법, interrupt() 메서드 동작 방식 필요성 Java를 개발하다 보면 Thread를 생성하고 라이프사이클을 제어해야 되는 경우가 많습니다 일반적으로 스레드는 현재 실행 중인 작업(run 메서드)이 다 끝나면 자동으로 종료됩니다 만약 실행중인 작업을 다 끝나기 전에 스레드를 종료하고 싶다면 어떻게 해야 될까요? 혹은 작업이 너무 오래 걸리거나 무한 루프를 돌고 있어서, 스레드를 강제 종료시켜야 하는 경우도 있을 수 있습니다. 정의 Thread의 interrupt() 메서드는 스레드를 중간에 종료시킬 수 있는 메서드입니다. 여기서 중요한 점은 interrup() 메서드를 호출한다고 해서 모든 상황에서 스레드가 종료되는 건 아닙니다 우선 interrupt 메서드를 호출하면 일시 정지(WAITING, TIMED_WAITING) 상태의 스레드를 .. 2024. 11. 5. [CS] Program, Process, Thread 정의 및 차이점 오늘은 Process와 Thread 가 무엇인지, 이 두 가지의 차이점이 무엇인지 설명드리겠습니다. 정의 프로그램 : 디스크에 저장된 파일 형태로 존재하며, 메모리에는 올라가 있지 않은 정적인 상태아직 실행되지 않은, 단순히 실행 가능한 코드나 파일을 말합니다. ex) 소프트웨어, 애플리케이션 파일,스크립트 등이 프로그램에 해당합니다 프로세스 : 운영체제로부터 자원을 할당받은 작업의 단위프로그램이 실행 명령을 받고 메모리에 로드되면 프로세스가 됩니다.ex) 워드프로세서, 브라우저 등 여러개의 프로그램을 실행하면 각각의 인스턴스가 별도의 프로세스로 생성됩니다 스레드 : 프로세스 내에서 실제 작업을 수행하는 실행 흐름의 단위 하나의 프로세스 안에서 여러개의 스레드가 존재하며 프로세스의 자원을 공유 합니다... 2024. 11. 3. 이전 1 2 3 4 다음