목록분류 전체보기 (66)
switch
1. 운영체제에 독립적이다 JRE(Java Runtime Environment) : JVM(jvm은 바이트코드를 운영체제에 맞는 기계어로 변환해준다) + 표준 클래스 라이브러리 JRE가 설치되어있는 모든 운영체제에서 실행이 가능하다. 실행에 JVM을 거치기때문에 C나 C++에 비해 속도는 느린편.. 2. 객체지향언어 (Object Oriented Programming) 자바는 객체지향 개념을 사용하는 언어이다 객체지향적으로 설계한 프로그램은 유지보수 및 확장성이 좋다. 3.함수형 프로그래밍 지원 자바8부터 함수형 프로그래밍을 지원하는 문법인 람다식과 스트림이 추가됨 이를 사용하면 컬렉션의 요소를 필터링, 매핑, 집계처리하기 쉬워지고 코드도 간결해진다 4. Garbage Collection (자동메모리관리..
1.git 설치 git을 다운로드한다. 2.git환경설정 git config --global user.name "사용자이름" git config --global user.email "이메일" --global옵션 빼도 됨 3.SSH 방식 SHH 등록 ssh는 Secure shell의 줄임말로 보안이 강화된 shell접속을 뜻한다. cli환경에서 다른 pc에 접속하거나 요청할 때 사용하며 비대칭키를 이용해 사용자를 인증한다. SSH 키 생성 ssh-keygen 으로 키페어 생성 cat ~/.ssh/id_rsa.pub 으로 공개키 출력 (./ssh/id_rsa 는 private Key) 깃헙 settings > SSH and GPG keys > SSH키 생성 후 등록 사용하면 됨 (CLI방식으로 대체해도 된다..

사용자가 프로그램을 실행하면 프로그램 정보를 읽어서 메모리에 로드한다. 그러면 cpu는 프로그램 코드를 가져다 메모리를 관리하고 명령문을 실행한다. 컴퓨터의 운영체제는 프로그램의 실행을위해 메모리공간을 제공하는데, 메모리공간에는 크게 4가지 종류가 있다. 1. code 소스코드영역, 실행할 프로그램의 코드가 들어가는 영역이다. 텍스트 영역이라고도 부르며, CPU는 코드영역에 저장된 명력어를 하나씩 가져가서 처리한다. 2. data data영역은 전역변수와 정적변수가 할당되는 공간이다. 데이터 영역은 프로그램의 시작과 함께 할당되며, 프로그램이 종료되면 소멸한다. 3. heap 사용자가 직접 관리하는 영역으로 사용하면서 데이터가 동적으로 할당되는 공간이다. 낮은주소의 메모리에서 높은 주소 방향으로 할당되며..
- 이진 탐색 트리 Binary Search Tree 왼쪽 자식은 부모보다 작고 오른쪽 자식은 부모보다 큰 이진트리이다. 각 노드의 자식이 2개 이하이며 탐색 효율이 높은 편이며 중복된 키를 허용하지 않는다. 삽입은 루트에서 시작해서 비교한다. 중간에 있는 노드를 삭제할 경우 해당 자식 노드를 삭제할 노드 위치로 옮기고, 자식이 두 개인 노드의 경우는 오른쪽 서브 트리 최솟값 또는 왼쪽 트리 최댓값 중 하나를 삭제 노드 위치로 옮긴다. - 시간 복잡도 삽입, 검색, 삭제가 모두 트리의 높이이다 트리가 균형상태인 경우 O(logN) 불균형 상태인경우 O(N) 만큼의 시간 복잡도를 갖는다. 트리가 편향되지 않기 위해서는 자가균형트리를 사용해야 한다.