Java(36)
-
JVM - 구조
JVM - WORA플랫폼 독립성 소프트웨어는 발전할수록 더 많은 환경에서 실행할 수 있는 유연성을 필요로 한다. 그러나 과거에는 운영체제(OS)나 하드웨어(CPU)에 따라 실행 방식이 달라지는 문제가 있었다.mak-ing.tistory.com 앞서 설명했듯이, JVM은 자바 프로그램이 하드웨어와 운영체제(OS)에서 독립적으로 실행될 수 있도록 하는 가상화된 실행 환경이다.JVM은 바이트코드를 실행하는 과정에서 가상의 운영체제처럼 동작하며, 메모리 관리, 클래스 로딩, 실행 엔진 등의 핵심 기능을 수행한다. JVM, OS JVM은 실행 환경을 제공하지만, 궁극적으로 OS의 도움을 받아 동작한다.JVM과 OS의 관계를 크게 다음 세 가지로 정리할 수 있다. JVM은 OS 위에서 실행되는 프로세스자바 애플리케..
2025.02.10 -
[백준 JAVA] 31809 : malware 박멸하기
[백준 31809] malware 박멸하기 : https://www.acmicpc.net/problem/31809문제 조건시간을 신경쓸 필요가 없어보인다. 하루에 박멸 이후 감염이 차례로 진행된다고 이해할 수 있다. 따라서 자신에게 진입 간선이 존재한다면 박멸 이후 감염이 이뤄지므로 아무런 일도 일어나지 않는다. 위에서 말했던 것에 대한 예시를 확인할 수 있다. 진입 간선이 존재한다면, 박멸 이후 감염된다.주기(P)와 C의 크기가 다른 것이 처음 문제를 읽을 때 조금 헷갈렸다. 문제 해결 방법 문제의 핵심은 현재 박멸이 진행되는 컴퓨터(노드)에 진입하는 간선(즉, 외부에서 감염될 가능성)이 있다면, 해당 컴퓨터는 다시 감염될 수 있어 즉시 처리할 수 없다는 점이다.따라서 진입 간선이 없는 노드를 우선적..
2025.02.09 -
[백준 JAVA] 4196 : 도미노
[백준 4196] 도미노 : https://www.acmicpc.net/problem/4196문제 조건 도미노가 한쪽 방향으로만 넘어지기에 단방향 간선으로 표현되지만, 실제로는 우리가 원하는 방향(왼쪽 또는 오른쪽)으로 도미노를 밀어 넘어뜨릴 수 있다. 즉, 한 도미노가 넘어진 방향에 따라 연쇄 반응을 일으키는 관계가 결정되는데, 이때 도미노를 그래프로 나타내면 간선이 기본적으로 한 방향(진출 간선)만 표시된다. 하지만 만약 어떤 도미노가 한쪽 방향에서는 연쇄 반응을 일으키지 못한다면, 그 도미노의 반대쪽(진입 간선) 방향으로도 연쇄 반응을 고려할 수 있어야 한다. 그래서 DFS를 진행할 때, 상황에 따라 진출 간선과 진입 간선을 서로 뒤바꿔서 탐색할 수 있다는 뜻이다. 이는 단순히 양방향 그래프가 되는..
2025.02.08 -
[데브코스 백엔드 1기] 회고
반 년간의 데브코스를 마쳤다데브코스를 시작할 때, 나는 내가 경험해보지 못한 것이 나의 부족함이라고 정의했고, 그것을 채우는 것을 목표로 삼았다. 그러나 내가 이해했다고 여겼던 것들을 다시 되짚는 과정에서 오히려 더 깊은 통찰을 얻었다. 단순히 유행하는 기술을 익히는 데 그치지 않고, 스스로를 객관적으로 바라보며 부족한 점을 채워나가는 과정에서 진정한 성장이 이루어진다는 것을.특히 가장 큰 변화는 단순히 구현하는 것에 머물지 않고, '왜 이렇게 해야 하는가'라는 질문을 끊임없이 던지게 되었다는 점이다. 이 관점은 코드 레벨에 그치지 않고, 비즈니스와 도메인 관련 기획까지 확장되었다. 기술적 결정이 비즈니스 요구사항과 도메인의 특성을 어떻게 반영해야 하는지 고민하게 되었다는 점에서, 단순히 개발을 넘어 더..
2024.12.17 -
Spring Batch ItemReader 성능 개선, 근데 이제 Querydsl을 곁들인...
develetterhttps://github.com/prgrms-be-devcourse/NBE1_2_Team07 GitHub - prgrms-be-devcourse/NBE1_2_Team07: programmers devCourse BE 1기 7팀 2차 프로젝트programmers devCourse BE 1기 7팀 2차 프로젝트. Contribute to prgrms-be-devcourse/NBE1_2_Team07 development by creating an account on GitHub.github.com 현재 개발 중인 서비스, develetter는 개발자 취준생들에게 맞춤형 뉴스레터로 유용한 정보를 제공하는 서비스입니다. develetter는 두 가지 주요 API를 활용하여 데이터를 수집하고 ..
2024.10.15 -
[프로그래머스 JAVA] 순위
https://school.programmers.co.kr/learn/courses/30/lessons/49191 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 문제 접근 방법 위상 정렬위상 정렬로 열내면서 풀어봤지만 문제를 풀수록 미궁 속으로 빠졌다. 위상 정렬로 풀이하면 처음과 끝에 있는 선수들의 순위는 비교적 쉽게 정할 수 있지만, 중간에 있는 선수들의 순위는 모호하고, 접근하기 까다로워진다. 문제를 풀면서 이상하다고 생각해서 찾아보니 위상 정렬은 순서가 명확히 정해진 상황에서 사용하는 게 올바르다고 한다.(순서가 명확, 사이클X -> 위상 정렬) 플..
2024.10.13