반응형

Language 62

자바란?

자바란? 프로그래밍 언어(programing language) 컴퓨터 프로그램(애플리케이션)을 만드는데 사용 실행환경(JRE) + 개발도구(JDK) + 라이브러리(API) 라고한다. 라이브러리 : 프로그램 제작 시 필요한 기능 자바의 특징 운영체제에 독립적이다. 객체지향언어이다. 비교적 배우기 쉽다. 자동 메모리 관리(Garbage Conllection) 멀티쓰레드를 지원한다. 동적 로딩 이다. 가비지컬렉터가 자동적으로 메모리를 관리해주기 때문에 프로그래머는 메모리를 따로 관리 하지 않아도 된다. 실행 시에 모든 클래스가 로딩되지 않고 필요한 시점에 클래스를 로딩하여 사용할 수 있다는 장점이 있다.

Language/Java 2021.09.06

Stack

LIFO(Last-IN-First-Out) 어떠한 데이터들을 순차적으로 저장할 수 있으며 입구와 출구가 하나밖에 존재하지 않는 자료구죠이다. pop스택의 가장 최상위(마지막)에 위치한 데이터를 추출한 후에 스택에서 삭제한다 push스택의 가장 최상위(마지막)에 데이터를 삽입한다 clear스택에 저장된 모든 데이터를 삭제하고 스택을 초기화한다 peek스택의 가장 최상위(마지막)에 위치한 데이터를 추출한다.pop 메서드와는 달리 스택에서 데이터를 삭제하지 않는다 class JkStack { int top; int[] stack; int size; public JkStack(int size) { top = -1; stack = new int[size]; this.size = size; } public int ..

배열에서 검색

배열을 검새갛는 방법은 여러가지가 있지만 지금은 가장 간단한 방법에 중점을 둘것입니다. 선형 검색(Linear Search) 요소가 직선 모양으로 늘어선 배열에서의 검색은 원하는 키을 갖는 요소를 만날 때 까지 맨앞부터 순서대로 요소를 검색하면 되는데 이것이 선형 검색 또는 순차 검색 알고리즘 입니다. 최악의 경우 선형 검색은 전체 배열을 검사하게 된다. 따라서 선형 탐색의 시간 복잡도는 O(n) 이 걸린다 public static int linearSearch(int arr[], int x) { int n = arr.length; //순차적으로 arr[]각 요소와 x를 하나씩 비교 for (int i = 0; i < n; i++) { // 일치할경우 인덱스 반환 if(arr[i]==x) { return..

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

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

프로세스와 스레드 차이점

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

Language/Java 2021.06.30

Statement와 PreparedStatement 차이

Statement Statement를 사용하면 매번 쿼리를 수행할 때마다 3단계를 거치게 되고(계속적으로 단계를 거치면서 수행) import java.io.BufferedReader; import java.io.InputStreamReader; import java.sql.Connection; import java.sql.DriverManager; import java.sql.Statement; public class JdbcStatement { public static void main(String[] args) throws Exception { String url = "jdbc:mysql://localhost:3306/jdbc?characterEncoding=UTF-8&serverTimezone=UT..

Language/Java 2021.06.30

Eclipse spring 설치

1. 이클립스에서 Help - Eclipse Marketplace 를 클릭합니다. 2. STS 플러그인을 검색하고 최신버전의 STS를 설치하기 위해 Install을 눌러줍니다. 3.플러그인 항목들을 모두 체크한 뒤 Confirm을 눌러 다음 단계로 갑니다. 4. accept를 눌러 약관에 동의한 후 진행합니다 6.설치가 완료 되었으면 재부팅후 다시 이클립스를 실행시켜주세요. spring 프로젝트를 만들수 있을것입니다.

Language/Java 2021.06.02

Big-O 표기법

Big-O 표기법 알고리즘 성능을 수학적으로 표현하는것입니다. 알고리즘에 답은 정해져 있지만 풀이 과정에는 답이 없습니다. 예을 들어 답이 10라고 할때 10이라는 답을 만드는 과정은 여러가지가 있습니다. 1+1+1+1+1+1+1+1+1+1 , 2 x 5, 20 / 2 , 15 - 5 등 여러가지 문제 풀이로 답 10을 구할수 있습니다. 여기서 10을 구할때 어떤 방식으로 빠르게 답을 구하고 시간을 단축시키느냐입니다. 우리가 게임을 하려고 게임의 홈페이지 들어갔을때 그 홈페이지가 바로 들어가지고 빠르게 게임을 할수 있는 반면에 10초뒤에 켜지든지 30초뒤에 켜지고 게임 들어가는 시간까지 5분 넘게 걸린다고 치면 누구나 화가 날수가 있습니다. 안에 있는 알고리즘이 얼마나 간략하고 중복이 없으며 시간 복잡도..

Language/Java 2021.05.30
반응형