달력

12

« 2019/12 »

  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  •  
  •  
  •  
  •  

   

 


JVM(자바 가상 머신, Java Virtual Machine)

·       자바 컴파일러에 의해 만들어진 ‘바이트코드(bytecode)’를 해석하고 실행하는 ‘가상적 기계(CPU)

·       *.class 실행 (바이트 코드)

·       다양한 하드웨어 및 운영체제에서 자바(Java) 언어로 작성된 애플리케이션을 수행하기 위한 사양(JVM Specification)의 구현체(Implementation)를 의미

 

 

https://en.wikipedia.org/wiki/Java_virtual_machine

https://ko.wikipedia.org/wiki/%EC%9E%90%EB%B0%94_%EA%B0%80%EC%83%81_%EB%A8%B8%EC%8B%A0

 

 

 

    

   

JAVA프로그램 도식도

   

   


'Development > Java' 카테고리의 다른 글

새 프로젝트 생성 (Java Project)  (0) 2014.09.18
JDK 설치 후 디렉토리  (0) 2014.09.16
JVM(자바가상머신, Java Virtual Machine), JAVA프로그램 도식도  (0) 2014.09.07
자바 플랫폼(Java Platform)  (0) 2014.09.01
식별자  (0) 2014.08.25
JAVA (자바)  (0) 2014.08.18
Posted by codedragon codedragon

댓글을 달아 주세요

   

자바플랫폼

자바 프로그램이 실행되기 위해 제공되는 '하드웨어적 프로그램'

   

   

실행구조 도식도( 플랫폼 구성)

일반프로그램 실행구조도

   

자바프로그램 실행 구조(자바 플랫폼 구성 도식도)

   

   

   

운영체제에 독립적인 자바프로그램

  • 자바 프로그램은 운영체제에 독립적이며
  • 자바 가상머신은 운영체제에 의존적입니다.

   

   

   

   

   

   

자바플랫폼의 종류

Java 2 Platform, Standard Edition(J2SE)

응용프로그램개발, 웹개발 안드로이드개발

PC에 설치해서 사용할 수 있는 모든 프로그램 개발에 관련된 것

  

Java 2 Platform, Enterprise Edition(J2EE)

SE확장판(대형 네트워크환경 프로그램 개발시)

기업환경을 위한 솔루션 개발

  

Java 2 Platform, Micro Edition(J2ME)

가벼운 자바, 소형 디바이스에 올려서 할 수 있는 자바

모바일환경개발(최근에는 사용안함)

JAVA SE를 줄여 라이트하게 만든 것이 므로 SE개발을 할 줄 알면 ME기반의 개발도 가능합니다.

  

 

'Development > Java' 카테고리의 다른 글

JDK 설치 후 디렉토리  (0) 2014.09.16
JVM(자바가상머신, Java Virtual Machine), JAVA프로그램 도식도  (0) 2014.09.07
자바 플랫폼(Java Platform)  (0) 2014.09.01
식별자  (0) 2014.08.25
JAVA (자바)  (0) 2014.08.18
자바 버전확인 경로  (0) 2014.08.10
Posted by codedragon codedragon

댓글을 달아 주세요

내부 함수에서 지역 변수 접근

   

   

소스 코드

<html>

<head>

<meta charset="UTF-8">

<title>내부 함수</title>

<script type="text/javascript">

function f(){

var n = 123;

//내부 함수

function g(){

document.write('n = ' + n + '<br>');

document.write('g() is called');

}

//내부 함수 호출

g();

}

//함수 호출

f();

</script>

</head>

<body>

</body>

</html>

   

출처: <https://github.com/10zeroone/study_javascript/blob/master/WebContent/ch04-function/08.html>

   

   

Posted by codedragon codedragon

댓글을 달아 주세요

지역변수 vs 전역변수

지역변수

함수 안에서 var를 사용해서 선언한 변수

함수가 끝나면 소멸

함수 안에서 var를 명시한 변수는 지역변수이기 때문에 함수 종료 후 메모리에서 소멸됨

함수 종료 후에 다시 지역변수 호출하면 오류 발생

전역변수

함수 밖에서 만들어진 모든 변수

(중요)함수 안에서 var 없이 만들어진 변수var를 명시하지 않고 전역변수 선언하는 것은 권장하지 않음

함수가 끝나도 메모리에 남아 있음

   

   

학습 내용

  • 함수 안에서 var로 명시한 지역 변수 호출
  • 함수 밖에서 var로 명시한 지역 변수 호출
  • 전역 변수 호출
  • 전역 변수 재 호출
  • 함수 안에서 var 없이 변수 선언(전역 변수)
  • var없이 전역 변수 명시 1, 2, 3

   

   

함수 밖에서 var로 명시한 지역변수 호출

소스 코드

function test1(){

//지역 변수

var i = 10;        

document.write(i + '<br>');

}

//함수 호출

test1();

document.write('<br>함수 종료 : ' + i + '<br>');        //에러 발생

   

출처: <https://github.com/10zeroone/study_javascript/blob/master/WebContent/ch04-function/03.html>

   

함수 안에서 var를 명시한 변수는 지역변수이기 때문에 함수 종료 후 메모리에서 소멸되어 함수 종료 후에 다시 지역변수 호출하면 오류 발생

   

   

   

var 없이 전역 변수 선언

소스 코드

p;

function test6(){

p = 50;

document.write(p + '<br>');                

}

test6();

   

출처: <https://github.com/10zeroone/study_javascript/blob/master/WebContent/ch04-function/03.html>

   

var를 명시하지 않고 전역변수를 만들 때 선언만 하고 초기화 하지 않은 상태에서 함수 안에서 초기화해서 호출하면 오류 발생함

   

   

전체 소스

<html>

<head>

<meta charset="UTF-8">

<title>지역변수 vs 전역변수</title>

<script type="text/javascript">

document.write('지역 변수 호출 ==================<br>');

function test1(){

//지역 변수

var i = 10;        

//지역 변수 호출

document.write(i + '<br>');

}

//함수 호출

test1();

//함수 밖에서 지역 변수 호출

//document.write('<br>함수 종료 : ' + i + '<br>');        //에러 발생

/* 함수 안에서 var 명시한 변수는 지역변수이기 때문에 함수 종료 메모리에서 소멸됨

함수 종료 후에 다시 지역변수 호출하면 오류 발생 */

   

document.write('<br> 전역 변수 호출 ==================<br>');

var j;        //전역 변수

function test2(){

j = 300;

document.write(j + '<br>');

}

test2();

   

document.write('<br> 전역 변수 호출 ==================<br>');

function test3(){

document.write(j + '<br>');

}

test3();

   

document.write('<br> 함수안에서 var 없이 변수 선언(전역 변수) ==================<br>');

function test4(){

//전역 변수, 권장하지 않음

m = 30;

document.write('함수 안에서 호출: ' + m + '<br>');

}

test4();

document.write('함수 종료 호출: ' + m + '<br>');

   

document.write('<br> var없이 전역 변수 명시1 ==================<br>');

n = 40;

function test5(){

document.write(n + '<br>');                

}

test5();

   

document.write('<br> var없이 전역 변수 명시2 ==================<br>');

//var 명시하지 않고 전역변수를 만들 선언만 하고 초기화 하지 않은 상태에서 함수 안에서 초기화해서 호출하면 오류 발생함

//p;

function test6(){

p = 50;

document.write(p + '<br>');                

}

test6();

   

document.write('<br> var없이 전역 변수 명시3 ==================<br>');

//var 명시하지 않고 전역변수 선언(권장하지 않음)

//권장하지 않음

//p;

q = 20;

function test7(){

q = 60;

document.write(q + '<br>');                

}

test7();

</script>

</head>

<body>

</body>

</html>

   

출처: <https://github.com/10zeroone/study_javascript/blob/master/WebContent/ch04-function/03.html>

   

Posted by codedragon codedragon

댓글을 달아 주세요

   

함수를 반환하는 함수와 클로저

   

- 익명함수를 반환하는 함수

   

function outerFunction() {

return function () {

alert('Hello World .. !');

};

}

outerFunction()();

   

- 클로저의 사용

함수 안에 있는 변수는 지역 변수이므로 외부에서 사용할 수 없습니다.

클로저를 사용하면 이 규칙을 위반하여 지역변수를 사용할 수 있도록 할 수 있습니다.

   

익명함수를 반환하는 함수에 지역변수가 있으면 익명함수는 클로저 함수로서 지역변수를 가져다 쓸 수 있습니다.

   

클로저란

- 지역 변수를 남겨두는 현상

- 함수 outerFunction()로 인해 생성된 공간

- 함수 outerFunction() 내부의 변수들이 살아있음

- 리턴되는 함수 자체

- 살아남은 지역 변수

   

function outerFunction(name) {

var output = 'Hello ' + name + '.. !';

return function () {

alert(output);

};

}

outerFunction('play')();

  

   

   

'Development > JavaScript, jQuery, ...' 카테고리의 다른 글

콜백함수 (callback function)  (0) 2014.06.05
자바스크립트 내장 함수  (0) 2014.06.05
함수를 반환하는 함수와 클로저  (0) 2014.06.05
내부 함수  (0) 2014.06.04
함수의 return 값 활용  (0) 2014.06.04
가변인자 함수  (0) 2014.06.04
Posted by codedragon codedragon

댓글을 달아 주세요