일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- codingtest
- security
- gradle
- 시큐리티 로그인
- javascript
- 프로그래머스
- 코딩테스트
- css
- programmers
- 스프링 부트
- 소스트리
- Spring boot
- 2차원배열
- 로그인
- JAVA11
- java
- springSecurity
- springboot
- 반복문
- Linux
- sql
- 시큐리티 로그아웃
- 시큐리티
- html
- 목록
- 시큐리티로그인
- 리눅스
- StyleSheet
- 싱글톤
- input태그
- Today
- Total
목록lectureNote/JAVA (14)
JAVAIARY

🔗1. 비동기 적용하기 🔗 2. 비동기 커스텀 1. 비동기 적용하기 SpringBoot 프로젝트에서는 @EnableAsync 어노테이션을 이용해서 간단하게 비동기를 구현할 수 있다. 비동기를 적용하는 방법에는 2가지가 있다. 1. SpringBootApplication 에 @EnableAsync 어노테이션 사용하기 2. AsyncConfig 작성 (+@EnableAsync) 추가로 원하는 메서드에 @Async 어노테이션을 달아주면 해당 메소드가 비동기로 작동하게 된다. 1) SpringBootApplication에 @EnableAsync @EnableAsync @SpringBootApplication public class MyApplication { 어플리케이션에 @EnableAsync 를 사용하는 것..

나는 Queue를 먼저 접했어서 두 가지가 굉장히 헷갈렸었다. Stack을 먼저 배우면 Queue는 따라오는 거라 외우기 더 쉬울 것 같다는 생각이 든다. Stack & Queue : 데이터의 추가와 삭제가 단방향으로만 이루어짐 DeQueue : 데이터의 추가와삭제가 양방향에서 가능 1. Stack (바구니, 후입선출 - Last In First Out, LIFO - ) 말 그대로 데이터를 쌓는 자료구조 쌓는 구조이기 때문에 아래에 있는 데이터를 꺼내려면 위에있는 데이터를 먼저 꺼내야 함 배열로 만드는 것이 유리 1) 메서드 메서드 설명 boolean empty() 비어있는지 확인 Object peek() Stack의 맨 위에 저장된 객체 반환(삭제 X) Object pop() 맨 위에 저장된 객체를 꺼..

1. 컬렉션 프레임워크 객체(데이터)를 저장하는 클래스들을 표준화한 설계 -> 쉽게 말해 제공해주는 저장 형식 컬렉션을 쉽고 편리하게 다룰 수 있는 다양한 클래스를 제공 장점 : 생산성 향상, 유지보수가 쉬움 2. 핵심 인터페이스와 메서드 1) 인터페이스의 종류 List (Collection) 순서가 있는 데이터의 집합. 중복 가능 ArrayList, LinkedList, Stack, Vector Set (Collection) 순서가 없는 데이터의 집합. 중복 불가 양의 정수 집합, 소수의 집합 Map 키(key), 값(value) 쌍으로 이루어진 데이터의 집합 키의 중복 불가 HashMap, TreeMap, Hashtable, Properties... 💡List와 Set은 공통된 부분이 있어 Colle..

1. 2차원 배열 수학시간에 배웠던 행렬 또는 엑셀이라고 생각하면 편하다. x행, y열 형태로 주어진다. 크기가 [x][y]인 배열의 형태 [0][0] [0][1] [0][2] ... [0][y] [1][0] [1][1] [1][2] ... [0][y] [2][0] [2][1] [2][2] ... [0][y] ... ... ... ... [0][y] [x][0] [x][1] [x][2] ... [x][y] 2. 배열의 선언과 초기화 2-1. 2차원 배열 선언 1차원 배열과 마찬가지로 타입과 변수명만 선언 가능 혹은 배열의 크기를 함께 지정 가능 2-2. 2차원 배열의 초기화 배열의 선언과 초기화를 한 번에 지정해주는 방법 중괄호 {} 를 통해 배열의 크기를 , 내부 값을 통해 초기화를 해줌 이미 크기가 ..

Garbage Collector 1. GC 운영체제의 메모리 영역에 접근하여 메모리를 관리하는 프로그램 동적으로 할당한 메모리 영역(Heap) 중 사용하지 않는 영역을 탐지하여 해제하는 기능 2. stop-the-world GC를 실행하기 위해 JVM 이 애플리케이션 실행을 정지하는 것 GC 실행 스레드 외 모든 스레드의 작업 중단 GC의 종류에 따라 소요시간이 다름 3.작동 순서 (Mark and Sweep) GC가 Stack의 모든 변수를 스캔하며 각각 어떤 객체를 참조하고 있는지 찾아 마킹(Mark) Reachable Object가 참조하고있는 객체도 찾아서 마킹 (Mark) 마킹되지 않은 객체(Unreachable)를 Heap에서 제거한다. (Sweep) Sweep 후에 분산된 객체들을 Heap의..

자바의 특징 객체 지향 언어 자동 메모리 관리(GC) 멀티 스레드 지원 (동시에 여러 작업 가능) 라이브러리 多 운영체제에 독립적 (JVM) JVM (자바 가상 머신 , Java Virtual Machine) 자바 프로그램이 실행되는 가상 컴퓨터 OS 위에서 바로 실행되지 않고, 자바가상머신 위에서 실행되기 때문에 OS에 독립적임 JDK (Java Development Kit) 자바에서 제공되는 개발용 라이브러리 (개발 도구) 자바 개발시 필요 JRE (Java Runtime Environment) 자바 프로그램이 실행되는 환경 자바 프로그램 실행시 필요 자바의 메모리 사용 영역 메소드 영역 JVM을 시작할 때 생성 로딩된 클래스 바이트 코드 내용을 분석 후 저장 모든 스레드가 공유 힙 영역 JVM을 시..
https://javaiary.tistory.com/58 프로그래머스) lv.2 올바른 괄호 문제: https://school.programmers.co.kr/learn/courses/30/lessons/12909 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 javaiary.tistory.com 문제를 풀면서 문자열을 하나씩 비교해야 할 일이 생겼는데 str.charAt(i) == "n" charAt() 함수를 사용할 경우 char 타입으로 변환이 되어 String(문자열)과는 비교연산이 되지 않는다. .equals() 함수는 String 타입만 사용할 수 있는 함수이기 때문에 사용불가 그래서 어떻게 하면 "n"을 c..
1. 스태틱(static) 1) static변수, static 메서드는 메서드 영역에 저장되며, 프로그램 시작 전에 로드되고(이미 메모리에 올라가 있고) 프로그램 종료 시 소멸됨. 2) 코드가 메서드 영역에 다 로딩되면 그 중에서 static으로 지정된 변수와 메서드는 메서드 영역 내 스태틱 영역으로 옮겨짐. 2. static 변수 1) 여러 인스턴스에서 공통으로 사용하는 변수가 필요한 경우 - 여러 인스턴스가 공유하는 기준 값이 필요한 경우(중복방지) - 학생마다 새로운 학번 생성 - 카드회사에서 카드 새로 발급할 때마다 새로운 카드 번호를 부여 - 회사에 사원이 입사할 때 마다 새로운 사번이 필요한 경우 2) 어떤 객체에서도 접근해서 사용할 수 있음 - 전역(global) 변수 - 클래스 변수, 정적..