java28 [Java] Java 메모리 영역(stack, heap, static), JVM, JAVA 변수 종류 목차 JVM 이란? Java의 메모리 영역 Java 변수 종류 Static(Method) 영역 Heap 영역 Stack 영역 JVM 메모리 구조중, (Stack, Heap, Static)메모리 영역과 JVM, Java 변수 종류에 대해서 알아보자. JVM 이란? - 메모리 영역을 공부하기전 간단하게 JVM에 대해서 알아보자. JVM 이란 Java Virtual Machine의 약자이며, 자바 가상 머신이라고 불리운다. Java의 바이트 코드를 해석하고 실행하는 역할을 한다. OS에 상관없이 실행할 수 있는것이 장점이다. (JVM 설치만 하면 어떤 운영체제에서든 java 파일을 실행할 수 있다.) ○ JVM 실행 순서 .java 파일을 컴파일러(Compiler)를 통해 .class 파일로 변환한다. .cl.. 2023. 2. 7. [Java] Java 컬렉션(Collection) Java 컬렉션(Collections Framework) - Java 컬렉션(Collection)은 데이터를 쉽고 효과적으로 처리할 수 있는 집합, 그룹을 뜻한다. -> 데이터를 저장하는 자료구조와 처리하는 알고리즘을 구조화 하여 클래스화 시킨것이다. - Java Interface 를 통해 구현된다. - Collection의 상속 구조이다. - Map 은 Collection이 아니지만 같이 묶어서 표현된다. Collction Interface 인터페이스 구현 클래스 특징 Set HashSet(대표) TreeSet LinkedHashSet 순서X, 데이터 중복X List ArrayList LinkedList Vector 순서가 존재하고, 데이터의 중복을 허용 Queue LinkedList PriorityQ.. 2023. 2. 1. [JPA] JPA, ORM 이란 무엇인가? JPA(Java Persistence API), ORM(Object Reational Mapping) 이란 ? JPA를 공부를 하게 된다면 JPA, ORM, 영속성 컨텍스트 등 많은 용어가 나오게 된다. JPA, ORM 이란 무엇이고, 관련된 내용에 대해서 알아보자. ORM 이란? - ORM(Object Reational Mapping)은 객체 - 관계 매핑을 뜻한다. 객체와 관계형 데이터베이스(RDB)를 매핑해주는것이다. 객체 모델과 관계형 모델에는 불일치(*패러다임 불일치), 즉 차이점이 존재하게 된다. (Ex. 상속관계{객체는 상속개념이 있지만, RDB는 상속개념이 존재 하지 않는다.}) ORM은 이러한 차이의 간극을 줄여준다. 즉, OOP(객체)와 RDB(관계형 데이터베이스)를 중간에서 매핑(혹은.. 2023. 1. 31. [Java] Multi Thread를 이용한 간단 게임 구현(구구단) Java Multi Thread를 이용한 간단 게임 구현하기 - 곱셈(구구단) 맞추기 - Java Thread를 공부 하던 중 간단한 입력을 통해 시간내에 많은 문제를 풀어보는 구구단 게임을 만들게 되었다. - Scanner 와 Thread만을 사용하여 간단하게 구현 해보자. 동작 방식 및 게임 룰 설정 문제 제한시간 60초 안에 많은 문제를 맞추자. 2자리 * 1자리 숫자가 문제로 주어진다. 맞추면 "정답입니다", 틀리면 "틀렸습니다. 정답은: xxx" 출력. 정답, 오답의 각 개수 체크하여 게임 종료시, (문제 갯수, 정답, 오답 갯수) 출력. 구현 Timer 기능과 문제를 발생시키는 Thread 생성(GuguTimer.class) 문제를 내고, 입력을 받아 정,오답을 검증하는 Thread 생성(Ga.. 2023. 1. 26. [IntelliJ] IntelliJ + Git 연동(1) (원격저장소 push) IntelliJ IDE 를 Git 연동을 통해 원격저장소 GitHub Repositroy에 push - 제목과 같이 인텔리제이에서 생성한 프로젝트를 깃허브에 연동시켜 보자! - 본 글에서는 intelliJ GUI 만을 사용하는것이 아닌 git 명령어와 동시에 진행한다. (명령어는 몰라도 된다.) 1. intelliJ 에서 Java 프로젝트 생성은 아래 링크. https://lucas-owner.tistory.com/30 2. Git(명령어)를 통해 원격저장소 연결 및 원격저장소 (GItHub) Repository 생성법은 아래 링크에서 확인하고 오자. https://lucas-owner.tistory.com/17 1. IntelliJ 하단부의 terminal을 클릭하자 - 처음 열면 경로만 표시된다. 그.. 2023. 1. 22. [IntelliJ] Java 프로젝트 생성 IntelliJ 에서 Java 프로젝트 생성하는 방법 1. IntelliJ 실행 후 -> New Project 클릭 2. 아래 화면이 나오면 순서에 맞게 설정 후 NEXT - Project SDK 는 본인이 사용하는 Java 버전에 맞게 선택 하면 된다.(자동으로 잡아준다) 3. 아래 화면은 아무 설정 없이 NEXT. 4. Project 이름을 기입하고, 경로를 지정한다. 5. 프로젝트 생성이 종료되면 - src폴더 아래 / Pacakge 생성 / class 생성 후 - 출력 테스트를 하면 종료 된다. 2023. 1. 22. [Java] Lombok 실제 사용법(2) Lombok 라이브러리 실제 사용법 및 적용법을 코드를 통해 알아보자! 롬복의 기본 개념과 어노테이션들에 대한 자세한 설명은 아래 링크에서 확인하세요! https://lucas-owner.tistory.com/26 [Java] LomBok이란? & 어노테이션 정리 (1) Java 라이브러리 Lombok이란? + 자주 사용 어노테이션 정리! ○ LomBok 이란? LomBok이란 어노테이션 기반으로 코드 자동완성 기능을 제공하는 라이브러리이다. Spring, Spring Boot 로 Web 개발을 하다보면 반 lucas-owner.tistory.com - 해당 코드 사용법은 필자의 개인적인 코딩 스타일이 적용되어 있고, 정답이 아닐수 있습니다! (상황에 따라 사용하세요!) ○ Code - 우선 아래와 같은.. 2023. 1. 17. [Java] LomBok이란? & 어노테이션 정리 (1) Java 라이브러리 Lombok이란? + 자주 사용 어노테이션 정리! ○ LomBok 이란? LomBok이란 어노테이션 기반으로 코드 자동완성 기능을 제공하는 라이브러리이다. Spring, Spring Boot 로 Web 개발을 하다보면 반복되는 코드가 자주 등장하며 가독성을 떨어트린다. 예를 들어보면 Getter, Setter, ToString, Constructor(생성자)가 대표적인 예제일 것이다. - 간단 예시 예시를 간단히 설명해 보자면, 필자의 경우 Legacy 시스템(AS-IS)을 TO-BE로 개선하는 작업을 진행했었다. Legacy 코드를 처음보고 적잖이 당황했었다. 왜냐하면 DTO혹은 VO Class 의 경우 필드의 갯수가 많게는 30-50개 정도 (혹은 그이상)이었기 때문이다. 만약 이.. 2023. 1. 17. [Data Structure] Stack(스택) 자료구조란? -Java Stack 자료구조란 무엇인가? - Java 1. 스택이란? - 'Stack'은 한쪽 방향에서만 자료를 넣고 빼는 형태의 자료구조이다 - LIFO(Last In First Out) - 선입후출 의 특징을 갖고 있으며, 제일 먼저 들어간 데이터는 제일 마지막에 꺼낼 수 있다는 의미를 가진다. - 이해하기 쉬운 예시로 -> '프링글스' 과자를 상상하면 쉬울 것이다. 제일 먼저 들어간 과자는 제일 마지막에 먹을 수 있게 되는 방식인 것이다. - Stack이 많이 사용되는 곳은 - DFS(깊이 우선 탐색)이다. 2. Java Stack 라이브러리 Mehtods push(object) : object를 Stack 에 삽입한다. pop() : stack에 있는 최상단 object를 삭제 하고 반환한다. peek().. 2023. 1. 16. 이전 1 2 3 4 다음