일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- 알고리즘
- VituralBox
- SpringBoot
- 동적계획법
- 분할정복
- Flpyd-Warshall
- 쉬운 계단 수
- Mysql5.7
- 코드그라운드
- 이분탐색
- 이친수
- 세그먼트 트리
- 최소스패닝트리
- 백준
- 나무자르기
- 피보나치수열
- 축사 배정
- tensorflow
- 알고스팟
- 피노나치 수열
- Ubuntu64bit
- 다이나믹 프로그래밍
- pythonanywhere
- 네이버 지도 api
- 최소신장트리
- Floyd-Warshall
- 백트래킹
- 연속합
- 이분 매칭
- 이분매칭
- Today
- Total
목록Language/JAVA (17)
초보개발자
- equals : 대소문자 구분을 한다. - equalsIgnoreCase : 대소문자 구분을 하지 않는다. String str = "Aa"; System.out.println("AA".equals(str)); // print false System.out.println("AA".equalsIgnoreCase(str)); // print true
자바 가상 머신 JVM(Java Virtual Machine) 자바 바이트코드를 실행할 수 있는 주체이다. 일반적으로 인터프리터나 JIT 컴파일 방식으로 다른 컴퓨터 위에서 바이트코드를 실행할 수 있도록 구현되나 자바 프로세서처럼 하드웨어와 소프트웨어를 혼합해 구현하는 경우도 있다. 자바 바이트코드는 플랫폼에 독립적이며 모든 자바 가상 머신은 자바 가상 머신 규격에 정의된 대로 자바 바이트코드를 실행한다. 따라서 표준 자바 API까지 동일한 동작을 하도록 구현한 상태에서는 이론적으로 모든 자바 프로그램은 CPU나 운영 체제의 종류와 무관하게 동일하게 동작할 것을 보장한다.→ 자바 바이트코드를 OS에 맞게 해석해주는 역할을 한다. 특성스택 기반의 가상 머신단일 상속 형태의 객체 지향 프로그래밍을 가상 머신..
C++에서 string을 이용하면 char는 배열처럼 접근할 수 있다.하지만 JAVA에서는 배열처럼 접근하면 오류가 나므로 아래와 같은 함수를 이용해야 한다. String str = "Hello world"; str.charAt(0); 이렇게 접근하게 되면 charAt 메소드는 0에 해당되는 값을 반환한다. 즉 'H'가 반환된다.
객체말고 그냥 선언하기 다양한 경우의 수를 기록해둔다. int[][] arr = new int[10][10]; int[] arr1[10]; int[][] arr2 = new int[10][]; 특정값으로 초기화 하고 싶을 때는 Arrays.fill() 메소드를 이용한다.
Stack 내장 함수함수명 함수 설명 push(item) 스택 맨 위에 item을 넣음 pop() 스택 맨 위 item을 제거하고 객체 반환 peek() 스택 맨 위 item 객체를 반환 isEmpty() 해당 객체가 비어있는지 boolean 반환 Queue 내장 함수함수명 함수 설명 offer(item) 큐 맨 뒤에 item을 넣음 poll() 큐 맨 앞에 있는 item을 제거하고 객체 반환 peek() 큐 맨 앞에 있는 item 객체를 반환 isEmpty() 해당 객체가 비어있는지 boolean 반환 Priority Queue 내장 함수 함수명 함수 설명 offer(item) 우선순위 큐에 item을 넣음 add(item) 우선순위 큐에 item을 넣음 (예외처리) poll() 우선순위 큐에 따라 가..
형변환을 기록해둔다. String to intint a = Integer.parseInt(str); int to charchar ch = (char)(49);
import java.util.*; Scanner sc = new Scanner(System.in); int a = sc.nextInt(); System.out.println(a); JAVA는 처음 해보므로, 표준입출력도 적어둔다.
출처: https://programmers.co.kr/learn/courses/9/lessons/276- 쓰레드는 실행가능상태인 Runnable과 실행상태인 Running 상태로 나뉜다.- 실행되는 쓰레드 안에서 Thread.sleep()이나 Object가 가직 있는 wait() method가 호출이 되면 쓰레드는 블록상태가 된다.- Thread.sleep()은 특정시간이 지나면 자신 스스로 블록상태에서 빠져나와 Runnable이나 Running 상태가 된다.- Object가 가지고 있는 wait() method는 다른 쓰레드가 notify()나 notifyAll() method를 호출하기 전에는 블록상태에서 해제되지 않는다.- wait() method는 호출이 되면 모니터링 락을 놓게 된다. 그래서 대..
출처: https://programmers.co.kr/learn/courses/9/lessons/274공유객체가 가진 메소드를 동시에 호출 되지 않도록 하는 방법- method 앞에 synchronized을 붙인다.- 여러개의 쓰레드들이 공유객체의 method를 사용할 때 method에 synchronized가 붙어 있을 경우 먼저 호출한 method가 객체의 사용권(Monitoring Lock)을 얻는다.- 다른 synchronized method들이 객체의 사용권을 가지고 있더라도, synchronized를 가지고 있지 않은 method는 중간 중간 호출된다.- 모든 method에 synchronized를 붙이면, 마지막에 호출된 method는 너무 오래 기다리게 되므로, 동시에 호출됐을 때 문제가 ..
출처: https://programmers.co.kr/learn/courses/9/lessons/272이번에는 Thread 클래스를 상속하지 않고 Runnable 인터페이스를 이용하여 구현하는 방법이다.Runnable 인터페이스는 run method를 오버라이딩해주면 된다.이렇게 하는 이유는 JAVA는 단일 상속만 가능하기 때문이다. 인터페이스는 여러개 구현해서 사용할 수 있다. 단, 메인클래스에서 Thread를 상속받은 쓰레드를 사용하는 것이 아니기 때문에 start() method가 없다.쓰레드를 이용하기 위해서는 start() method를 꼭 호출해야하므로, 다음과 같이 하면 된다.Thread 객체를 새로 생성해 생성자를 이용하여 만들어준다. 예를 들면 Runnable 인터페이스를 이용하여 만들어..