JAVA

시작하기 전 ... 이전 포스팅에서는 스레드 라이프 사이클 - 상태에 대해서 다뤘다. 아래 링크 참고. 그럼 이번 포스팅에서는 상태를 어떻게 제어할 것인지에 대해 다룰 것이다. [thread] 스레드의 라이프 사이클이란 무엇인가 Goal 스레드의 라이프 사이클에 대해 알아본다 스레드 라이프 사이클 스레드 객체 생성 부터 종료까지의 상태이다. 스레드는 객체를 생성하고 start()메소드를 호출하면 바로 스레드 실행처럼 보 dev-rosiepoise.tistory.com Goal 스레드의 상태 제어란 무엇인지 알아본다. 주어진 시간 동안 일시 정지하는 sleep() 다른 스레드에게 실행 양보 yield() 다른 스레드의 종료를 기다리는 join() 스레드간 협업 wait(),notify(), notifyAl..
Goal 스레드의 라이프 사이클에 대해 알아본다 스레드 라이프 사이클 스레드 객체 생성 부터 종료까지의 상태이다. 스레드는 객체를 생성하고 start()메소드를 호출하면 바로 스레드 실행처럼 보이지만, 실행 대기 상태이다 실행 대기 상태란 아직 스케쥴링이 되지 않아 실행을 기다리고 있는 상태이다. 실행 대기 상태에 있는 스레드 중에서 스레드 스케쥴링으로 선택된 스레드가 비로서 cpu를 점유하고 run()메소드를 실행한다. 이때를 실행 Running 상태라고 한다. 실행 상태의 스레드는 run()메소드를 모두 실행하기 전에 스레드 스케쥴링에 의해 다시 실행 대기로 돌아갈 수 있다. 그리고 실행 대기 상태에 있는 다른 스레드가 선택되어 실행 상태가 된다. 이렇게 스레드는 실행 대기 상태와 실행 상태를 번갈아..
시작하기 전 ... 해당 포스팅은 이전 포스팅(멀티 스레드와 객체 생성)에 이어집니다 [thread] 멀티 스레드와 작업 스레드 생성 방법 Goal multi thread에 대해 알아본다 작업스레드의 생성과 실행을 해본다 Thread 클래스로부터 직접 생성 Thread 하위 클래스로부터 생성 Thread 이름 multi-thread 란 ? 프로세스와 스레드 프로세스란, 운영체 dev-rosiepoise.tistory.com Goal 스레드 우선순위에 대해 알아본다 스레드 동기화를 하는 이유를 이해한다. 스레드의 우선순위 멀티 스레드는 동시성 또는 병렬성으로 실행된다. 동시성은 멀티 작업을 위해 하나의 코어에서 멀티 스레드가 번갈아가며 실행하는 성질을 말하며, 병렬성은 멀티 작업을 위해 멀티 코어에서 개별..
Goal multi thread에 대해 알아본다 작업스레드의 생성과 실행을 해본다 Thread 클래스로부터 직접 생성 Thread 하위 클래스로부터 생성 Thread 이름 multi-thread 란 ? 프로세스와 스레드 프로세스란, 운영체제에서 실행 중인 하나의 어플리케이션을 말한다. 사용자가 어플리케이션을 실행하면 운영체제로부터 실행에 필요한 메모리를 할당받아 어플리케이션의 코드를 실행한다. 하나의 어플리케이션은 다중 프로세스를 만들기도 한다 ex) 크롬 브라우저 두개 실행 - 크롬 프로세스 2개 생성 멀티 프로세스가 어플리케이션 단위의 멀티 태스킹 운영체제로 부터 할당 받은 자신의 메모리를 사용하기에, 서로 독립적이다. 즉, 하나의 프로세스에서 오류가 발생해도 다른 프로세스에 영향을 끼치지 않는다. ..
Goal enum 대해 알아본다 enum 메모리 저장방식 enum 내부 동작원리 enum 객체의 메소드 enum 필드 enum 이란 ? enum은 서로 관련있는 상수들을 하나의 그룹으로 묶어서 사용하는 자료형이다. 예로, 계절에 대한 데이터는 봄, 여름, 가을, 겨울이라는 네 개의 값만을 가진다. 이와 같이 한정된 값만을 갖는 데이터 타입이 열거타입이다. public enum Week { MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY } enum을 사용하는 이유 enum을 사용하면 상수들을 의미 있는 이름으로 사용할 수 있고, 의도하지 않은 값의 입력을 방지할 수 있다. 또한, 코드의 가독성을 높일 수 있다. 열거 타입과 열거 상수 pub..
시작하기 전 ...string에서 equals()은 단순 값(문자열) 비교로만 알고 있다가, 얼마나 또 생각없이 개발했는지 알게되었다 (부끄) 그래서 다시 정리를 차근 차근 해보고자 한다.Goalequals()에 대해 알아본다hashcode()에 대해 알아본다toString()에 대해 알아본다equals()를 재정의할 때, hashcode(), toString()도 같이 재정의 해야하는 이유 equals()와 hashcode() equals()와 hashcode()는 최상위 클래스인 Object 클래스에 정의되어 있다. final로 되어있지 않기 때문에 하위 클래스에서 재정의 할 수 있다. 참고 https://dev-rosiepoise.tistory.com/111 [java] java.lang, java..
Goal java.lang 패키지에 대해 알아본다 java.util 패키지에 대해 알아본다 Object 클래스에 대해 알아본다 java.lang 패키지란? 자바 프로그램의 기본적인 클래스(인터페이스, 클래스, enum, exception, error, annotion)를 담고 있는 패키지로 java.lang 패키지 안에 있는 클래스와 인터페이스는 import 없이 사용 가능하다. 참고 https://docs.oracle.com/javase/8/docs/api/java/lang/package-summary.html java.lang (Java Platform SE 8 ) Interface Summary Interface Description Appendable An object to which char s..
시작하기 전 ... String vs StringBuffer vs StringBulider을 정확히 이해하고 어느시점에 적재적소로 사용할 것인지 다시 한번 정리가 필요하다고 판단하여 포스팅을 하게 되었다!.. 더보기 stirng 빈 값 체크 참고 [String] String 빈 값 및 Null 체크 Goal StringUtils이 제공하는 빈 값과 Null체크를 하는 메소드의 각 차이점을 알아본다 == 와 equals()의 차이를 알아본다 String.valueOf()메소드에 대해 알아본다 기존 코드에서의 빈 값 및 null 체크 // 계약 dev-rosiepoise.tistory.com Goal String에 대해서 알아본다 StringBuffer에 대해서 알아본다 StringBulider에 대해서 알..
Goal 자바의 자료형에 대해 알아본다 기본 자료형에 대해 알아본다 참조 자료형에 대해 알아본다 String 클래스에 대해 알아본다 자바의 자료형 타입(Data type)이란 해당 데이터가 메모리에 어떻게 저장되고, 프로그램에서 어떻게 처리되어야 하는지를 명시적으로 알려주는 것이다. 자바에서 타입은 크게 기본형 타입과 참조형 타입이 있다. 기본 자료형이란? 기본 자료형은 8개로 우리가 추가로 만들 수 없다 정수형, 소수형, 논리 타입이 존재한다 반드시 기본값을 지정해야 한다 지역변수는 꼭 지정해야하며, 인스턴스, 클래스, 매개 변수는 지정하지 않아도 컴파일 되지 않지만 권장 x null이 허용 x 실제 값을 저장하는 공간으로 스택(Stack) 메모리에 저장된다. 각종 연산자들은 대부분 기본 자료형을 위하..
Goal 변수의 종류에 대해 알아본다 객체지향 프로그램이 메모리를 사용하는 방식에 대해 알아본다 각 변수들이 메모리에 적재되는 위치에 대해 알아본다 변수의 종류 변수가 선언된 위치에 따라 구분된다. 지역 변수 - 클래스 이외의 영역( 메소드, 생성자, 초기화 블럭)에 위치 멤버 변수 - 클래스 영역 내 위치 클래스 변수 객체(인스턴스) 변수 객체 속성 변수 객체 참조 변수 종단(final) 변수 public class test { // 인스턴스 변수 int iv; // 클래스 변수 static int cv; void method() { // 지역 변수 int lv; } } 지역 변수 stack 영역에 저장 메서드 내에서 선언되며 메서드 내에서만 사용할 수 있는 변수입 메서드가 실행될 때 메모리를 할당 받..
dev_rosieposie
'JAVA' 카테고리의 글 목록