본문 바로가기

어차피 공부는 해야한다./java4

[JAVA] 무지성 배열 생성하지 않기. 저번에 옆에 이 문제를 풀다가 https://www.acmicpc.net/problem/16946 무지성 배열 생성을 하여 시간초과가 계속해서 생긴 경험이 있어서 글을 작성하게 되었습니다.  배열 생성하는 데 걸리는 시간이 O(1)로 얼고 있었는데 과연 그럴까요?  이를 실험해보기 위해 간단한 코드 2가지를 작성했습니다.  1 매 실행마다 배열을 생성하는 메서드public static void resetArray(int cnt){ while(cnt-->0){ int[] arr = new int[100_000_000]; arr[cnt] = cnt; } }// 1.9587517s 2. 배열을 새로 선언하지 않는 메서드 public s.. 2024. 10. 24.
[접근제어자] public? private? protected? default? 오늘 프로젝트 리팩토링을 하면서 여러 개의 패키지로 클래스들을 분리했는데, 일부 코드에서 오류가 발생했다. 컨트롤러 역활을 하는 MahjongGame과 User클래스의 패키지를 분리 후, MahjongGame에서 User를 import 해주었다. 분명 User를 import 해왔는데 오류가 발생하였다ㅠ. import view.InputView; import model.User; import model.Deck; import model.Card; import java.util.*; public class MahjongGame { Deck deck; User user1,user2, user3, user4; InputView inputView = new InputView(); MahjongGame (){ de.. 2023. 9. 25.
[메모리] 자바의 메모리 영역 자바가 실행되면 JVM(자바 가상 머신)이 OS로부터 메모리를 할당받고, 그 메모리를 용도에 따라서 여러 영역으로 나누어 관리한다. JVM의 메모리 공간은 크게 1. Static 영역 2. Stack 영역 3. Heap 영역 1. Static 영역 클래스와 인터페이스에 대한 런타임 상수..? , 필드변수, 클래스 변수, 상수, 생성자, 메서드를 저장한다 Static 영역은 어느 곳에서나 접근이 가능하다. 따라서 무분별하게 사용할 경우 메모리 낭비를 초래할 수 있다. 2. Stack 영역 지역변수의 데이터 값이 저장되는 공간. Primitive 타입의 데이터에 해당되는 지역변수, 매개변수 데이터 값이 저장. 메서드가 호출될 때, 메모리가 할당되고 메서드가 종료되면 메모리에서 사라짐 Stack 영역의 메모리.. 2023. 5. 22.
[메모리] 메모리의 단위의 정리하기 야심차게 새로운 포스팅을 시작했습니다. 저는 아무래도 비전공자이다 보니, CS 지식이 거의 없어서 가끔 코딩할 때 어려움을 겪을 때가 있습니다. 최근에는 백준에서 메모리 초과를 많이 봐서 메모리에 대해 궁금해졌습니다. 그래서 일단 이번 포스팅의 목적 1. bit, byte.. 그 외 뭐시기 정리한번 하기 1. bit, byte.. 그 외 뭐시기 정리한번 하기 bit : 0과 1, 두 가지 값만 가질 수 있는 측정 단위 byte : 8개의 비트로 구성된 데이터의 양 KB(Kilo - byte) : 1,024 byte MB(Mega - byte) : 1,024 KB 그럼 코딩 문제의 메모리 제한 128MB는.. 128 x 1024 = 131,072 KB 131,072 x 1024 = 134,217,72 by.. 2023. 5. 22.