반응형 전체 글433 JVM 메소드 영역(Method area) ü메소드와 클래스 변수를 저장하기 위한 공간 ü모든 프로그램에 의해 공유 힙 영역(Heap area) ü동적으로 할당하여 사용할 수 있는 메모리 ü주로 실행시간에 생성되는 객체를 저장 스택 영역(Stack area) ü메소드 호출 시 메소드의 매개변수, 지역변수, 임시변수등을 저장하기 위한 스택 구조의 메모리 ü실행중인 프로그램에 따라 스택 프레임 할당 PC 레지스터 üJVM이 현재 수행할 명령어의 주소를 저장 Native 메소드 스택 üNative 메소드를 호출할 때 native 메소드의 매개변수, 지역변수 등을 저장 2009. 3. 23. 자바, 클래스 정리 * 자바에서의 자료 구조는 클래스로 표현된다. 실세계를 표현하기 위해 서로 다른 자료형을 묶어 놓은 추상화 기법을 사용한다. * main() 메소드를 가지고 있는 클래스만 실행할 수 있다. * 캡슐화(Encapsulation) : 객체에게 넘겨주는 정보와 메소드를 실행한 결과를 알 수 있지만 내부 구조에 대해서는 알 수 없다. * 정보 은닉(Information Hiding) 객체 사용자가 사용하길 원하는 정보를 선택하고 그 정보는 구현한 부분의 비밀을 유지할 수 있다. 따라서 일부 메소드는 공개하지만 공개된 메소드에서 접근하는 내부메소드에 대해서는 숨긴다. * Get/Set 메소드 : 직접 속성에 접근하는 방법과 달리 자료의 유효성을 검사할 수 있으며, 어떤 값을 읽기 전용으로 사용할 수 있다. * 생.. 2009. 3. 23. 재귀와 반복 (Recursion vs Iteration) * 재귀 메소드 - 메소드는 특정한 문제를 해결하기 위해 다른 메소드를 호출할 수 있으며, 자신을 직접 호출하는 것을 재귀라고 한다. - 재귀적인 방법을 사용함에 있어 주의할 점은 종료하는 지점을 정의하는 것이다. 그렇지 않으면 재귀는 무한 반복되기 때문이다. * 재귀와 반복 - 재귀와 반복은 같은 문제를 해결하는 두가지 방법이지만, 재귀 방법이 적은 코드를 사용해 효율적으로 처리할 수 있다. * 반복 - 메소드의 호출은 매개변수 리스트를 보관할 메모리 영역과 (메소드가 static이 아니라면) 메소드를 실행할 수 있는 복사 공간이 필요하다. - 반복적인 메소드 호출을 위한 메모리는 한번만 필요하기 때문에 반복 프로그래밍이 성능적인 면에서 유리하다. * 재귀 - 세련된 방법. 코드를 이해하고 유지하는 것.. 2009. 3. 23. 현실 2009. 3. 19. Axis 웹서비스 등록 및 배포 방법 #다음 과정 중엔 항상 Tomcat 이 구동되어 있어야함. 1. Java Class 생성 2. Interface 생성 3. Axis Java2WSDL을 이용하여 Interface Class를 WSDL File로 변환 4. Axis WSDL2Java를 이용하여 WSDL File을 Java 및 WSDD File로 변환 5. WSDD File의 Class 부분을 처음 작성했던 Java Class로 수정 6. Axis AdminClient를 이용하여 서비스 등록(deploy.wsdd) 및 삭제 (undeploy.wsdd) 2009. 3. 19. JAVA2WSDL 생성 axis에서는 JAVA 원본 Source Code를 읽어들여서 자동적으로 WSDL로 변환하는 도구를 제공한다. 물론 그 반대의 도구도 있는데(Wsdl2JAVA) 방법은 비슷하다고 볼 수 있다. 생성방법은 우선 패키지 폴더의 상위 폴더로 이동한 후 다음의 명령을 실행한다. Prompt\>java org.apache.axis.wsdl.Java2WSDL –o FactServiceByWSDL.wsdl -n urn:ws.infravalley.com -l http://localhost:8080/axis/services/FactServiceByWSDL com.infravalley.ws.service.FactServiceByWSDLIF 위의 문장을 한 줄로 차례대로 입력한다. 위에서 각각의 옵션을 살며보자면, ‘–o .. 2009. 3. 19. 컴파일러와 인터프리터 1.차이점 (1)컴파일러 언어와 인터프리터 언어의 구별은 언어 자체에 있는 것이 아니라 그 언어를 구현시키는 방법에 따라서 구분이 된다. 고급 언어를 디자인 할 때 구현 방법을 고려하기는 하지만 컴파일러 언어로서 가정 전형적인 언어인 포트란조차 인터프리터로 구현할 수 있으며, 반대로 인터프리터의 전형적인 언어인 SNOBOL4도 컴파일러 기법으로 구현시킬 수 있다. (2)실제 입력 프로그램을 처리하는 과정을 살펴보면 컴파일러는 입력 프로그램의 매 입력된 순서대로 정확하게 한 번씩 처리하지만, 인터프리터는 그 입력 프로그램의 순서에 따라 문장들을 처리하기 때문에 순환 부분 등은 계속 반복 처리해야 한다. (3)컴파일러와 인터프리터는 고급 언어로 된 프로그램을 입력 자료로 읽어 프로그램(후에 하드웨어 인터프리.. 2009. 3. 17. Apache AXIS를 이용한 웹서비스 강좌 AXIS에 대한 자료가 많지 않은데요.. 참 정리가 잘 된 문서인 것 같습니다. 시키는 대로 테스트를 하다 보니.. 웹서비스의 개념이 어느정도 잡히는 듯 합니다. 좋은 자료라 공유해봅니다. 참고하세요~~) Apache AXIS를 이용한 웹서비스 강좌(팁) 개요 : 톰캣(자바)환경에서 axis를 이용한 웹서비스 Apache Axis is an implementation of the SOAP ("Simple Object! Access Protocol") submission to W3C. 아래의 내용은 중요하므로 기본 개념이 분명이 있어야 한다. 본 강좌(팁)은 사용법을 위주로 아주 기초적인 예제를 다룰것이므로 자세한 내용은 생략한다. SOAP (Simple Object! Access Protocol) WSD.. 2009. 3. 16. 자바의 형변환 int to String String str = Integer.toString(i); String str = "" + i; String to int int i = Integer.parseInt(str); int i = Integer.valueOf(str).intValue(); double to String String str = Double.toString(d); long to String String str = Long.toString(l); float to String String str = Float.toString(f); String to double double d = Double.valueOf(str).doubleValue(); String to long long l = Long.valueOf.. 2009. 3. 13. 이전 1 ··· 45 46 47 48 49 다음 반응형