if와 switch는 조거에 따라 처리하기 위해 사용된다. (java뿐만이 아니라 다른 언어에도 if와 switch는 있다.) 여태까지 동작구조에 대해서 생각하지않고, 수업시간에 "되도록이면 if문을 쓰세요"라는 교수님의 말씀에 if문을 더 많이 사용한 것 같다. 그래서 if문과 switch문의 동작구조와 어떤 것이 더 효율적인지 알아보려고한다. if Branch statement이다. 레지스터 2개 값 혹은 레지스터와 값 비교 후 특정 메모리 번지로 이동할지 결정한다. 따져야 하는 조건이 많을 수록 연산량이 늘어난다. if문을 작성할 때, 자주 사용하는 기능 순서대로 조건문을 작성하는 것이 성능 향상에 도움이 된다. switch Jump Statement이다. 따져야하는 조건이 많을 때와 사용자가 여러..
문자열의 모든 문자를 반복하는 방법은 두가지가 있다. charAt()을 사용하여 문자열에서 인자로 주어진 값에 해당하는 문자(char)를 리턴받는 방법String str = "string입니다."; for (int i = 0, n = str.length(); i < n; i++) { char c = str.charAt(i); } toCharArray()를 사용하여 문자열의 문자를 char[] 배열로 만드는 방법char[] chars = str.toCharArray(); for (int i = 0, n = chars.length; i < n; i++) { char c = chars[i]; } 두가지 방법 중 뭐가 더 좋다고 할 수 없지만, toCharArray()를 사용하는 경우 char[] 를 선언하기 ..
알고리즘 문제를 풀다가 사용한 자료구조(컬랙션)에 따라 시간이 많이 차이나는 것을 알았다. 다음은 각 컬랙션 클래스의 시간복잡도를 정리한 것이다. List Class Name Add Remove Get Contains ArrayList O(1) O(n) O(1) O(n) LinkedList O(1) O(1) O(n) O(n) Set Class Name Add Contains Next HashSet O(1) O(1) O(h/n) LinkedHashSet O(1) O(1) O(1) EnumSet O(1) O(1) O(1) TreeSet O(log n) O(log n) O(log n) Queue Class Name Offer Peak Poll Size PriorityQueue O(log n) O(1) O(lo..
JAVA : Comparator / Comparable List를 정렬할 때 기본형 데이터 타입은 정렬의 기준이 있기 때문에 Collections.sort(list)하면 정렬이 된다. 하지만 List안에 있는 데이터 타입이 기본형 데이터 타입이 아닐 경우(클래스 등) 정렬의 기준이 없기 때문에 컴파일 오류가 난다. 따라서 객체의 정렬 기준을 정의해야 한다. Comparable 객체를 정렬하는 기준을 정의하는 방법 중 하나로 Comparable 인터페이스가 있다. 객체 간의 일반적인 정렬이 필요할 때, 자바에서 기본적으로 제공하는 Comparable 인터페이스를 확장해서 정렬의 기준을 정의하는 compareTo() 메서드를 구현한다. class Student implements Comparable { ....

JVM : Java Virtual Machine JVM 이란 JVM : Java Virtual Machine, 자바 가상 머신의 약자를 줄여서 부르는 용어이다. JVM의 역할은 자바 어플리케이션을 클래스 로더를 통해 읽어 들여 자바 API와 함께 실행하는 것이다. 그리고 JVM은 JAVA와 OS사이에서 중개자 역할을 수행하여 운영체제에 독립적인 플랫폼을 갖게 한다. 즉, 운영체제에 맞는 JVM을 설치한다면 자바 프로그램을 실행시킬 수 있다. JVM은 프로그램의 메모리 관리를 알아서 해준다. C프로그램 같은 경우에는 직접 메모리 할당을 해주고 해지야하지만, 자바에서는 JVM이 자동으로 메모리를 관리, GC를 수행해준다. JVM 실행과정 프로그램이 실행되면 JVM은 OS로부터 이 프로그램이 필요로 하는 메모..
- Total
- Today
- Yesterday
- git
- 3-way-handshake
- 4-way-handshake
- binarySearch
- Objective function
- 네트워크
- programmers
- 프로세스 스케줄링
- Android
- loss function
- 백 트래킹
- 우선순위큐
- hash
- MFQ
- MLQ
- java
- algorithm
- hashtable
- SWExpert
- SRTN
- 농협정보시스템IT
- DFS
- 알고리즘
- Process Scheduling
- 백트래킹
- N-Queen
- 프로그래머스
- 기능개발
- 자료구조
- 사회망서비스
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |