JVM 이란?
JVM 이란?
자바에서 깊은 복사와 얕은 복사의 차이
제어자 : 클래스, 변수, 메서드의 상태를 통제할 때 사용한다. 클래스, 변수, 메서드의 선언부에 사용되어 부가적인 의미를 부여해 준다. 하나의 대상에 여러 개의 제어자를 조합해서 사용할 수 있으나, 접근 제어자는 단 하나만 사용할 수 있다. public 접근 제한이 전혀 없다 protected 같은 [패키지] 내에서, 다른 패키지의 [자손클래스]에서 ...
계산기 만들기
일반적으로 회복이 불가능한 문제.시스템 레벨에서, 또는 환경적인 이유로 발생.코드의 문제로 발생하는 경우도 있지만, 일단 발생하면 회복이 불가능.에러가 발생한 경우 우리는 어떤한 에러로 프로그램이 종료되었는지를 확인하고 대응합니다.일반적으로 회복이 가능한 문제회복이 가
예외클래스를 만들어 위험을 알릴 수 있다.Exception을 상속받아서 예외 클래스로 만들어주고 해당 예외가 어떤 위험을 가지고 있는지 메세지를 던져줄 수 있다.throws : 던지다 (=예외를 던지다 / 발생시키다)메서드 이름 뒤에 붙어 이 메서드가 어떠한 예외사항을
예외는 다른 예외를 유발할 수 있다.예외 A가 예외 B를 발생시켰다면, 예외 A는 B의 원인 예외외인 것.원인 예외를 새로운 예외에 등록한 후 다시 새로운 예외를 발생시키는데, 이를 예외 연결이라 한다예외 연결을 하는 이유여러 가지 예외를 하나의 큰 분류의 예외로 묶어
실행 중인 프로그램을 의미한다.OS위에 프로그램을 실행시키면 프로세스라는 이름으로 실행되는 것이다.세 프로그램 모두 각각의 프로세스로 실행되며크롬 브라우저를 2개 띄우면 크롬브라우저 프로세스도 2개가 띄워진 것이다.OS가 프로그램 실행을 위한 프로세스를 할당해줄때 프로
자바에서 제공하는 Thread 클래스를 상속받아 쓰레드를 구현한다.run() 메서드에 작성된 코드가 쓰레드가 수행할 작업이다.자바에서 제공하는 Runnable 인터페이스를 사용하여 쓰레드를 구현한다.Thread와 Runnable은 클래스와 인터페이스라는 차이가 있다.다
쓰레드는 걸리는 시간이나 동작을 예측할 수가 없다.background에서 실행되는 낮은 우선순위를 가진 쓰레드보조적인 역할을 담당하며 대표적인 데몬 스레드로는 메모리 영역을 정리해주는 가비지 컬렉터(GC)가 있다.데몬 쓰레드가 맡은 기능이 수행되는 도중에 메인쓰레드의
쓰레드의 상태
Synchronization > 멀티 쓰레드의 경우 여러 쓰레드가 한 프로세스의 자원을 공유해서 작업하기 때문에 서로에게 영향을 줄 수 있다. 이로인해 장애나 버그가 발생할 수 있다. 이러한 일을 방지하기 위해 한 쓰레드가 진행중인 작업을 다른 쓰레디가 침범하지 못하도록 막는것을 쓰레드 동기화(Synchronization) 라고한다. 동기화를 하려면...
stream 함수와 예제filterboolean값을 요구한다.함수안에 비교연산을 작성 후 true가 입력된 값들로 Stream을 재구성한다.반환 값은 없다.mapStream 내부 값 하나하나 마다 내부 코드를 적용한 Stream을 반환한다.map내부 코드에서 반환된 결
테스트 코드의 필요성 예를 들어 주문하는 사이트에서 주문이 동작하지 않는다거나 10만원을 결제했는데 100만원이 결제 된다거나 피크시간대에 서버가 다운되어버린다거나 하면 사용자는 해당 사이트를 신뢰할 수 없게 된다. 이러한 버그들을 서비스를 내보내기 전에 최대한 많이 찾아내서 제거하기 위해 우리는 테스트라는 것을 거쳐 버그를 확인해야한다. Junit S...
기본 자료형, 원시 타입원시 타입의 자료형은 스택 영역에 값이 저장된다.기초가 되는 기본 자료형이기 때문에 null이 존재하지 않는다. (null도 하나의 type이라고 생각하면 이해하기 쉽다)래퍼 클래스원시 타입을 객체화 시켜놓은 클래스다.원시 타입을 래핑했다고 래퍼
(?=.*[0-9]) (?=.*[a-zA-Z]) (?=.[!"#$%&'()+,\-./:;?@\[₩\]^_`{|}~]) (?=.*) == 비교대상 전체 검색 + 미포함시 false 위의 예시의 경우 (?=.*) 세개가 있기 때문에 비교 대상은 숫자1개 이상 영문(대소문
스프링부트를 연습하면서 데이터베이스는 필연적인 부분인데 이를 외부 데이터베이스를 연결시키지 않고 내 컴퓨터 램에다가 저장해버리는 인메모리 방식이 있다.부트에서는 main 디렉토리의 resources안에 있는 application. yml or properties 파일에