본문 바로가기

전체 글

(17)
[JAVA] HashMap이란? 자바 Map에 대해서 공부하던 중 버켓(Bucket)이라는 단어를 접하게 되었다. 그래서 이번 글은 버켓에 대해서 자세하게 작성되어 있는 글을 정독하고, 정리한 글이다. 기존의 글에 개인적으로 이해하기 쉽도록 설명을 추가한 글로, 원 글을 다시 작성해 보면서 공부한 글이다. 원본: https://d2.naver.com/helloworld/831311 자바를 사용하다 보면 Map 자료구조를 많이 활용하게 된다. Map은 키와 값으로 이루어져 있고, 이때 키는 값을 구분하기 위한 유일한 값이다. 자바에서 Map은 인터페이스로 다양한 구현체를 제공한다. 가장 기본적으로 자주 사용되는 구현체는 HashMap, TreeMap, LinkedHashMap 등이 있다. 그리고 HashTable도 있다. HashMap은..
[Servlet] 서블릿과 JSP란? 자바로 웹 개발을 공부하면 반드시 공부하는 것이 스프링 Web MVC 프레임워크(이하 스프링 MVC)다. 그만큼 스프링 MVC는 웹 애플리케이션을 개발함에 있어서 필요한 다양한 기술적 편의를 제공한다. 그중에서 가장 강력한 부분이 Bean이 아닐까 싶다. 스프링 MVC를 사용해서 웹 애플리케이션 개발 하다 보면 간혹 가다 만나는 것이 서블릿(Servlet)과 JSP(Java Server Pages)이다. 서블릿? JSP? 간단하게 설명하자면, 서블릿은 Java EE 기술 스택 중 하나로 서버에서 동적으로 클라이언트의 요청에 대한 응답을 처리할 수 있는 API들을 정의한 집합이다. JSP의 경우 서블릿과 같은 맥락이지만 화면을 처리하는 역할에 초점이 맞추어져 있다. 이전에 웹 애플리케이션은 정적인 리소스(..
[JAVA] String constant pool이란? 이전 글 참고: 2023.10.12 - [Java] - [JAVA] String 클래스의 특징 [JAVA] String 클래스의 특징 먼저 String 클래스가 무엇인지 간단히 알아보자. String은 자바가 제공하는 클래스 중에서 문자열을 다루는 클래스다. String 클래스의 객체를 생성하는 방법은 두 가지가 있는데, new 키워드 통해 ditto-dev.tistory.com 이전 글에서 Java의 String 클래스의 특징을 알아볼 때, 객체의 공유 특성을 설명하면서 String constant pool에 대해서 언급했다. 이번 글에서는 String constant pool에 대해서 설명하고자 한다. 먼저, String constant pool은 문자열이 저장되어 있는 공간으로 문자열 연산의 성능..
[JAVA] String 클래스의 특징 먼저 String 클래스가 무엇인지 간단히 알아보자. String은 자바가 제공하는 클래스 중에서 문자열을 다루는 클래스다. String 클래스의 객체를 생성하는 방법은 두 가지가 있는데, new 키워드 통해 생성자의 입력 매개변수로 문자열을 전달하는 방법과 문자열 리터럴 방법이 있다. String text1 = new String("new 키워드"); // new 키워드 String text2 = "리터럴"; // 문자열 리터럴 이때 두 가지 방법 모두 메모리에 저장되는 방식은 동일하다. String은 참조 자료형이기 때문에 실제 데이터(문자열)는 힙 메모리에 위치하고, 참조 변수 text1은 힙 메모리의 데이터를 가리키게 된다. String 클래스는 다른 클래스와는 다르게 두 가지의 특징이 있다. ..
[JAVA] 직렬화(Serialization)란? 이번에 채팅 앱 프로젝트를 진행하면서, Redis를 사용하게 되었습니다. public class RedisTemplate extends RedisAccessor implements RedisOperations, BeanClassLoaderAware { /** * Sets the key **serializer** to be used by this template. Defaults to {@link #getDefaultSerializer()}. * @param serializer the key serializer to be used by this template. */ public void setKeySerializer(RedisSerializer serializer) { this.keySerializer ..
[네트워크 원리] 웹 브라우저 보호되어 있는 글입니다.
[Error] Field repository in required a bean of type 'xxx' that could not be found. # Error Intellij에서 @Autowired를 통해서 CrudRpository를 상속받는 인터페이스를 사용할 때 아래와 같은 error가 발생한다. Field repository in com.example.SpringDataJDBCSample.SpringDataJdbcSampleApplication required a bean of type 'xxx' that could not be found. # Solution @EnableJdbcRespositories을 통해 JDBC Repository 를 활성화 할 수 있다. @SpringBootApplication @EnableJdbcRepositories(basePackages = { "path of target package ex) com.demo..
[Error] Could not autowire. No beans of 'xxxx' type found. # Error Intellij에서 @Component를 부여한 클래스의 인스턴스를 @Autowired를 통해 사용하는 클래스의 필드에 주입하려면 'Could not autowire. No beans of 'xxxx' type found.'의 error가 발생한다. # Solution @ComponentScan을 통해 패키지의 @Component 을 스캔할 수 있다. @SpringBootApplication @ComponentScan(basePackages = { "path of package ex) com.demo" }) public class DemoApplication { public static void main(String[] args) { ... } @Autowired Sample sample;..