| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | |||||
| 3 | 4 | 5 | 6 | 7 | 8 | 9 |
| 10 | 11 | 12 | 13 | 14 | 15 | 16 |
| 17 | 18 | 19 | 20 | 21 | 22 | 23 |
| 24 | 25 | 26 | 27 | 28 | 29 | 30 |
| 31 |
- 이진트리
- docker
- 플러스 백엔드
- bean
- Java
- Kafka
- 프로그래머스
- jdk
- 백준
- JPA
- code blocks
- 티스토리챌린지
- Gradle
- 코딩테스트
- jre
- 삽입
- 알고리즘
- Unity
- stack
- EDA
- 연습문제
- 아키텍처
- MSA
- 오블완
- event
- Kotlin
- Spring
- 트리
- redis
- 탐색
- Today
- Total
목록Java (12)
Repository
1. Static이란??Static 키워드를 선언하게 되면 사용할 때만 메모리에 할당하고, 사용 안 할 때는 제거되는 일반 선언들과 달리 프로그램이 종료될 때 까지 메모리에 할당되어 있는 것을 의미합니다. 그렇기 때문에 우리가 Static으로 선언한 것들은 따로 생성하지 않고 가져다 사용할 수 있는 것입니다. 그렇다면 우리가 흔히 사용하는 Static 변수와 Static 메소드들은 어떤 작동원리를 가지고, 어떤 차이점이 존재하는지 알아보도록 하겠습니다.2. Static 변수Static 변수는 클래스 수준에서 선언되며, 인스턴스와 관계없이 모든 객체가 동일한 메모리 공간을 공유합니다. Static 변수는 클래스가 메모리에 로드될 때 한 번만 초기화되며, 프로그램이 종료될 때까지 메모리에 유지됩니다.Stat..
이번 문제 또한 매우 간단한 문제입니다.N명의 학생이 존재하고, 3번째 줄부터 N개 나오는 학생들 이름을 가지고 인기도를 측정하여 출력하면 되는 문제입니다. 우선 여기서 봐야 할 점은 인기도 측정 방식과 정렬인데요.인기도 측정 방식은 그냥 나오는 학생 이름들을 전부 인기도에 반영하면 되는 간단한 문제이고,정렬은 주어진 조건에 맞춰 정렬하면 됩니다. 정렬의 경우 저는 Stream의 sorted함수를 사용하였는데요. 이때, sort조건을 커스텀함으로써 간단하게 정렬하였습니다.이후 reduce를 활용하여 StringBuilder에 값들을 담게 했는데요, 이는 String과 달리 StringBuilder는 불변성이 아니어서 메모리 활용 측면에서 훨씬 효율적이라 판단하여 사용하였습니다.public class Ma..
JPA에 대하여 우리가 JPA를 알기 위해서는 사전 지식으로 ORM이 무엇인지를 알아야 합니다. 이에 이 글은 ORM부터 알아본 후 JPA에 대해 다뤄보도록 하겠습니다. ORM이란? ORM( Object Ralational Mapping )은 단어를 풀어 해석하면 '객체 관계형 연결'이 됩니다. 이 기술은 애플리케이션과 데이터베이스 연결 시 기존에는 SQL언어를 애플리케이션 서버에서 직접 작성하였지만, 이를 서버에서는 객체로 정의하여 행위에 대한 Action을 하면 정의된 객체를 해석하여 행위에 필요한 SQL문을 작성하여 데이터베이스로 전달하는 말 그대로의 Mapping역할을 합니다. 이러한 ORM은 기존 Mybatis와 같은 기술을 사용하던 것을 '객체 지향'적으로 사용하기 위해 나온 기술이라고 봐도 ..
이번에 소개할 문제는 문자열 압축이라는 알고리즘 문제이다. 해당 문제는 데이터를 처리할 때 최소한의 메모리를 사용하여 문자열을 저장하고 싶은 게 핵심인 문제인 거 같다. 예를 들어보면 "가나다라마바사아"라는 문자열이 존재한다고 가정해보자.이때 해당 문자열을 그대로 저장하게 되면 8글자를 Byte로 저장하게 된다.위와 같이 중복된 글자가 없으면 그대로 저장하는 것이 데이터의 정확도상 당연한 것이라 생각한다. 하지만 "가가가나나나나나나다다다다다라라라마마바"라는 문자열이 있다고 생각해보자.위와 같은 문자열이 있을 때 해당 문자열을 그대로 저장하는 것은 20개의 글자를 Byte로 저장하는 것이다.이럴 때 동일한 문자가 연달아 존재할 때 몇 개인지를 앞에 명시하여 보다 짧은 문자열로 저장하는 것이 훨씬 적은 데이..