반응형

전체 글 271

extends vs implements

extends extends는 상속의 대표적인 형태이다. 모든 선언/정의를 부모가 하며, 자식은 오버라이딩 할 필요 없이 부모의 메소드/변수를 그대로 사용할 수 있다. 그리고 자바는 다중 상속을 지원하지않는다. class Vehicle { protected int speed = 3; public int getSpeed(){ return speed; } public void setSpeed(int speed){ this.speed = speed; } } class Car extends Vehicle{ public void printspd(){ System.out.println(speed); } } public class ExtendsSample { public static main (String[] arg..

Language/Java 2021.07.12

Github 프로필 꾸미기

오늘은 어려우면서 쉬운 github 프로필 꾸며보았다. 아직 부족한 부분이 많지만 천천이 변경하면서 진행 하려고한다. 1. Repositories 클릭해준다 2. New 클릭해준다 3 - 1 Repository name 에 Owner 이름이랑 똑같이 해준다. 3 - 2 Add a README file 클릭 3 - 3 Create repository markdown 작성시 github에서 바로 작성시 미리볼 수 없어 여러번 커밋해야 한다. markdown 미리보기 제공 서비스가 있어서 한번 작성하고 복붙하는걸 추천한다. -> https://dillinger.io/ Online Markdown Editor - Dillinger, the Last Markdown Editor ever. Make somethin..

Git 2021.07.07

Tree 종류

트리란? 먼저 트리란 그래프의 일종으로 여러 노드가 한 노드를 가리킬 수 없는 구조입니다. 간단하게 회로가 없고, 서로 다른 두 노드를 잇는 길이 하나뿐인 그래프를 트리라고 합니다. Tree의 노드는 부모노드와 자식노드로 되어있고 더 이상 자식 노드가 없으면 leaf 라고 부른다. 트리의 종류 Binary Tree(이진 트리), Binary Search Tree(이진 탐색 트리), Complete Binary Tree(완전 이진트리) Full Binary Tree(정 이진 트리) , Perfect Binary Tree(포화 이진 트리) 트리가 균형이 맞으면 balanced 라고 하고 균형이 한쪽으로만 되어있는것을 unbalanced라고한다. balanced가 맞는 트리로는 Red-Black Tree 와 ..

GC 가비지 컬렉션 이란?

GC란? JVM의 Heap 영역에서 사용하지 않는 객체를 삭제하는 프로세스를 말하고 GC(Garbage Collection)는 어떤 객체에 유효한 참조가 존재한다면 Reachable 그렇지 않으면 Unreachable 이라고한다. 자바는 실행될때 자바 자체 운영체제에서 돌아가는데 그게 바로 자바 가상머신JVM이고 이때 사용되는 객체를 자동으로 관리해 주는 기능이 가비지 컬렉션이다. 객체는 JVM Heap 영역에 저장되며 크게 세 영역으로 나눠져 있다. Heap 영역이란? Heap 영역에는 주로 긴 생명주기를 가지는 데이터들이 저장된다. (대부분의 오브젝트는 크기가 크고, 서로 다른 코드블럭에서 공유되는 경우가 많다) 애플리케이션의 모든 메모리 중 stack 에 있는 데이터를 제외한 부분이라고 보면 된다...

Language/Java 2021.07.05

웹 소켓이란?

웹 소켓(Websocket)이란 두 프로그램 간의 메시지를 교환하기 위한 통신 방법 중 하나이며 현재 인터넷 환경(HTML5)에서 많이 사용된다. Websocket API를 통해 서버로 메세지를 보내고, 요청 없이 응답을 받아오는 것이 가능하다. 현재 API는 W3C에서 관장하고 있으며 프로토콜은 IETF에서 관리하고 있다. 별도의 포트를 사용하지 않고 HTTP와 같은 80번 포트를 사용하고 있는데, 이 때문에 client인 웹 브라우저뿐만 아니라 Web Server도 기능을 지원하고 있어야만 한다. 웹소켓을 사용하는 이유 웹 어플리케이션에서 기존의 서버와 클라이언트 간의 통신은 대부분 HTTP를 통해 이루어 졌으며 HTTP Request/response기반의 Stateless protocol이다. 즉,..

Web 2021.07.04

웹 브라우저의 요청 흐름

구글의 IP주소는 예)200.200.200.2 이다 이걸 도메인 이름 으로 바꿔서 google.com 이라 검색하면 도메인 이름을 조회해서 IP 200.200.200.2 을 가져와 보여주는것이다. 433는 PORT 번호이다. HPPT : 80 HPPTS : 443 이다 PORT 번호는 생략이 가능하다. 우리가 구글 이나 네이버 등 DNS 이름을 적고 PORT 를 안적는 이유는 Hppt, Hppts 가 지정 되어있기 때문이다. 1. 웹 브라우저가 HTTP 메세지 생성 2.SOCKET 라이브러리를 통해 전달 - A: TCP/IP 연결(IP, PORT) - B: 데이터 전달 3.TCP/IP 패킷 생성, HTTP 메세지 포함

Web 2021.07.04

프로세스와 스레드 차이점

프로세스(Process)란? 운영체제에게 할당받은 작업 단위이다. 쉽게 말해, 메모리 위에서 현재 실행되고 있는 프로그램을 말한다. 프로그램은 정적인 코드 뭉치이다. 사용자가 실행하지 않으면 영원히 가만히 있는다. 사용자가 프로그램을 사용하겠다고 운영체제에게 알리면, 운영체제는 메모리에 프로그램을 구동할 수 있을 만한 메모리를 할당하고, 메모리는 디스크에서 프로그램을 읽어온다. 실행 준비를 마친 프로그램은 메모리 위에서 실행된다. 이것이 하나의 작업 단위이다. Code/Data/Stack/Heap의 형식으로 할당해 준다. 각각 독립된 메모리 영역을 할당해 주기 때문에 프로세스는 다른 프로레스의 변수나 자료에 접근 할 수 없다. 다른 프로세스의 정보에는 접근할 수 없을까? 접근이 가능하다. 프로세스 간 정..

Language/Java 2021.06.30
반응형