본문 바로가기
728x90

분류 전체보기66

JVM(Java Virtual Machine) 이란? 본 포스팅은 학습 목적에 있습니다. 시작하는 말 JVM이라는 말을 접한 적이 있는가? JAVA를 처음 배울때 컴퓨터가 어떻게 이 언어를 알아듣고 구현한 코드가 실행되는지 궁금한 적이 있다. 그것은 바로 JVM이 해주는 것이었다! 그럼 JVM이 무엇인지 알아보자. JVM이란? JVM은 자바를 실행하기 위한 가상 컴퓨터라고 생각하면 된다(실제 컴퓨터보다는 소프트웨어로 구현한 것) JVM은 JAVA와 OS 사이의 중개자 역할로 OS에 독립적이고 재사용이 가능하다.(즉, JAVA 응용 프로그램은 JVM과 통신하고 통신하며 받은 명령을 OS가 이해할 수 있도록 변환 후 전달) JVM은 메모리 관리 및 가비지 컬렉션(Garbage Collection) 수행 JVM 구조 Class Loader 자바 컴파일러를 사용해.. 2021. 6. 24.
jsp 페이지 로딩 순서 시작하기 전에(필자의 여담) 랜더링 순서? 랜더링 순서란 페이지를 로딩하며 코드가 실행되는 순서를 말한다. 그럼 이게 왜 중요할까? 회사에 입사해서 분명 코드에는 존재하는데 참조하지 못하는 경우를 경험한 적이 있다. 처음엔 내 코드가 잘못 된 줄 알았다. 아, 잘못 된 건 맞다. 하지만 코드를 작성한 위치가 잘못 되었었다... HTML 랜더링 순서 HTML, jsp 모두 인터프리터 언어이다. 따라서 위에서 아래대로 실행된다. Import 의 onload window.onload (스크립트는 각 상위태그 순서에 따라) 랜더링 순서를 이해하기 위한 DOM 포스팅과 그 밖의 Vue 포스팅은 다음을 참고하자.(게시글 추가 예정) 랜더링 관련하여 Vue.js 프레임워크를 사용할 당시 vue.$nextTick을 사.. 2021. 6. 23.
Dijkstra 알고리즘 목적 다익스트라 알고리즘을 이해하기 다익스트라 알고리즘을 Java로 구현하기 시작하는 말 티스토리 블로그로 이전하고 처음 포스팅하는 글입니다. 첫 게시글은 전 github.io 블로그에서 가장 클릭 수가 많았던 다익스트라 알고리즘을 옮기려고 한다. (검색어는 '다익스트라 2차원 배열') 다익스트라(dijkstra) 알고리즘 이란? 다익스트라 알고리즘은 최단경로를 탐색하는 알고리즘이다. 구현 방법으로 2차원 배열 또는 힙(Heap)을 이용하여 구현할 수 있으며 각각 O(N^2)와 O(ElogN) 시간복잡도를 가진다. 다익스트라 알고리즘은 음수 가중치를 가진 그래프에서는 사용할 수 없는 단점이 있는데 이때에는 벨만-포드 알고리즘을 사용해야 합니다. 원리 1. 모든 가중치를 무한으로 설정한다. 2. 방문하지 .. 2021. 6. 22.
728x90