Android(21)
-
POJO Class란 무엇일까?
POJO Class (Plain Old Java Object) 예시 코드는 아래와 같습니다 public class StudentResponse { private String name; private int age; private double average; public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } public double getAverage() { return average; } public void setAverage(doub..
2020.03.09 -
synchronized란 무엇일까?
synchronized (동기화) - synchronized는 하나의 객체에 여러 개의 객체가 동시에 접근해 처리하는 것을 막기 위해 사용합니다. (Thread의 불규칙적인 자원 공유를 막기 위해 사용) - synchronized 식별자는 보통 메소드의 선언부에 쓰고 이 키워드가 붙은 메서드는 한 번에 하나의 스레드만 접근이 가능하며 메서드가 사용 중일 때 다른 스레드가 메서드를 호출하면 앞의 스레드가 종료될 때까지 기다려야 합니다. Ex) public String data = null; public synchronized String getData() { if (data == null) { data = new String(); } return data; } 동기화 블럭 사용 Ex) public Stri..
2020.02.14 -
LinkedList 와 ArrayList의 특징
LinkedList와 ArrayList는 모두 Java에서 제공하는 List 인터페이스를 구현한 Collection 구현체입니다. 인터페이스만 같을 뿐 내부 동작방식은 다릅니다. ArrayList - 무작위접근(random access)이 가능합니다. - n개의 자료를 저장할때 ArrayList는 자료들을 하나의 연속적인 묶음으로 저장합니다. - 삽입 시 사이즈를 늘려주는 연산이 발생됩니다. - 삭제 시 빈 인덱스를 채워야 하기 때문에 연산이 발생됩니다. - 지속적으로 삭제 되는 과정에서 공간만큼 낭비되는 메모리가 많습니다. - 삽입 삭제가 빈번하게 발행하는 프로세스의 경우 좋지 않습니다. LinkedList - 순차접근(sequential access)만 가능합니다. - n개의 자료를 저장할때 자료들을..
2020.01.13 -
Process 와 Thread의 차이
1. 프로세스 (Process) 란 º 사전적 의미 어떤 작업을 위해 실행할 수 있는 파일 - 컴퓨터에서 연속적으로 실행되고 있는 컴퓨터 프로그램 - 메모리에 올라와 실행되고 있는 프로그램의 인스턴스 - 운영체제로 부터 시스템 자원을 할당받는 작업의 단위 - 동적인 개념으로는 실행된 프로그램을 의미 특징 - 프로세스는 실행될 때 운영체제로부터 독립된 메모리 영역을 할당 받습니다. (Code, Data, Stack, Heap) - 기본적으로 하나의 프로세스가 생성되면 하나의 쓰레드가 같이 생성됩니다. 이를 메인 쓰레드라고 부릅니다. - 각 프로세스는 별도의 주소 공간에서 실행되며, 한 프로세스는 다른 프로세스의 변수나 자료구조에 접근할 수 없습니다. (독립적인 개체이기 때문) 2. 스레드 (Thread) ..
2019.12.03 -
BufferedReader 와 BufferedWriter
BufferedReader 와 BufferedWriter 는 파일 입출력을 할 때 많이 사용합니다. 다른 클래스로는 Scanner 클래스가 있습니다. 하지만 테스터 케이스가 많아지고 입출력 방식이 느리면 여러 줄을 입력 받거나 시간초과 같은 오류가 발생 할 수 있습니다. 1. BufferedReader 사용법 BufferedReader br = new BufferedReader Reader(new InputStreamReader(System.in); int a = Intefer.parseInt(br.readLine); + 공백 문자 구분하기 BufferedReader br = new BufferedReader Reader(new InputStreamReader(System.in); StringTokeni..
2019.10.29