본문 바로가기
반응형

{ Programming Language }/Java20

[자바] 쓰레드와 공유 객체 및 동기화 package first_project; public class MusicBox { //Dance music이란 메시지가 1초이하로 쉬면서 10번 반복출력 public void playMusicA(){ for(int i = 0; i < 10; i ++){ System.out.println("Dance music"); try { Thread.sleep((int)(Math.random() * 1000)); } catch (InterruptedException e) { e.printStackTrace(); } } // for } //playMusicA //Ballad music이란 메시지가 1초이하로 쉬면서 10번 반복출력 public void playMusicB(){ for(int i = 0; i < 10;.. 2021. 11. 17.
[자바] 쓰레드Thread 생성 쓰레드 생성 방법은 크게 두가지가 있다. 1. Thread 클래스 상속받아 오버라이딩 메서드 구현 2. Runnable() 인터페이스를 구현 아래는 1번 방법으로 쓰레드를 생성한 모습이다. run() 메서드를 새롭게 작성해주면 된다. package first_project; public class MyThread1 extends Thread{ String str; public MyThread1(String str) { this.str = str; } @Override public void run() { for(int i = 0;i 2021. 11. 17.
[자바] 자바 입출력 - 스트림이란? 스트림은 가상 통로를 뜻하며 자바의 모든 입출력은 스트림을 통해 이루어진다. 입출력 기능을 사용하는 곳은 파일 디스크, 키보드, 모니터, 메모리 입출력, 네트워크 등이 있음 - 입력 스트림과 출력 스트림 입력 스트림: 어떤 대상으로부터 자료를 읽어 들일 때 사용 출력 스트림: 편집 화면에 사용자가 쓴 글을 파일에 저장할 때 사용 스트림은 단방향이기 때문에 입력과 출력이 동시에 이루어질 수는 없음. 종류 예시 입력 스트림 FileInputStream, FileReader, BufferedInputStream, BufferedReader 출력 스트림 FileOutputStream, FileWriter, BufferedOutputStream, BufferedWriter - 바이트 단위 스트림과.. 2021. 11. 4.
[자바] 예외 처리 - 프로그램의 오류 상황 두 가지 컴파일 오류(compile error): 프로그램 코드 자겅 중 실수로 발생하는 오류 실행 오류(runtime error): 실행 중인 프로그램이 의도하지 않은 동작을 하거나 프로그램이 중지되는 오류(=버그) - 실행 오류 두 가지 자바 가상 머신에서 발생하는 시스템 오류(error) ex) 사용 가능한 동적 메모리가 없거나 스택 메모리의 오버플로가 발생한 경우 시스템오류는 프로그램에서 제어할 수 없다. 예외(exception) ex) 프로그램에서 파일을 읽어 사용하려는데 파일이 없는 경우, 네트워크로 데이터를 전송하려는데 연결이 안된 경우, 배열 값을 출력하려는데 배열 요소가 없는 경우 예외는 프로그램에서 제어할 수 있다. - 예외 처리하기 try- catch문 try.. 2021. 11. 3.
[자바] 스트림 - 스트림 예시 // 스트림 생성 int[] arr = {1, 2, 3, 4, 5}; Arrays.stream(arr).forEach(n -> System.out.println(n)); - 스트림 연산 중간 연산 - filter(), map() filter()는 조건을 넣고 그 조건에 맞는 참인 경우만 추출하는 경우에 사용 sList.stream().filter(s->s.length() >= 5).forEach(s-> System.out.println(s)); map()은 특정조건에 해당하는 값으로 변환 시 사용 ex) 클래스가 가진 자료 중 이름만 출력하는 경우에 사용 customerList.stream().map(c-> c.getName()).forEach(s-> System.out.println(s.. 2021. 10. 27.
[자바] 람다식 활용 - 람다식으로 인터페이스 구현 람다식으로 인터페이스를 구현할 때 클래스를 따로 생성할 필요 없이 바로 메서드를 구현함. 람다식을 활용한 경우와 그렇지 않은 경우를 비교해보자. package first_project; public interface StringConcat { public void makeString(String s1, String s2); } 1. 람다식 사용하지 않고 클래스에서 인터페이스 구현 package first_project; public class StringConCatImpl implements StringConcat { @Override public void makeString(String s1, String s2) { System.out.println(s1 + ", "+s2.. 2021. 10. 27.
반응형