본문 바로가기

Language

(11)
Java의 정석 정리 4 쓰레드 프로세스 내에서 실제 작업을 수행. 모든 프로세스는 최소한 하나의 쓰레드를 가지고 있다. 멀티 태스킹(멀티 프로세싱) : 동시에 여러 프로세스를 실행 멀티 쓰레딩 : 하나의 프로세스 내에 동시에 여러 쓰레드를 실행 -프로세스를 생성하는 것보다 쓰레드를 생성하는 비용이 적다. -같은 프로세스 내의 쓰레드들은 서로 자원을 공유한다. 멀티쓰레드 장단점 장점 -시스템 자원을 보다 효율적으로 사용할 수 있다. -사용자에 대한 응답성(responseness)이 향상된다. -작업이 분리되어 코드가 간결해 진다. 단점 -동기화(synchronization)에 주의해야 한다. -교착상태(dead-lock)가 발생하지 않도록 주의해야 한다. -각 쓰레드가 효율적으로 고르게 실행될 수 있게 해야 한다. 구현 //상속..
Java의 정석 정리 3 프로그램 오류 컴파일 에러 - 컴파일할 때 발생하는 에러 런타임 에러 - 실행할 때 발생하는 에러 논리적 에러 - 의도와 다르게 동작(실행 시) Java의 런타임 에러 에러(error) - 프로그램 코드에 의해서 수습될 수 없는 심각한 오류 예외(exception) - 프로그램 코드에 의해서 수습될 수 있는 다소 미약한 오류 예외처리(exception handling) 정의 - 프로그램 실행 시 발생할 수 있는 예외의 발생에 대비한 코드를 작성하는 것 목적 - 프로그램의 비정상 종료를 막고, 정상적인 실행상태를 유지하는 것 예외 클래스 계층구조 RuntimeException Classes - 프로그래머의 실수로 발생하는 예외 finally의 순서 미 발생시, try -> finally의 순서로 실행 -t..
Java의 정석 정리 2 참조변수 super -객체 자신을 가리키는 참조변수. 인스턴스 메서드(생성자)내에만 존재 -부모의 멤버를 자신의 멤버와 구별할 때 사용 class Ex7_2 { public static void main(String args[]) { Child c = new Child(); c.method(); } } class Parent { int x = 10; /* super.x */ } class Child extends Parent { int x = 20; void method() { System.out.println("x=" + x); // 가까운 쪽 그러니 child의 안에 있는 것을 호출 System.out.println("this.x=" + this.x); // 만약 child 내에서 x가 선언되지 않으..
Java의 정석 정리 명명규칙 1. 대소문자가 구분되며 길이에 제한이 없다. 2.예약어(Reserved word)를 사용해서는 안 된다. 3.숫자로 시작해서는 안 된다. 4.특수문자는 '_'와 '$'만을 허용한다.(위치는 상관없다 ex : $harp 도 가능) 권장사항 1.클래스 이름 첫 글자는 항상 대문자 2.여러 단어 이름은 단어의 첫 글자를 대문자 3.상수의 이름은 대문자. 단어는 '_'로 구분 문자와 문자열 "" + 7 + 7 -> "7" + 7 -> "7" + "7" -> "77" 7 + 7 + "" -> 14 + "" -> "14" + "" -> "14" printf()의 지시자 지시자 설명 %b boolean : 2진수 %d decimal : 10진수 %o octal : 8진수 %x, %X hexa-decimal..
Queue & Stack C++ STL에서 queue와 stack을 사용하면 동작 방법이 어떠냐는 후배의 물음에 대답할 수 없었기에 나름대로 정리 해보려한다. 나의 수준에서 바라보고 적는 글이기에 많은 부분에서 오류가 있을꺼라 예상하며 지적과 비판은 언제나 환영하는 마음으로 작성한다. 사용 방법이 아닌 동작이 어떻게 이뤄지는지는 한번도 생각해 본 적이 없고 검색해도 사용방법에 대해서만 나오기에 이번 기회에 자세히 알아보자. STL에서는 Queue와 Stack은 Container Adapter로 전체적인 Container 클래스가 정의되어 있지 않고 Wrapper Container(기존 컨테이너)의 인터페이스를 제한하여 유저 접근을 통제한 컨테이너이다. 여기서 Wrapper Container는 기본적으로 SequenceContai..
강의 내용 정리 2 https://school.programmers.co.kr/learn/courses/9/9-%EC%9E%90%EB%B0%94-%EC%A4%91%EA%B8%89 자바 중급 자바 입문을 수강했다면 자바의 다양한 기능에 대해 더 알아볼 수 있는 자바 중급을 추천합니다. school.programmers.co.kr 강의 내용을 요약하고 기억하기 위해 적성합니다. 날짜와 시간 Date 지역화가 되어 있지 않아 각 국가나 지역별로 구별되어 있지 않다. 여러 메소드가 Deprecated(더 이상 지원하지 않는 기능 사용하지 말라는 의미) 되어 있다. import java.util.Date; Date date = new Date(); system.out.println(date.toString()); // 현재 날짜와 ..
강의 내용 정리 1 https://school.programmers.co.kr/learn/courses/9/9-%EC%9E%90%EB%B0%94-%EC%A4%91%EA%B8%89 자바 중급 자바 입문을 수강했다면 자바의 다양한 기능에 대해 더 알아볼 수 있는 자바 중급을 추천합니다. school.programmers.co.kr 위 강의 수강 내용을 기억하기 위해 작성합니다. Object 클래스 모든클래스의 최상위 클래스 메소드 중에서 가장 많이 사용되는 것들 equals 객체가 가진 값을 비교할 때 사용 toString 객체가 가진 값을 문자열로 반환 hashCode 객체의 해시코드 값 반환(자료구조에서 많이 사용) 사용할 때 반드시 오버라이딩해서 사용해야함 public class Car{ String name; int n..
기초 내용 정리 모음 자바에 대한 기본 지식을 쌓기 위해 여러 자료를 취합한 것입니다. 자료형과 변수 자료형 분류, 자료형 크기, 상수, 변수 선언 및 초기화에 대해 다루고 있다. https://jkcodingstory.tistory.com/6 [JAVA]자바 자료형과 변수 안녕하세요! 오늘은 Java 자료형과 변수에 대해서 알아보겠습니다. 자바의 자료형 기본형과 참조형 자바의 자료형은 크게 기본형과 참조형으로 분류합니다. 기본형은 다시 논리형, 문자형, 정수 jkcodingstory.tistory.com 변수(variable) : 하나의 값을 저장하기 위한 공간 상수(constant) : 한 번만 값을 저장할 수 있는 공간 리터럴(literal) : 그 자체로 값을 의미하는 것 https://abcbbcabc.tistory..