공부 152

[JAVA] 변수와 메모리

>>전역변수클래스의 멤버변수클래스의 객체를 생성할 때 메모리에 생성HEAP 메모리에 생성변수의 초기화 지원(초기화 할 필요 없음)GC에 의해 메모리 소멸 >>지역변수메서드 수행시 메모리에 생성STACK메모리에 생성초기화가 안되므로 초기화 후 사용 가능메소드 종료시 메모리에서 소멸 ---------------------------------------------------------------------------->>메모리 영역의 종류 - 상수영역프로그램의 소스코드에 사용된 상수를 저장하는 메모리 공간. (new 키워드로 만들어진건 이 공간에 저장되지 않음.)문자열 변수의 경우 상수영역을 사용해 값을 참조 >>메모리 영역의 종류 - STATIC 영억static 메소드, 변수를 저장하는 메모리 영역프로그램..

공부/JAVA 2016.03.23

[Spring] CHAPTER 05 비즈니스 로직 층의 설계와 구현

비즈니스 로직 층 : 업무처리를 하는 곳. 비즈니스 로직과 밀접한 관계가 있는 트랜잭션 처리는 비즈니스 로직 층에서 잘 대응해야 한다. 5.1 웹 어플리케이션의 트랜잭션1) 롱 트랜잭션(약한 결합 트랜잭션) : 여러 요청에 걸친 트랜잭션으로 ex) 영화예매 (영화관 검색, 자리선택및 요금결제 - 은행에서 돈 인출 )2) 쇼트 트랜잭션(밀결합 트랜잭션): 하나의 요청 안에서 트랜잭션 처리를 하는 것 ex) 주문확정(발주 테이블 갱신, 고객 테이블 갱신, 재고 테이블 갱신) 5.1.3 AOP를 이용한 트랜잭션 처리만약 JDBC를 이용한다면 커넥션을 서비스와 DAO에서 공유해야 하므로 인수를 넘겨줘야 하는 등의 대응이 필요하지만 AOP를 사용하면 그럴 필요가 없다.스프링이 제공하는 트랜잭션 매니저와 트랜잭션 ..

공부/Spring 2016.03.23

[JAVA] 공부 변수랑타입

자바란 .. 1. 객체지향언어 2. 함수형프로그래밍을 지원 - 자바8버전부터 지원 (함수형 프로그래밍은 최근 다시 부각되고 있는데 대용량 데이터의 병렬 처리 그리고 이벤트 지향 프로그래밍을 위해 적합함. 자바8부터는 람다식을 사용할 수 있는데 이를 사용해 컬렉션의 요소 필터링, 매핑, 집계 처리가 쉬워지고 코드가 매우 간결해진다.) 3. 메모리를 자동으로 관리한다. -- 가비지 컬렉터가 4. 멀티스레드를 쉽게 구현할 수 있다. (??) 5. 동적 로딩을 지원한다 -> 유지보수가 발생하더라도 해당 클래스만 수정하면 되므로 전체 애플리케이션을 다시 컴파일할 필요가 없다. 따라서 유지보수가 쉽고 빠르게 진행할 수 있다. 6. 막강한 오픈소스 라이브러리가 풍부하다. JVM ..자바 버추얼머신 플랫폼에 상관없이 ..

공부/JAVA 2016.03.16

[Spring] CHAPTER 04 데이터 엑세스층의 설계와 구현

이 책을 홍보하는건 아니지만 쭉 읽어가다 궁금한 부분이 생기면 '다음장에 자세히 설명되있다' 라든지 비슷한 문구들이 있어 믿는구석이 생겨 그냥 읽어나가는데 큰 벽이나 문제점이 생기지 않는듯하고 또 중간중간에 호기심을 자극하는 여러 요소들이 있어 책의 내요에 대한 흥미를 떨어뜨리지 않게 도와주는것 같다.ㅋㅋㅋ ---------------------------------------------------------------------------------------------------------------------------------------------- 4장 데이터 액세스층의 설계와 구현 데이터 액세스층의 역할은 앞서 말했듯이 DB의 접속과 SQL 발행같은 데이터 액세스 처리를 (가장 중요한 역할을..

공부/Spring 2016.02.24

[Spring] CHAPTER 03 스프링의 AOP

DIxAOP 컨테이너의 AOP (Aspect oriented programming .. 관점지향 프로그래밍) DI 컨테이너를 이용하는 것 만으로는 컴포넌트 내부의 오브젝트에 손을 쓸 수 없다. Aop를 이용하면 로그처리, 예외처리, 트랜잭션 처리 등 오브젝트 안에 있는 공통된 처리를 제거 할 수 있다. 이로인해 소스의 가독성이 올라가고 테스트하기 용이해진다. AOP는 공통화해서 라이브러리화 할 수 있는 처리를 그 오브젝트에서 분리해서 별도의 오브젝트로 구현하는 기술이다! AOP의 용어 (한번 보고 이해가 완벽히 되지 않았지만 아래 내용들을 보고나서 한번 더 보니 조금은 이해가 갔다!) 횡단관심사 본질적은 처리 이외의 처리(로그,예외 등)를 말하는듯함.. 애스팩트 횡단관심사의 동작과 그 횡단관심사를 적용하..

공부/Spring 2016.02.23

[Spring] CHAPTER 02 스프링의 DI

DI (의존관계주입, Dependency Injection) 오브젝트가 이용할 오브젝트를 이용하는 것 오브젝트 사이에 의존관계를 만드는 것. 이외에도 생애주기와 관련된 기능이 있다. ex) main에서 service를 new 로 생성 -> service에서 Dao를 new로 생성했떤 과정을 DI컨테이너가 해주므로 new 연산자가 사라짐. 인터페이스와 DI 사용의 장점 클래스 기능 추가, 변경시 다른 클래스에 미치는 영향 범위를 최소화함 → 개발효율 증대와 확장 용이 (부품화의 장점) DI컨테이너는 클래스를 단 한번 인스턴스로 만들고 필요에 따라 재사용하는 싱글톤을 구현해줌. 부품화의 특성을 살려 Interface와 함께 구현된 애플리케이션↓ 어노테이션을 이용한 DI 스프링은 크게 Bean 정의 파일을 사..

공부/Spring 2016.02.17

[Spring] CHAPTER 01 스프링과 웹 어플리케이션 살펴보기

한빛미디어 스프링3 입문이란 책을보며 공부한 내용을 블로그에 포스팅하려고 합니다.>> 스프링의 등장은 J2EE가 점점 무거워지며 웹 어플리케이션 개발에 좀 더 가벼운 컨테이너를 이용하기 위해 경량급으로 고안된 프레임워크. 하지만 요즘엔 기능과 제품이 더해져서 더이상 경량이라고 안부른다고 함. 경량컨테이너 POJO(plain old java Object) 컨테이너나 프레임워크 등에 의존하지 않는 일반 오브젝트의 생애주기 관리나 오브젝트간에 의존관계를 해결해주는 아키텍처를 구현하는 컨테이너를 말함. 애플리케이션 아키텍처 애플리케이션 전체의 구조, 매커니즘으로 정의됨. 시스템의 어플리케이션이 공통으로 이요할 수 있는 사용자 인터페이스 구조나 DB접근방식등 시스템의 기반이 되는 부분을 말함. 웹 애플리케이션의 ..

공부/Spring 2016.02.16