Computer Science

    본격 JVM 해부하기

    🤓 새로운 정보를 찾으면 계속 업데이트 될 글입니다! 자바의 실행 과정 자바는 JVM이 OS로부터 이 프로그램이 필요로 하는 메모리를 할당받는다. 자바 파일이 자바 컴파일러에 의해 자바 바이트 코드(.class)로 변환된다. 클래스 로더를 통해 자바 바이트 코드를 JVM으로 로딩한다. 해석된 바이트 코드는 런타임 데이터 영역에 배치된다. 실행 엔진을 통해 실행된다. JVM은 필요에 따라 GC와 같은 작업을 수행한다. JVM의 구조 클래스 로더 자바는 동적 로드, 즉 런타임에 클래스를 로드하고 링크하는 특징이 있다. 이 동적 로드를 담당하는 부분이 JVM의 클래스로더이다. 로드 우선 클래스 로더는 .class 파일을 읽고, 그 내용에 따라 적절한 바이너리 데이터를 만들고, 메소드 영역에 저장하는 동작을 수..

    Softeer) 플레이페어 암호_Python

    #문제 https://softeer.ai/practice/info.do?idx=1&eid=804 Softeer 연습문제를 담을 Set을 선택해주세요. 취소 확인 softeer.ai #문제 분석 - 음.. 아주아주 조건이 많은 빡구현 문제이다. 코드 한줄이라도 틀리면 그냥 바로 틀리기 딱 쉬운 문제..? 딱히 알고리즘은 없고 주어진 조건만 잘 구현하면 될듯하다. 이런 문제는 중간중간 디버깅을 해가면서 맞았는지 확인해봐야 시간 낭비를 안할 것 같다. 현대도 구현을 좋아하나..? - 딕셔너리를 잘 활용했더니 마지막 변환 과정에서 좌표를 따로 손대지 않고 쉽게 풀 수 있었다. #코드 import sys from collections import deque input=sys.stdin.readline messag..

    백준 1238) 파티_Python

    # 문제 https://www.acmicpc.net/problem/1238 1238번: 파티 첫째 줄에 N(1 ≤ N ≤ 1,000), M(1 ≤ M ≤ 10,000), X가 공백으로 구분되어 입력된다. 두 번째 줄부터 M+1번째 줄까지 i번째 도로의 시작점, 끝점, 그리고 이 도로를 지나는데 필요한 소요시간 Ti가 들어 www.acmicpc.net #문제 분석 - 처음에는 플로이드-워셜로 충분히 풀 수 있는 문제라고 생각했다. 각 노드로 가는 최단 거리들을 구한 다음에, i->X로 가는 최단 거리+ X->i로 가는 최단 거리를 더해줘서 이의 최대값을 구하는 식으로 문제를 풀었다. import sys input=sys.stdin.readline N,M,X=map(int,input().split()) bo..