Information Technology

Information Technology/Programming

The Java Virtual Machine(JVM)

Java Virtual Machine을 풀어서 해석하면 다음과 같다. Java : Java언어를 사용한다. Virtual : 가상화, 즉 Hardware 적인 형태가 아닌 Software 적인 형태이다. Machine : 독자적으로 작동할 수 있는 메커니즘과 구조를 가지고 있어 하나의 축약된 컴퓨터이다. JVM은 표준화된 정의가 나오면 JVM벤더들은 이에 맞도록 자신들의 JVM을 구현하기 때문에 정통 JVM이라는 것이 없다. 그래서 자세한 설계도를 만들어 제공하지 않는다. 단지 JVM은 이렇게 저렇게 해야 한다는 식의 정의만으로 존재할 뿐이다. JVM은 Class Loader System을 통해 Class 파일들을 JVM으로 로딩한다. 로딩된 Class 파일들은 Execution Engine을 통해 해석..

Information Technology/Programming

The Java Application Interface

JRE는 Java 실행 환경인데 여기에는 Java Virtual Machine과 Java API, 그리고 Native Method 등이 포함되어 있다. 이중 Java Application interface, 즉 Java API는 한마디로 Runtime Library의 집합이다. Java API는 OS 시스템과 Java 프로그램의 사이를 이어주는 역할(Interface)을 한다. Java API는 Native Method를 통해 OS 자원과 연계되어 있고 다른 한 편으로는 Java 프로그램과 맞닥뜨리고 있다. 만약 java.io.InputStream 이라는 클래스를 사용하여 특정 파일 시스템의 정보를 읽어 온다고 가정하면 Java는 Class 파일 내에 있는 java.io.InputStream의 Symbo..

Information Technology/Programming

The Java Class File Format

Class 파일은 다음의 네 가지 특징을 가지게 됩니다. Compack 한 형태 Bytecode는 Source Code를 단순히 JVM의 언어로 번역해 놓은 것이기 때문에 Source Code와 비슷한 크기를 가지고 있습니다. Compiler를 통해 실행파일로 변경되는 과정에서 Library들을 포함하는 C++, Delphi와 같은 언어보다 작은 크기입니다. 이렇게 작은 크기를 유지할 수 있는 이유는 Class파일에는 실제로 참조하는 라이브러리를 포함하고 있지 않고, 단지 Symbolic Reference 만을 가지고 있기 때문입니다. 이 Symbolic Reference는 참조하는 객체의 특정 메모리 번지로 참조관계를 구성한 것이 아닌 참조하는 대상의 이름만을 지칭한 것입니다. Class 파일이 JVM..

Information Technology/Programming

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..

Information Technology/Operation System

Dual-boot Windows 7 and Kali Linux

듀얼 부팅을 선택 하게 된 이유는 단지 Cuckoo Sandbox를 구성하기 위해서 였습니다. Cuckoo Sandbox는 가상머신에 파일을 실행시켜 행위를 후킹하여 분석결과를 제공해 주는 오픈소스 프로그램인데, 가상머신 안에 가상머신을 구현할 수 없어서 듀얼 부팅을 선택하게 되었습니다. 현재 제 컴퓨터 환경은 기본 Windows 7이 설치되어 있고, 이번에 데비안 계열로 배포중인 Kali Linux(aka. Backtrack 6)를 선택하였습니다. 먼저 디스크 관리에 들어가서 파티션을 분할 합니다. 위와 같이 파티션을 분할하여 포맷하지 않은 상태로 Kali Linux로 부팅합니다. 그래픽 설치 모드로 사용 듀얼 부팅에서 중요한 부분은 아니니 기본적으로 설치하는 듯이 설정하면 됩니다. 중요한 파티션 분할..

Information Technology/Programming

Java Basic Architecture

Java의 철학 객체 지향 방법론을 사용해야 한다 같은 프로그램(바이트코드)이 여러 운영 체제(마이크로프로세서)에서 실행될 수 있어야 한다 컴퓨터 네트워크 접근 기능이 기본으로 탑재 되어 있어야 한다 원격 코드를 안전하게 실행할 수 있어야 한다 다른 객체 지향 언어들의 좋은 부분만 가지고 와서 사용하기 편해야 한다 Java의 특징 자바는 간단하다 (simple) 하나의 소프트웨어가 제작될 때는 소프트웨어를 제작하는 비용도 많이 들지만 유지 보수하는 비용도 어마어마하다. 자바 언어는 이러한 점을 고려하여 디자인되었다. 자바 언어는 C++를 기반으로 개발되었음에도 C++에서 혼란을 일으키는 부분을 제거했다. 예를 들면 연산자 오버로딩, 다중 상속 같은 것들이다. 그리고 C++에서 문제가 되는 기억 장소 경영..

Information Technology/Operation System

Creating an automatic recovery boot environment with "Ghost 11.5.X" on Windows 7

아무래도 보안관련, 특히 악성코드와 접점이 많은 일을 하다보면 Host OS를 자주 밀게 됩니다. 저 같은 경우도 악성코드 유포지에 대한 연구를 하다 보니 자연스레 컴퓨터도 느려지고, 다양한 모듈들을 테스트를 하다 보니 컴퓨터가 자주 느려집니다. 그래서 이번에 포맷하는 겸 "PC방 처럼 원 클릭으로 복구 할 수 있는 방법이 없을까?"라고 생각했는데, 좋은 사이트에서 따라만 하다 보니 설정이 잘 되서 설정하는 부분만 정리해봅니다. 자세한 내용은 이 포스트의 맨 아래 reference를 참조하시길 바랍니다. Windows 7과 Windows XP와 설정방법은 조금 다릅니다. 이 자료는 Windows 7에만 초점을 맞춰 정리하였습니다. 파티션분할실행 > diskmgmt.msc (디스크 관리) System 디스..

Information Technology/Network

Referral Traffic

추천 트래픽이란?블로그나 상업용 사이트를 운영한다면 아마도 당신은 " Referral Traffic(이하 추천 트래픽)"란 단어를 자주 들어봤을 것이고 이것은 방문자나 판매를 증가 시킨다는 무언가로 알려져 있습니다. 추천 트래픽은 얻기가 쉽지 않지만 이 트래픽을 얻게 된다면 당신이 원하는 독자 수나 판매 목표에 도달 할 수 있습니다. 만약 당신 웹사이트나 블로그 또는 온라인 스토어에서 방문자 수를 늘리길 원한다면 추천 트래픽에 대해 몇 가지 알아야만 합니다. 정의추천 트래픽은 검색엔진에서 직접적으로 오는 것보다는 다른 웹사이트 직접적인 링크로 당신의 사이트에 유입되는 방문자들을 묘사할때 쓰입니다. 예를 들어, 다른 사이트들이 추천하는 당신이 말하고 싶거나 팔고 싶은 내용의 링크를 올리는 것입니다. 또한 ..

hakawati
'Information Technology' 카테고리의 글 목록 (6 Page)