프로그래밍 언어/JAVA
-
JAVA 버전별 history프로그래밍 언어/JAVA 2020. 5. 3. 15:32
Java version History JDK 1.0 JDK 1.1 J2SE 1.2 J2SE 1.3 J2SE 1.4 J2SE 5 Java SE 6 Java SE 7 Java SE 8 Java SE 9 Java SE 10 Java SE 11 Java SE12 Java SE 13 Java SE 14 JAVA TEST JTREG JT Harness Java Microbenchmark Harness Java version History JCP(Java Community Process; http://jcp.org ) → JSR(Java Specification Request) jcp는 JVM 명세 뿐만 아니라 새로운 자바 기술 명세를 제안하고 제공 jcp에서 jsr 요청하여 해당 jsr이 tck를 거쳐야 비로소 완..
-
JVM3프로그래밍 언어/JAVA 2020. 5. 2. 18:19
Runtime Data Areas Runtime Data Areas의 구조 PC Registers Java Virtual Machine Stacks Native Method Stacks Method Area Java Heap Runtime Data Area Simulation Runtime Data Areas의 구조 Process로서 JVM이 프로그램을 수행하기 위해 OS로부터 할당 받은 메모리 영역 Runtime Data Areas는 각각의 목적에 따라 5개의 영역으로 나뉨 PC Registers Thread 별 생성 Java Virtual Machine Stacks Thread 별 생성 Native Method Stacks Thread 별 생성 Method Area Thread에게 공유 Heap Th..
-
JVM2프로그래밍 언어/JAVA 2020. 4. 26. 16:20
Runtime Data Areas Runtime Data Areas의 구조 PC Registers Java Virtual Machine Stacks Native Method Stacks Method Area Java Heap Runtime Data Area Simulation Runtime Data Areas의 구조 Process로서 JVM이 프로그램을 수행하기 위해 OS로부터 할당 받은 메모리 영역 Runtime Data Areas는 각각의 목적에 따라 5개의 영역으로 나뉨 PC Registers Thread 별 생성 Java Virtual Machine Stacks Thread 별 생성 Native Method Stacks Thread 별 생성 Method Area Thread에게 공유 Heap Th..
-
JVM프로그래밍 언어/JAVA 2020. 4. 26. 16:19
Java Virtual Machine 내용 Java의 철학 : Write Once, Run Everywhere 이러한 철학을 실현하기 위해 Java의 네 가지 상호 연관된 기술 Java Programming Language Java Class File Format Java Application Programming Interface (Java API) Java Virtual Machine (JVM) IDE → java source code 작성 (XX.java) → 'javac'를 이용한 Compile → XX.class , JRE 필요 Java Programming Language - java source code 작성 (XX.java) Java Class File Format - XX.class, J..
-
NIO - Buffer프로그래밍 언어/JAVA 2020. 4. 3. 11:53
NIO - Buffer Direct Buffer와 NonDirect Buffer Direct Buffer 운영체제의 메모리 버퍼 생성이 느리다 버퍼 크기 크다 입출력 성능 높다 NonDirect Buffer JVM 힙 메모리 퍼버 생성이 빠르다 버퍼 크기 작다 입출력 성능 낮다 ByteBuffer directBuffer = ByteBuffer.allocateDirect(100); ByteBuffer nonDirectBuffer = ByteBuffer.allocate(100); 버퍼 생성 NonDirectBuffer를 생성하기 위해서는 각 Buffer 클래스의 allocate()와 wrap() 메소드 호출 DirectBuffer는 ByteBuffer의 allocateDirect() 메소드를 호출 alloc..
-
추상 클래스와 인터페이스프로그래밍 언어/JAVA 2020. 3. 29. 18:10
추상 클래스 추상 메서드는 선언만 있고 구현이 없는 메서드 public abstract class Event{ public String title; public Evnet(String title){ this.title = title; } public abstract boolean isRelevant(MyDate date); } 추상 메서드를 하나라도 가지고 있으면 → 추상 클래스 객체를 만들기 위해 클래스 정의, 그러나 아무 내용이 없는 메서드를 가지고 있다 → 추상 클래스는 객체를 만들 수 없다 그럼 왜 추상 클래스가 필요한가? 클래스는 객체를 만들기 위해서만 존재하지 않는다 어느 한 클래스의 서브 클래스를 만드는 용도 또한 중요 부모 클래스의 함수를 적절히 구현하기 곤한할 때 추상 클래스 사용예 su..
-
객체, 클래스의 개념프로그래밍 언어/JAVA 2020. 3. 29. 18:08
캡슐화 코드들을 보호하는 역할 접근 가능 코드와 불가능한 코드들을 분리할 시에 중요한 데이터들의 보안을 위해 사용 클래스 객체가 작성되는 서식 객체가 수행하는 인터페이스를 말함 동일한 객체들의 집합체 추상화 객체가 자신의 정보를 은폐, 외부적으로는 구체적이 아닌 추상적인 내용만을 알려주는 것을 말함 ex) 자동차 운동, 운전자는 자동차 엔진의 모든 작용을 알 필요가 없다. 특정 인풋과 아웃풋 값만을 알면 되는 것 상속 기존에 이미 만들어져 있는 객체의 변수와 메소드를 물려받아서 또 다른 새로운 객체를 만드는 것 이러한 기존 정보의 재사용성을 이용 다형성 부모의 객체로부터 상속받아 전혀 새로운 결과물을 산출하는데 의미를 두는 것 클래스 자바 언어에서 하나의 프로그램 단위 public class 클래스 이름..