예전에 신입개발자로써 취직을 준비하면서 네이티브 메서드라는게 있다는 걸 외웠던게 기억나는데이를 좀더 깊게 고민해본 글이다.자바 가상머신 스택에 대하여일단, 책을보다 이게 있는지 처음 알았다. 예전에 공부했을때는 적당히 네이터브 메서드에 영역에 퉁쳐서C처럼 생긴 메모리구조에다가 우겨넣었는데, 깊이 있게 이해 해 보니말도 안되는 걸 왜 그때는 이해하지 못하였는지 생각이 들었다. 자바라는게 결국 C에서 하던 메모리 관리를 직접하지 않고 코드에 더 집중하게해 생산성을 높이는 언어인 것을 알고 있었으면서 C 메모리체로 설명하는 자바 메모리를 의심하지 않고 공부했던 내 자신이 조금은 부끄러웠다. 일단 자바 가상머신스택은 스레드 프라이빗 영역인데쉽게 말해 스레드가 어떤 동작을 하기위해 스택 프레임을 만들게 되는데 지..
프로그램 카운터 레지스터란자바에서 사용하는 가상 메모리의 개념 중 하나이다.프로그램 , 카운터 - 카운팅기능 , 레지스터 - 등록체 이렇게 이해할 수 있는데, 프로그램 카운터란 결국스레드가 실행하면서 가지게 되는 바이트코드의 줄 을 세서, 유지하고 관리하는 개념이다. 이를 통해 흐름제어 , 순환 , 점프 ,예외처리 , 스레드 부팅(재시작)을 하게 되는데 자바 개발자라면 다들 알고 있다시피 , 자바는 여러개의 CPU를 동시에 사용해스레드를 병렬처리하게 되는데 이때 우선순위가 주어지게 되고, 어떤 특정시점에서 우선해서 다른 스레드를 동작시켰다면, 멈춘 위치를 기억해야하는데그런 역할을 프로그램 카운터가 하게된다는 것이다. 그리고 이러한 영역을 프라이빗한 스레드 영역이라고 하게된다.그래서 해당 영역에서 문제가 ..
JAR 파일용도: 자바 애플리케이션이나 라이브러리 배포용으로 사용됨. 주로 데스크탑 애플리케이션이나 독립적인 자바 프로그램에서 쓰임.포함된 내용: 자바 클래스 파일(.class), 메타데이터(META-INF/MANIFEST.MF), 리소스 파일(이미지, 텍스트 파일 등) 포함됨.특징: 실행 가능한 JAR 파일로 만들어 java -jar filename.jar 명령어로 실행 가능함.WAR 파일용도: 자바 웹 애플리케이션 배포용으로 사용됨. 웹 서버나 애플리케이션 서버에서 실행됨.포함된 내용: 웹 애플리케이션 파일들(서블릿, JSP, HTML, CSS, JavaScript), 자바 클래스 파일, 라이브러리(JAR 파일), WEB-INF/ 디렉토리와 web.xml 파일 포함됨.특징: 주로 웹 서버에 배포되어 ..
들어가며디자인 패턴이란, 클래스들 간의 관계를 어떻게 잘 연결할 것인지에 대해 이야기하는 것입니다.생성 패턴이러한 패턴들은 기존 코드의 유연성과 재사용을 증가시키는 다양한 객체 생성 메커니즘들을 제공합니다.구조 패턴이러한 패턴들은 객체들과 클래스들을 구조를 유연하고 효율적으로 유지하면서 더 큰 구조로 조립하는 방법을 설명합니다.행동 패턴이러한 패턴들은 알고리즘들 및 객체 간의 책임 할당과 관련이 있습니다.SingleTone어떤 클래스가 최대 한 번의 인스턴스만을 갖도록 보장하는 패턴입니다. 이 패턴을 사용하면 특정 클래스의 인스턴스가 오직 하나만 존재하도록 제한할 수 있으므로, 리소스의 낭비를 방지하고 객체 간의 일관성을 유지할 수 있습니다.Private Constructor(비공개 생성자): 클래스 내..
들어가며이번 포스트에서는 자바에서 String 에 대해 이해해 보려고합니다.String은 기본적으로 제공되는 변수 - 원시타입들과는 다릅니다.원시타입기본적으로 제공 하는 변수형 들을 말합니다.정수 : btye short int long - 1 , 2 , 4 , 8 바이트로 이루어져있습니다.사용저는 특별한 제약조건이 있는 경우가 아니라면 int 와 long을 사용하고 있습니다.int의 경우 21억 정도 까지의 값들을 저장할 수 있는데 만약 저장 될 값이20억이 넘어갈 것같은 경우에는 long으로 아닌 경우에는 int를 사용하고 있습니다.실수 : float Double - 4 ,8문자 : char - 2논리 : boolean - 1이렇게 원시타입이 이루어져 있습니다.그리고 String은 불변하는 객체입니다...
들어가며이번 포스트에서는 디자인 패턴에 대해서 알아보겠습니다.글이 길어 패턴의 자세한 내용은 다음 포스트에서 다룹니다.디자인 패턴이란?소프트웨어 설계에서 자주 발생하는 문제들을 해결하기 위한 일반적인 해결책입니다.개발자들이 반복적으로 발생하는 설계 문제들을 해결하기 위해 미리 만들어 놓은 청사진과 같다고 생각하면 됩니다.에초에 디자인 - 설계 라는 의미로 사용되니까요.이전에 포스팅한 내용들과도 연관되어 설명해볼 수 있습니다.자바란? 객체지향을 잘 하기 위한 언어이런 자바를 잘 만들기 위한 도구 : OOP의 4대 특성 , 캡슐화 , 상속, 추상화 , 다형성그리고 이런 도구를 잘 다루기 위한 사용법 : SOLID - 단일 책임, 오픈 클로즈 , 리스코프 치환 , 인터페이스 분리 , 의존 역전 원칙그리고 이런..