Java18 동기화 객체 동기화 객체 Synchronized 키워드가 붙은 객체, 해당 객체가 실행되는 동안에 동기화를 보장하는 것.서버에서 다중스레드를 사용하여 요청을 처리할 경우 제일 먼저 요청한 녀석이 동기화 객체로부터 모든 일을 마치고 나올 때까지, 스레드에 붙어 줄줄이 번호표를 뽑고 기다리도록 한다. 동기화 구문이 커지면 작업 수행 속도가 느려질 수 있다. 2015. 6. 7. NIO란? NIO New IO 패키지로써 nonblocking IO를 지원한다.Buffer클래스를 도입하여 기존에 단순배열로만 처리해야 했던 많은 부분들을 더 효율적이고 편리하게 다룰 수 있도록 지원한다.기존의 스트림은 단방향이었으나 Channel을 도입하여 읽기, 쓰기, 읽고/쓰기 등의 세가지 형태의 작업방식을 지원하며 다양한 네이티브 IO서비스를 이용 가능하게 지원한다.버퍼, 채널과 함께 셀렉터를 이용하게 함으로써 단 한개의 쓰레드만으로 수천에서 수만명의 동시 사용자를 처리할 수 있는 서버를 만들 수 있게 지원한다. 2015. 6. 7. 추상 클래스 vs 인터페이스 추상 클래스 vs 인터페이스 추상클래스 - 객체를 생성할 수 없으며 추상메서드와 메서드, 멤버 변수를 가질 수 있다. - 상속을 통해 자손클래스에 의해서만 완성된다. 인터페이스- 추상메서드와 상수를 가진다. 일반 메서드 또는 멤버 변수를 가질 수 없다. - 인터페이스로부터만 상속을 받을 수 있으며 다중상속을 가능하게 한다. 2015. 6. 7. Thread를 구현하기 위한 방법 Thread 구현 방법 1. java.lang.Thread 클래스 상속2. java.lang.Runnable 인터페이스 구현 2015. 6. 7. 객체지향 언어의 장점 객체지향 언어의 장점 - 코드의 재사용성이 높아 새로운 코드를 작성할 때 기존의 코드를 이용하여 쉽게 작성 가능- 코드의 관리가 용이하여 코드간의 관계를 이용해서 적은 노력으로 쉽게 코드 변경 가능- 제어자와 메서드를 이용해서 데이터를 보호하고 올바른 값을 유지하도록 하며, 코드의 중복을 제거하여 코드의 불일치로 인한 오작동을 방지할 수 있다. 2015. 6. 7. Wrapper 클래스 Wrapper 클래스 primitive 타입으로 표현할 수 있는 간단한 데이터를 객체로 만들어야 할 경우가 있는데 그러한 기능을 지원하는 클래스를 뜻하며 각 primitive 타입에 대응하는 Wrapper 클래스는 아래와 같다. byte => Byteshort => Shortint => Integerlong => Longchar => Characterfloat => Floatdouble => Doubleboolean => Boolean 2015. 6. 7. 이전 1 2 3 다음 728x90