일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- python
- 깡돼후
- Value too long for column
- Spring Batch
- PytestPluginManager
- JanusWebRTC
- 개성국밥
- taint
- addhooks
- terminal
- 자원부족
- PersistenceContext
- JanusWebRTCServer
- 코루틴 빌더
- gitflow-shFlags
- 코루틴 컨텍스트
- JanusWebRTCGateway
- kotlin
- 겨울 부산
- tolerated
- VARCHAR (1)
- pytest
- 달인막창
- table not found
- ErrorResponse
- preemption #
- vfr video
- RouteLocator
- mp4fpsmod
- JanusGateway
목록Programming Language/Java (15)
너와 나의 스토리
JAVA 11로 websocket 통신 구현하기 1. Dependencies 추가 implementation group: 'javax.websocket', name: 'javax.websocket-api', version: '1.1' implementation group: 'org.glassfish.tyrus', name: 'tyrus-server', version: '1.1' implementation group: 'org.glassfish.tyrus', name: 'tyrus-client', version: '1.1' implementation group: 'org.glassfish.tyrus', name: 'tyrus-container-grizzly', version: '1.1' 2. Client ..
프로세스 vs 스레드 프로세스 운영체제에서는 실행 중인 하나의 애플리케이션 사용자가 애플리케이션을 실행하면 운영체제로부터 실행에 필요한 메모리를 할당받아 애플리케이션의 코드를 실행하는데 이것이 프로세스이다. 하나의 애플리케이션에서 여러 개의 프로세스가 만들어질 수 있다. 스레드 하나의 코드 실행 흐름 멀티 태스킹(Multi tasking) 여러 개의 작업을 동시에 처리하는 것 운영체제는 멀티 테스킹을 할 수 있도록 CPU 및 메모리 자원을 프로세스마다 적절히 할당해주고, 병렬로 실행시킨다. 멀티 태스킹의 예 멀티 프로세스(Multi process): 여러개의 프로세스를 병렬로 실행 멀티 스레드(Multi thread): 하나의 프로세스 내에서 여러개의 작업을 병렬로 처리 Multiprocessing vs..
File file = new File("file path"); boolean res = file.setExecutable(true); // res==true: 실행 권한 설정됨 // res==false: 파일을 찾을 수 없어서 설정 못 함 파일 절대 경로 찾는 법: resources에 file을 넣어두고, filePath를 아래 방법으로 찾아 File(filePath)로 넣어주면 된다. String filePath = new File(getClass().getClassLoader().getResource("file name").getFile()).getAbsolutePath();
에러(Error) 컴퓨터 하드웨어의 오동작 또는 고장으로 인해 애플리케이션 실행 오류가 발생하는 것 에러는 JVM 실행에 문제가 생겼다는 것으로, 개발자는 이런 에러에 대처할 방법이 없다. 자바에서는 에러 이외에 예외(exception)이라고 부르는 오류가 있다. 예외란 개발자의 잘못된 코딩 또는 사용자의 잘못된 조작으로 발생하는 오류를 말한다. 에러는 발생하면 곧바로 프로그램이 종료된다. 하지만 예외는 예외 처리(Exception Handling)을 통해 프로그램을 종료하지 않고 정상 실행 상태가 유지되도록 할 수 있다. 예외(Exception) 예외에는 두 가지 종류가 있다. 일반 예외(Exception) 컴파일 체크 예외라고도 한다. 자바 소스를 컴파일하는 과정에서 예외 처리 코드가 필요하는지 검사..
익명(Anonymous) 객체 익명 객체는 단독으로 생성할 수 없고 클래스를 상속하거나 인터페이스를 구현해야만 생성할 수 있다. Parent라는 부모 클래스와, 이를 상속받은 Child라는 자식 클래스가 있다고 하자. class Child extends Parent { } 이를 다음과 같이 사용할 수 있다. Parent field = new Child(); 이때 자식 클래스가 재사용되지 않고, 오로지 초기값으로만 사용하는 경우 익명 자식 객체를 생성해서 사용하는 것이 좋은 방법이다. 익명 자식 객체 생성 방법: Parent field = new Parent() { int childField; void childMethod() {} @Override void parentMethod() { childFiel..
중첩 클래스(Nested Class) 어떤 클래스가 특정 클래스와만 관계를 맺을 경우에는 특정 클래스 내부에 해당 클래스를 선언하는 것이 좋다. 중첩 클래스를 사용하면 멤버들을 서로 쉽게 접근할 수 있다. class ClassName { class NestedClassName { } } 중첩 인터페이스(Nested Interface) 인터페이스를 클래스 내부에 선언하는 이유는 해당 클래스와 긴밀한 관계를 맺는 구현 클래스를 만들기 위해서다. class ClassName { class NestedInterfaceName { } } 중첩 클래스 멤버 클래스: 클래스의 멤버로서 선언되는 중첩 클래스 멤버 클래스는 클래스나 객체가 사용 중이라면 언제든지 재사용이 가능하다. 인스턴스 멤버 클래스의 경우 인스턴스 ..
Static Static 멤버는 클래스에 고정된 멤버로서 객체를 생성하지 않고 사용할 수 있는 필드와 메서드를 말한다. public class Calculator { String mutableStr; static int num = 3; void setMutableStr(String str){ this.mutableStr = str; } String getMutableStr(){ return this.mutableStr; } static int plus(int x, int y){ return x+y; } } 위와 같이 작성된 클래스는 다음과 같이 사용할 수 있다. 인스턴스 필드를 사용하지 않아도 된다면, 정적 메서드로 선언하여 사용 int initNum = Calculator.num; int res = C..
Abstract(추상) 실체 간의 공통되는 특성을 추출한 것 예: 새, 곤충, 물고기 등의 실체에서 공통되는 특성 -> 동물 추상 클래스 public abstract class ClassName { // 필드 // 생성자 // 메서드 } 추상 클래스는 new 연산자를 이용해서 객체를 만들지 못하고 상속을 통해 자식 클래스만 만들 수 있다. 예: public abstract class Animal { public String kind; public Animal(String kind){ this.kind = kind; } public void sound(){ System.out.println("동물이 내는 소리"); } } public class Dog extends Animal { public Dog(St..