본문 바로가기

분류 전체보기58

JVM JVM jvm(java virtual machine)은 자바를 실행하는데 필수적인 것이다. 한글로 말하면 자바 가상 기계인데, 여기서 기계라는 말때문에 좀 다르게 이해할 수 있는데 여기서 기계는 컴퓨터에서 실행되는 프로그램으로 의미하면 편하다. 그렇기 때문에 jvm은 컴퓨터에서 자바 파일을 실행하기 위한 프로그램으로 생각하면 된다. JVM의 역할 JVM은 크게 2가지 역할을한다. 첫째, 자바 프로그램을 실행되는 기계에 관계없이 실행되도록 한다.(플랫폼 독립적) 둘째, 자바 프로그램이 실행되면서 메모리관리, 최적화등의 역할을 한다. 첫번째 역할을 보면 실행되는 플랫폼에 상관없이 실행되도록한다고 했는데 좀 더 풀어서 설명하면 우리가 작성한 자바 프로그램을 실행파일로 만든다음 이것을 배포하는 경우를 생각해보자.. 2021. 2. 14.
Iterator,Iterable 자바에서는 ArrayList,LinedList등 자료를 탐색할 수 있는 Collection이 존재한다. 하지만 이런 Collection들은 탐색방법을 우리가 임의로 정하지 못한다. 예를들어 총 10개가 저장돼있는 선형적 자료구조에서 짝수번째만 보고싶다하더라도 for,forEach를 통해 인덱스를 홀수번째라면 건너뛰고 확인해야 한다. public class Main { public static void main(String[] args) { ArrayList test=new ArrayList(); test.add("사과"); test.add("딸기"); test.add("오렌지"); test.add("포도"); test.add("참외"); test.add("파인애플"); for(int i=0;i 2021. 2. 13.
Thread-3 실행제어 동기화 이번글이 쓰레드의 마지막이면서 쓰레드의 가장 핵심적인 내용이다. 1. 실행제어 쓰레드는 실행시키고, 중단시키는일을 실행제어라고 한다. 쓰레드는 우리가 처리해야할 작업들을 병렬로 처리해야 할 때 사용하는데, 각 작업들의 실행을 중간에 중단시킨다던가, 아니면 중단 되었던 작업을 실행시키는것을 직접 제어해야 할 때가 있다. 이번에는 이렇게 직접 제어할 수 있는 쓰레드 메소드들을 알아보고 적당한 사용방법을 알아보겠다. 1-1 sleep 우선 쓰레드를 일시적으로 멈추는 sleep이 있다. public class Main { public static void main(String[] args) { Thread thread=new Thread(()->{ for(int i=0;i{ for(int i=0.. 2021. 2. 12.
Thread-2 우선순위 쓰레드 그룹 데몬 쓰레드 1. 우선순위 쓰레드에는 우선순위라는 개념이 있다. 우선순위는 쓰레드간의 중요도에 따라 지정할 수 있다. 예를들어 채팅과 파일전송을 하는 프로그램을 예로 들어보자. 채팅같은경우는 아주빠른 시간안에 응답을 해줘야하고, 파일전송은 채팅보다는 비교적 느려도 괜찮다. 그런데 만약 2가지의 작업의 우선순위가 같다면 채팅의 응답속도가 느려질 수 있다. 이럴때 채팅의 우선순위를 보다 빠르게 하면 우리가 채팅을하는데 큰 문제를 못느낄것이다. 그러면 자바 Thread에서 어떻게 우선순위를 지정하는지 보자. Thread thread=new Thread(()->{ // do something }); thread.setPriority(5); // 1~10 thread.start(); 자바 T.. 2021. 2. 11.
Thread-1 자바 쓰레드 사용방법 start, run 쓰레드의 효율성 1. 자바 쓰레드 사용방법 자바에서 쓰레드를 만들 수 있는 방법은 2가지가 있다. 1. Thread를 상속받아서 구현 2. Runnable 인터페이스이용하는 방법 우선 Thread를 상속받는 방법부터 보자. public class ThreadEx1 extends Thread{ //Thread의 run 메소드를 구현한다. @Override public void run(){ for(int i=0;i 2021. 2. 8.
Ip,Tcp 간략정리 Ipip는 internet protocol의 약자이다. 우리가 인터넷을 통해 데이터를 주고 받을때 ip가 사용된다. 한가지 예를 들어보자 지금 내컴퓨터에서 미국에있는 사람에게 메세지를 보낸다고 생각해보자. 이럴때 인터넷은 어떤식으로 미국까지 메세지를 전달할까?  이런식의 인터넷 통신을 위해서는 출발지의 ip주소와 목적지의 ip주소를 보고 데이터를 전달하는 과정이 있는데 이러한 과정을 위한 규칙이 Ip이다. 출발지에서 목적지까지 가는 경로에는 여러 경로가 존재한다.(노드라고 하겠다) 이 노드들은 Ip에의해 정해진 규칙에 때라 출발지 ip주소와 목적지 ip주소를 보고 목적지까지 메세지가 전달 되도록 다음 노드로 전달을한다.  다음으로는 메세지가 클 경우 메세지는 패킷(Packet)이라.. 2021. 2. 3.