일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 웹사이트최적화기법
- git
- 성능
- notification
- 자바스크립트
- php
- GCM 번역
- kafka
- graphql
- 카프카 트랜잭션
- APNS
- Push
- 페이스북 번역
- nginx설정
- GCM
- 도메인 주도 개발
- 푸시 번역
- Design Pattern
- 웹사이트성능
- nginx
- 카프카
- 웹사이트 성능
- JPA
- 푸시
- nginx설치
- Java
- 디자인패턴
- gcm 푸시 번역
- ddd
- Today
- Total
목록Computer Science/Java (7)
간단한 개발관련 내용
1. Native Threads (Java 1.0)등장 시기: Java 1.0 (1995년)기본 개념:java.lang.Thread 클래스를 사용하여 직접 스레드를 생성하고 관리.Runnable 인터페이스를 통해 스레드에서 실행할 코드를 정의.동기화(synchronized)와 wait()/notify() 메서드를 사용해 스레드 간 통신 및 동기화 구현.예제:class MyTask implements Runnable { @Override public void run() { System.out.println("Thread is running..."); }}public class Main { public static void main(String[] args) { ..
Class 파일은 실행 시 Link를 할 수 있도록 Symbolic Reference 만을 가지고 있다.Runtime 시점에 실제 물리적인 주소로 대체되는 작업인 Dynamic Linking이 일어나게 된다. Class-File-Format은 Network-Byte-Order 를 사용하기 때문에 Big-Endian 방식을 사용하게 된다. 메모리 주소값을 할당하는 방식을 Network-Byte-Order 를 사용하는데 Big-Endian을 사용하기로 약속되어있고, 서로 다른 계열의 CPU끼리 데이터를 전송받을 때의 문제점을 해결하기 위해 정해진 일종의 약속이다. Gabage-CollectorGabage-Collection을 통해 Heap이나 Method-Area의 사용되지 않는 Object를 Memory에..
JAVA1Collection이 없어서 Vector, Stack, Hashtable, Properties 가 컬렉션의 명명법을 따르지 않음.Vector, HashTable 클래스들은 동기화처리됨. JAVA1.1ReflectionCalendar JAVA1.2Collection 프레임워크 등장ArrayList, HashMap 클래스들은 동기화처리하지 않고 필요한 경우에만 java.util.Collections 클래스의 동기화 메소드를 이용. JAVA1.3Hotspot-Compiler 내장...(불필요한 컴파일을 회피하고 HotCode에 Optimization을 집중..)Math 의 OS 의존성 때문에 (CPU명령어처리가 다르니까..) StrictMath 가 탄생했다. JAVA1.4CharSequence 가 추..
OIO(Old Input/Output) 와 NIO(Non-blocking Input/Output or New Input/Output) 몇 년 사이 두드러진 netty(http://netty.io/) 나 vert.x(http://vertx.io/) 등과 같은 네트워크 라이브러리를 잘 활용하기 위해서는 비동기에 대한 못지 않게 OIO(Old Input Output) 과 NIO(Non-blocking Input Output or New Input Output) 에 대한 개념에 대해 알고 있어야 합니다. Java 에서 NIO 는 JDK1.4 에서부터 지원을 하기 시작했는데요. 기존의 Java I/O 는 socket 을 accept() 할 때와, data 를 read() 할 때 해당 Thread 가 Block 이..
Interface 자바에서 간단했던 인터페이스가 JAVA8 의 등장으로 추가된 내용들이 생겼습니다. 항상 쉽게 생각할 수 있지만, 이런 것들이 막상 설명하려면 어렵게 느껴질 때가 있는데요. 기존의 인터페이스를 간단히 요약하면 다음과 같습니다. 모든 멤버변수는 public static final 이어야 하며 이를 생략할 수 있으며,모든 메소드는 public abstract 이어야하고 이를 생략 수 있습니다. 이처럼 간단하게만 알고 있었으며 사용하고 있었는데요. 조금 더 자세하게 이야기 해 보도록 하겠습니다. 자바에서의 인터페이스는 클래스의 bluprint 입니다. 인터페이스는 앞서 이야기 했듯이 static constants 와 abstract methods 로만 이루어져 있습니다. 자바에서의 인터페이스는..
Covariant return type 우리 말로 '공변 반환 타입' 이라고 하는데, 리턴 타입은 서브클래스라는 범위 안에서 다양할 수 있다는 것으로 java 1.5 부터 적용 되었습니다. 본래 오버라이딩이 이름이 같아야하고, 매개변수가 같아야 하며, 반환타입 또한 같아야 하는데 java 1.5 부터 Primitive 타입이 아닌 Subclass 타입으로 오버라이딩이 가능하게 된 것 입니다. refer ) http://www.javatpoint.com/covariant-return-type http://www.java-tips.org/covariant-return-types.html