개발 썸네일형 리스트형 [Java] JVM이란? JAVA Virtual Machine의 약자이다. JAVA는 하드웨어가 아닌 JVM이라는 가상머신을 통해 작동한다. 이 JVM은 시스템 메모리를 관리하면서 자바 기반 애플리케이션을 위해 이식 가능한 실행 환경(자체 CPU, 메모리, 네트워크 인터페이스 및 스토리지 등...)을 제공한다. 특징 자바 애플리케이션을 클래스 로더를 통해 읽어들여 자바 API와 함께 실행한다. JAVA와 OS 사이에서 중개자 역할을 수행하여 JAVA가 OS나 CPU에 구애받지 않고 재사용을 가능하게 해준다. 메모리를 관리하고 Garbage Collection실행을 통해 메모리를 최적화한다. 클래스 로더(Class Loader) Runtime시 JVM내로 클래스(.class)를 로드하고, 링크를 통해 배치하는 작업을 수행하는 모듈.. 더보기 [Java] ArrayList에서 int array 변환 방법 public static void main(String args[]) { List list = new ArrayList(); list.add(1); list.add(2); list.add(3); // 방법 1 int[] arr1 = new int[list.size()] for (int i = 0 ; i i) .toArray(); // 방법 3 int[] arr3 = list.stream() .mapToInt(Integer::intValue) .toArray(); // 방법 4 int[] arr4 = list.stream.. 더보기 [Java] Overriding 과 Overloading 차이 Overriding 상위 클래스의 메서드와 이름과 용례(signature)가 같은 함수를 하위 클래스에 재정의하는 것을 말한다. ex) public abstract class Shape { public void printMe() { System.out.println("Shape"); } public abstract double computeArea(); } public class Circle extends Shape { private double rad = 5; @Override // 개발자의 실수를 방지하기 위해 @Override(annotation) 쓰는 것을 권장 public void printMe() { System.out.println("Circle"); } public double comput.. 더보기 [Linux] 방화벽 또는 포트 열려있는지 확인 열려 있는 모든 포트 확인하기 $ netstat -nap -n : host명으로 표시 안함 -a : 모든소켓 표시 -p : 프로세스ID와 프로그램명 표시 열려 있는 포트 중 LISTENING 상태로 필터 $ netstat -nap | grep LISTEN 특정 포트가 열려 있는지 방화벽 체크하는 방법. $ nc -z 특정 호스트의 지정 범위 포트가 열려 있는지 확인하기 $ nc -z - - 연결 성공 시 (열려있음) Connection to port [tcp/wap-wsp] succeeded! - 연결 실패 시 (닫혀있음) 아무 응답메세지 없음 nc가 없는 서버라고 한다면 밑의 명령 입력 $ echo > /dev/tcp// - 연결 성공 시 (열려있음) 아무 출력없이 해당 명령 종료 - 연결 실패 시 (.. 더보기 [Linux] watch 사용법 watch 명령어를 소개합니다. watch는 임의 명령을 정기적으로 실행하는 데 사용되며, 명령의 출력을 터미널 창에 표시합니다. 이 기능은 명령을 반복적으로 실행하고 명령 출력이 시간에 따라 변하는 것을 보아야 할 때 유용합니다. 예를 들어 watch 명령을 사용하여 특정 파일이 일정 주기가 되었을때 특정 경로에 생기는데 해당 경로를 모니터링 하고 싶을때 사용할 수 있다. watch 유틸리티는 거의 모든 Linux 배포 환경에 사전 설치된 procps(또는 procps-ng) 패키지의 일부입니다. watch 명령어 사용법 watch 명령의 구문은 다음과 같습니다. watch [OPTIONS] COMMAND Watch 명령어 예제 1 시간 간격을 변경하는 방법 -n(--interval) 옵션 다음에 원하.. 더보기 [ PostgreSQL ] 데이터베이스에서의 기본키 (PrimaryKey)와 유니크키(UniqueKey) 데이터베이스에서의 기본키와 유니크키기본키 (Primary Key)기본키의 개념 기본키는 데이터베이스 테이블에서 각 레코드(행)를 고유하게 식별하는 데 사용되는 열(필드)입니다. 특징 고유해야 하며 중복된 값을 가질 수 없습니다. NULL 값을 포함할 수 없습니다. 사용 예시 주로 검색, 레코드 연결, 데이터 정렬, 제약 조건 설정 등에 활용됩니다. 유니크키 (Unique Key) 유니크키의 개념 유니크키는 데이터베이스 테이블에서 각 레코드를 고유하게 식별하는 데 사용되지만, 기본키보다 유연한 역할을 합니다. 특징 중복된 값을 가질 수 없습니다. NULL 값을 포함할 수 있습니다. 사용 예시 고유성이 보장되어야 하지만, NULL 값이 허용되는 경우에 주로 사용됩니다. 기본키와 유니크키의 공통점 둘 다 .. 더보기 [Java] 변수의 종류 변수의 종류 선언 위치 할당 시점 메모리 위치 메모리 시점 cv(class variable) static으로 선언된 변수 클래스 안 클래스가 메모리에 올라갔을때 Methods application 종료시 삭제 iv(intance variable) static이 선언되지 않은 변수 인스턴스가 생성되었을 Heap 해당 객체가 참조되지 않고 있을때 lv(local variable) 메소드 내부에서 선언된 변수 메소드 안 변수 선언문(method)이 수행 되었을때 Heap 메소드 동작후 삭제 변수의 종류 예제 코드이다. public class Variable { public static String cv = "Hyeon"; // 더보기 [Java] 접근 제어자(Access Modifier) 접근 제어자란 객체 지향 프로그램에서는 예약어를 사용해서 클래스 내부의 변수나 메서드, 생성자에 대한 접근 권한을 지정할 수 있다. 이러한 예약어를 접근 제어자라고 한다. private -> default -> protected -> public 순으로 많은 접근을 허용 접근 제어자 종류 public 접근제어자가 public으로 설정되었다면 public 접근제어자가 붙은 변수, 메소드는 어떤 클래스에서라도 접근이 가능하다. private 접근제어자가 private으로 설정되었다면 private 이 붙은 변수, 메소드는 해당 클래스에서만 접근이 가능하다. protected 접근제어자가 protected로 설정되었다면 protected가 붙은 변수, 메소드는 동일 패키지의 클래스 또는 해당 클래스를 상속받은.. 더보기 이전 1 ··· 8 9 10 11 12 13 다음