본문 바로가기

프로그래밍 언어(Programming Language)/Java

(4)
Keywords of Java such as private, default, protected and public Let's take a look at keywords of Java. Keyword Inner class Same package Inheritaged class Other areas private o x x x default o o x x protected o o o x public o o o o In addition, we are gonna go through 'protected' and 'default' in code. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 class AAA { int num1; protected int num2; } class BBB extends AAA { BBB() { num1 = 10; // access to default member of AAA clas..
쓰레드의 메모리 구성 이번에는 쓰레드의 메모리 구성에 대해서 설명해보겠다. 쓰레드가 생성되면 가상머신은 쓰레드의 실행을 위한 별도의 메모리 공간을 할당한다고 설명하였다. 그렇다면 이러한 별도의 메모리 공간은 정확히 무엇을 의미하는 것일까? 쓰레드의 가장 큰 역할은 별도의 실행흐름 형성이다. 그리고 별도의 실행흐름은 메소드의 호출을 통해서 형성된다. 즉 처음에는 run 메소드가 호출되고, run 메소드 내에서는 또 다른 메소드를 호출하면서 main 메소드와는 다른 흐름을 형성한다. 이렇듯 main 메소드와는 전혀 다른 실행흐름을 형성하기 위해서는 별도의 스택이 쓰레드에게 할당되어야 한다. 따라서 main 쓰레드 이외의 두 개의 쓰레드가 추가로 생성되면, 가상머신은 다음의 형태로 메모리를 구성한다. 위 그림에서 보듯이 모든 쓰레..
[Java] Try catch 그리고 finally!? Java의 문법을 공부하다보면 종종 헛갈리는 부분들이 있다. try catch finally문은 자주 헛갈리는 종류 중 하나이다. Try문을 실행한다. Catch문을 실행한다. Finally문을 실행한다. 이 구문은 몇 가지의 실행 가능한 경우의 수를 갖는다. 1을 실행하던 도중 에러 발생한다. 2를 실행한다. 그리고 3을 실행한다. 1을 에러 없이 실행한다. 그리고 3을 실행한다. // Background : 하나의 인스턴스에 대한 공유자원인 String형 newString과 boolean형 isNewString을 이용하여 문자열을 읽고 쓴다. // String newString : 새로운 문자열을 저장한다. // boolean isNewString : Writer 인스턴스에 의해 읽혔으면 true. ..
Oracle JDK vs Open JDK 일반적으로 Java 어플리케이션을 실행하기 위해서는 JVM(Java Virtual Machine)이 필요하고 컴파일하기 위해서는 JDK가 필요하다. JDK를 설치하게 되면 JVMeh 도 함께 설치된다. JDK는 크게 두 가지 버전으로 나뉜다. Oracle JDK : 폐쇄적인 상업 코드 기반 Open JDK : 오픈 소스 기반 Oracle JDK에만 존재하는 대표적인 기능으로는 글꼴 라이브러리와 Java Web Start가 있다. 사용자의 웹 브라우저에서 자바 어플리케이션을 실행하려면 필요한 기능이다. 하지만 일부 라이브러리를 제외하고는 Open JDK와 Oracle JDK간의 큰 차이는 존재하지 않는다. 아래의 링크를 참고하였습니다. 감사합니다. [1] https://www.lpcinc.co.kr/blo..