본문 바로가기

Information Technology/Programming19

The Java Class File Format Class 파일은 다음의 네 가지 특징을 가지게 됩니다. Compack 한 형태 Bytecode는 Source Code를 단순히 JVM의 언어로 번역해 놓은 것이기 때문에 Source Code와 비슷한 크기를 가지고 있습니다. Compiler를 통해 실행파일로 변경되는 과정에서 Library들을 포함하는 C++, Delphi와 같은 언어보다 작은 크기입니다. 이렇게 작은 크기를 유지할 수 있는 이유는 Class파일에는 실제로 참조하는 라이브러리를 포함하고 있지 않고, 단지 Symbolic Reference 만을 가지고 있기 때문입니다. 이 Symbolic Reference는 참조하는 객체의 특정 메모리 번지로 참조관계를 구성한 것이 아닌 참조하는 대상의 이름만을 지칭한 것입니다. Class 파일이 JVM.. 2013. 4. 14.
The Java Language and JVM 보통 Java 라는 언어를 언급할 때 가장 자주 등장하는 것이 바로 객체지향이라는 단어입니다. 이것은 Java라는 언어의 중요한 software 기술 중의 하나입니다. Java라는 언어는 그리 오래 되지 않은 프로그래밍 언어입니다. 그렇기 때문에 비교적 최신의 Software 기술이 적용되어 있습니다. 그 중 하나가 객체지향인 것입니다. 그 밖에도 Multi-Threading, SEH(Structured Exception Handler), Garbage Collection, Dynamic Linking, Dynamic Extension 등의 기술들이 접목되어 있습니다. Java의 Class 파일은 JVM 위에서 다시 실행 가능한 형태로 변형되는데 이 때 Linking 작업이 발생하게 됩니다. 그래서 Cl.. 2013. 4. 14.
Java Basic Architecture Java의 철학 객체 지향 방법론을 사용해야 한다 같은 프로그램(바이트코드)이 여러 운영 체제(마이크로프로세서)에서 실행될 수 있어야 한다 컴퓨터 네트워크 접근 기능이 기본으로 탑재 되어 있어야 한다 원격 코드를 안전하게 실행할 수 있어야 한다 다른 객체 지향 언어들의 좋은 부분만 가지고 와서 사용하기 편해야 한다 Java의 특징 자바는 간단하다 (simple) 하나의 소프트웨어가 제작될 때는 소프트웨어를 제작하는 비용도 많이 들지만 유지 보수하는 비용도 어마어마하다. 자바 언어는 이러한 점을 고려하여 디자인되었다. 자바 언어는 C++를 기반으로 개발되었음에도 C++에서 혼란을 일으키는 부분을 제거했다. 예를 들면 연산자 오버로딩, 다중 상속 같은 것들이다. 그리고 C++에서 문제가 되는 기억 장소 경영.. 2013. 4. 11.
Regular Expressions Debugger 정규표현식을 쓰실 때 마다 머리가 지끈지끈 거리시죠? 다음 사이트에서 정규표현식을 Debugging 할 수 있습니다. 단순히 매칭 되는 것만 보여준다면 소개할 필요가 없겠죠?사이트 Debuggex[그림1 Main page][그림1. example]위의 예제와 같이 정규표현식이 알고리즘 그림형태로 보여줍니다. 각 입력구간 위에는 bar가 있는데 이 것을 움직임으로써 정의한 정규표현식과 테스트 할 문자열 그리고 그림으로 표현한 알고리즘의 구간별 상태를 보여줍니다. 2013. 3. 4.