본문 바로가기
Socket 통신 https://jaeseo0519.tistory.com/168 [Network] TCP/IP Socket 통신소켓의 존재를 올해 처음 네트워크 스터디를 통해 처음 알아보긴 했었는데, 여전히 알 것 같다가도 종종 헷갈릴 때가 많다. 그래도 이론을 모두 공부해두고 프로그래밍 단계로 넘어가니 나름 할jaeseo0519.tistory.com ##############소켓 통신에서 사용한 소켓(Socket)과 스트림(InputStream, OutputStream)은 꼭 close 해줘야 합니다.💡 왜 close()가 필요할까?소켓 통신에서 Socket은 내부적으로:서버와 클라이언트 간의 연결(Connection)데이터 송수신용 InputStream, OutputStream을 관리합니다.이 연결과 스트림은 운영체.. 2025. 5. 8.
얕은복사/깊은복사, 스택/힙, 가비지컬렉션 https://zzang9ha.tistory.com/372 스택/힙스택은 정적 메모리 할당에 사용되며, 컴파일 시간에 크기가 결정됩니다. 함수 호출과 함께 로컬 변수가 저장되는 곳으로,함수가 종료되면 할당된 메모리가 자동으로 해제됩니다. 반면, 힙은 동적 메모리 할당에 사용되며, 프로그램 실행 중에 메모리 크기가 결정됩니다. 힙에 할당된 메모리는 개발자가 직접 관리해야 하며, 사용이 끝난 메모리는 명시적으로 해제해야 합니다  또한, 스택은 속도가 빠르고 메모리 관리가 간단하지만, 크기에 제한이 있습니다. 힙은 메모리 크기가 유동적이지만, 메모리 누수와 같은 문제를 주의해야 합니다.더보기1. 스택(Stack) 사용 예제스택은 함수 호출 시 로컬 변수를 저장하는 공간입니다. 자동으로 할당 및 해제되며, LI.. 2025. 2. 20.
Garbage Collection (1) Java 메모리 구조 이해Heap과 Stack의 차이   - https://www.youtube.com/watch?v=WnwGIsKedpgYoung Generation, Old Generation, Metaspace의 역할Minor GC, Major GC, Full GC의 개념더보기Java의 GC 종류 – Minor GC, Major GC, Full GC 차이점 정리JVM의 가비지 컬렉션(GC)은 객체를 효율적으로 관리하고 메모리를 최적화하는 중요한 역할을 합니다.GC는 Minor GC, Major GC, Full GC로 나뉘며, 각각 다른 영역에서 동작합니다.1. JVM Heap 구조먼저, GC가 동작하는 메모리 구조를 이해해야 합니다.markdown복사편집┌────────────────────.. 2025. 1. 31.
@Override의 의미 재정의된 메서드임을 명시:RowMapper 인터페이스는 mapRow라는 메서드를 정의하고 있습니다.이 메서드를 재정의(Override)해야 하는데, @Override를 붙이면 해당 메서드가 인터페이스의 메서드를 정확히 구현한 것임을 나타냅니다.컴파일러 확인:@Override를 사용하면 컴파일러가 부모 클래스나 인터페이스에 동일한 메서드가 있는지 확인합니다.만약 메서드 시그니처가 잘못되었거나 인터페이스/부모 클래스에 없는 메서드를 작성하면 컴파일 에러가 발생하여 실수를 방지할 수 있습니다.적용된 코드에서의 역할java코드 복사return jdbcTemplate.query(sql, new RowMapper() { @Override public MemoResponseDto mapRow(ResultSet rs,.. 2025. 1. 10.
stream에 대한 궁금증 ::new의 의미와 사용 방법Java에서 ::new는 메서드 참조(Method Reference) 중 하나로, 특정 클래스의 **생성자(Constructor)**를 참조하는 표현입니다. 이는 람다 표현식의 축약형으로 사용되며, 간결하고 가독성이 좋은 코드를 작성할 수 있도록 도와줍니다.문맥에서의 분석java코드 복사memoList.values().stream() .map(MemoResponseDto::new) .toList();이 코드의 흐름:memoList.values(): memoList라는 자료구조(아마도 Map)의 값들을 가져옴..stream(): 값들의 스트림(Stream)을 생성..map(MemoResponseDto::new): 스트림의 각 요소를 MemoResponseDto 생성자를 사용해 .. 2025. 1. 10.
java 튜토리얼 https://falkhausen.de/Java-8/index.html 2024. 11. 14.
private과 static 차이 https://semoa.tistory.com/645 java static과 private차이 re: java static과 private차이 iq_up 답변채택률77.8%2013.05.27 22:08 답변 추천하기 2 static과 private차이를 물으셨는데. 우선 static과 static이 아닌 것의 차이를 설명드리겠습니다. 1. static이 붙고 안붙은 변수 semoa.tistory.com 2023. 11. 24.
update 동적쿼리 https://devfunny.tistory.com/11 2023. 7. 6.
Spring Security / JWT / OAuth https://docs.spring.io/spring-security/reference/servlet/authentication/passwords/basic.html https://velog.io/@modsiw/Spring-Spring-Security%EC%99%80-JWT-%EA%B0%9C%EB%85%90 [Spring] Spring Security와 JWT 개념 Spring Security는 강력한 사용자 인증 및 Access 제어 framework이다. 이는 Java 애플리케이션에 인증 및 권한 부여를 제공하는데 중점을 두었으며 다양한 필터를 사용하여 커스터마이징이 가능하다.Spring velog.io https://jeonyoungho.github.io/posts/JWT%EC%99%80-OAuth.. 2023. 3. 2.
JDK 설치 및 경로 설정 https://gilu-world.tistory.com/34 Java 1.8 설치 및 환경변수 설정(JDK 1.8 - 8u341, 2022.09.19) 자바 환경변수 설정 안녕하세요. 이번 글에서는 자바를 사용하기 위해 가장 먼저 진행했어야 했던 JDK 환경변수를 설정하는 방법을 소개하도록 하겠습니다. 순서는 설치 그리고 환경변수 설정 gilu-world.tistory.com java -version Error : Upgrade Module SDK in project settings to 17 or higher https://crunchify.com/intellij-idea-project-module-and-latest-java-setup-java-17-or-newer/ IntelliJ IDEA Proj.. 2023. 1. 5.