전체 글 (103) 썸네일형 리스트형 김영한의 실전 자바 기본편 - 5일차 자바 메모리 구조와 static자바의 메모리 구조는 크게 메서드 영역, 스택 영역, 힙 영역 3개로 나눌 수 있다.메서드 영역: 클래스 정보를 보관한다. ex) 붕어빵 틀 스택 영역: 실제 프로그램이 실행되는 영역이다. 메서드를 실행할 때 마다 하나씩 쌓인다.힙 영역: 객체(인스턴스)가 생성되는 영역이다. new 명령어를 사용하면 이 영역을 사용한다. ex) 붕어빵 틀로 부터 만들어진 붕어빵 메서드 영역 : 메서드 영역은 프로그램을 실행하는데 필요한 공통 데이터를 관리한다. 이 영역은 프로그램의 모든 영역에서 공유한다.클래스 정보: 클래스의 실행 코드, 필드, 메서드와 생성자 코드등 모든 실행 코드가 존재한다.static 영역: static 변수들을 보관한다.런타임 상수 풀: 프로그램을 실행하는데 필요한.. 김영한의 실전 자바 기본편 - 4일차 패키지패키지: 이름 그대로 물건을 운송하기 위한 포장 용기나 그 포장 묶음을 뜻한다.프로그램이 작고 단순해서 클래스가 몇개 없다면 상관없지만 매우 많은 클래스가 등장 하게 된다면 관련 있는 기능들을 분류해서 관리해야 한다. 패키지를 사용하는 경우 항상 코드 첫줄에 package test 과 같이 패키지 이름을 적어주어야한다.같은 패키지에 있는 경우에는 패키지 경로를 생략해도된다.패키지가 다르면 패키지 전체 경로를 포함해서 클래스를 적어주어야 한다. 패키지 - import패키지가 다르다고 항상 전체 경로를 적어주는 것은 불편하다. 이때는 import를 사용하면 된다. package pack;import pack.a.User;public class PackageMain2 { public static .. 김영한의 실전 자바 기본편 - 3일차 객체 지향 프로그래밍 절차지향 프로그래밍절차 지향 프로그래밍은 이름 그대로 절차를 지향한다. 실행 순서를 중요하게 생각하는 방식이다.절차 지향 프로그래밍은 프로그램의 흐름을 순차적으로 따르며 처리하는 방식이다. 객체지향 프로그래밍객체 지향 프로그래밍은 이름 그대로 객체를 지향한다. 객체를 중요하게 생각하는 방식이다.객체 지향 프로그래밍은 실제 세계의 사물이나 사건을 객체로 보고, 이러한 객체들 간의 상호작용을 중심으로 프로그래밍하는 방식이다. 객체지향을 좀 더 쉽게 이해하기 위해 절차지향에서 객체지향으로 점진적 코드를 변경하는 실습을 진행해봤다.음악플레이어 라는 예시로 소스를 작성했다. public class MusicPlayerMain1 { public static void main(String[.. 김영한의 실전 자바 기본편 - 2일차 기본형과 참조형 기본형int, long, double, boolean 처럼 변수에 사용할 값을 직접 넣을 수 있는 데이터 타입참조형Student student1, int[] students 와 같이 데이터에 접근하기 위한 참조(주소)를 저장하는 데이터 타입기본형 변수에는 직접 사용할 수 있는 값이 들어있지만 참조형 변수에는 위치(참조값)가 들어가 있다.기본형 변수는 null을 할당할 수 없다.기본형 변수는 산술 연산을 수행할 수 있지만, 참조형 변수는 산술 연산을 수행할 수 없다. String자바에서 String은 특별하다. String은 클래스고 참조형이다. 하지만 기본형처럼 문자 값을 바로 대입할 수 있다.문자는 매우 자주 다루기 때문에 자바에서 특별하게 편의 기능을 제공한다. 기억할것자바는 항상 .. 김영한의 실전 자바 기본편 - 1일차 클래스클래스에 정의한 변수들을 멤버 변수, 또는 필드라 한다.멤버 변수 : 특정 클래스에 소속된 멤버이기 때문에 멤버변수라 부른다.필드 : 데이터 항목을 가리키는 전통적인 용어클래스는 관례상 대문자로 시작하고 낙타 표기법을 사용한다.EX) Student, User, UserService 클래스를 사용해서 실제 메모리에 만들어진 실체를 객체 또는 인스턴스라 한다. 객체 생성Student student1student1 = new Student() new Student 는 새로운 객체를 생성한다는 뜻이다. 이렇게 하면 메모리에 실제 Studenmt 객체를 생성한다.메모리 공간을 확보할때 클래스에 멤버 변수를 사용하기 위해 확보한다.객체를 생성하면 자바는 메모리에 어딘가에 있는 이 객체에 접근할 수 있는 참조값.. @Async 어노테이션 @Async 어노테이션 이란 ?@Async 어노테이션은 스프링 프레임워크에서 비동기 처리를 위해 제공하는 어노테이션이다.이 어노테이션을 메소드에 붙이면 스프링은 해당 메소드를 비동기적으로 실행한다.@Async 어노테이션을 이해하기 위해서는 스프링의 AOP 와 스레드 풀의 개념을 알아야 한다. 스프링에서 @Async 를 사용하기 위해서는 @EnableAsync 어노테이션을 설정 클래스에 추가해야한다.이 설정을 통해 스프링은 비동기 작업을 위한 설정을 활성화하고, AsyncTaskExecutor 인터페이스의 구현체를 사용하여 비동기 작업을 처리한다. @EnableAsync 어노테이션을 통해 스프링이 비동기 처리를 위한 프록시 객체를 생성하고, 이를 통해 실제 메소드 호출을 비동기적으로 처리하기 때문이다.기.. MSSQL ROWCOUNT @@ROWCOUNT 란 ?쿼리 실행문 실행 후 영향을 받은 로우의 수를 반환별도 초기화하지 않으면 계속 유지select, update, delete등 쿼리에서 사용 가능 UPDATE 테이블명 SET ITEM_NAME = 아이템명 WHERE ITEM_CODE = 아이템코드IF @ROWCOUNT = 0 BEGIN INSERT INTO 테이블명 (아이템코드,아이템 명 ) VALUES (아이템코드, 아이템명) END 실습현재 상품 테이블에 특정 조건으로 데이터를 조회하면 데이터가 나오지 않는다. SELECT * FROM TB_SMS_ITEMS WHERE ITEM_CODE = 'ITEM1'; 실행 결과 UPDATE TB_SMS_ITEMS SET ITEM_NAME_KOR = '테스트1' WHERE .. Redis - Spring Boot 와 연동 Redis 데이터 조회먼저 테스트 데이터를 넣었다. json 배열에 2개의 json 형식의 데이터가 들어있다. RedisSample.java @GetMapping("/redis/list") public String selectRedisList() throws Exception { String key = "TEST_REDIS_USER"; ListOperations listOperations = redisTemplate.opsForList(); Long size = listOperations.size(key); JSONParser parser = new JSONParser(); if(size > 0){ for(int i.. 이전 1 2 3 4 ··· 13 다음