분류 전체보기141 의존성주입 스프링 프레임워크에 의존성 주입은 3가지 정도 로 정리할수 있습니다 생성자 기반 세터(수정자) 기반 필드 어떠한 생성자나 수정자가 없다면 필드에 리플렉션을 통해 직접주입하는 것도 가능합니다 생성자 @Controller public class Controller { public final Service service; @Autowired//클래스의 생성자가 하나이고, 그 생성자로 주입받을 객체가 빈으로 등록되어 있다면 @Autowired를 생략 할 수 있습니다. public Controller(Service service) { this.service = service; } } 생성자에 @Autowired를 붙여 의존성을 주입받을수 있습니다 Spring4.3이후로는 클래스 내 생성자가 하나이고, 그 생성자로.. 2023. 2. 27. 스트림 Collection이나 Iterator 같은 인터페이스를 이용해서 컬렉션을 다루는 방식을 표준화 했지만, 각 컬렉션 클래스에는 같은 기능의 메서드들이 중복해서 정의되어 있습니다. List를 정렬할 때는 Collection.sort()를 사용해야하고, 배열을 정렬할 때는 Arrays.sort()를 사용해야 합니다. JDK1.8 부터 다양한 데이터 소스를 표준화된 방법으로 다루기 위해 나온 것이 Stream 입니다. 스트림은 너무 양이 많아 그냥 쓸때마다 찾아와서 쓰는 용도로 작성했습니다. 1.스트림 만들기 2.중간연산(0~n번) 3.최종 연산(1번) // 정렬된 결과의 새로운 List에 담아서 반환한다. // 기존 String[] strArr = {"aaa", "bbb", "ccc"}; List strLi.. 2023. 2. 26. 람다식 메서드를 하나의 식으로 표현한 것이며 람다식은 함수를 간략하면서도 명확한 식으로 표현할 수 있게 해줍니다. 메서드를 람다식으로 표현하면 메서드의 이름과 반환값이 없어지므로, 람다식을 익명함수 이라고도 합니다. int[] arr = new int[5]; Arrays.setAll(arr,(i)->(int)(Math.random()*5+1); 근본적으로 동일,함수는 일반적인 용어, 메서드는 객체지향개념용어 입니다 함수 클래스(독립적), 메서드는 클래스 (종속적) 입니다. int max(int a,int b){ return a>b? a:b; } (int a , int b){ return a>b ? a: b;//람다식 } 반환 값이 있는 메서드의 경우,return문 대신 식(expression)으로 대신 할 수 .. 2023. 2. 25. 프로세스와 쓰레드 프로세스 실행중인 프로그램 프로그램을 실행하면OS로 부터 실행에 필요한 자원(메모리)을 할당받아 프로세스가 됩니다. 모든 프로세스에는 최소 하나 이상의 쓰레드가 존재합니다 둘이상의 쓰레드를 가진 프로세스를 '멀티쓰레드 프로세스' 라고 합니다. 프로세스가 가질 수 있는 쓰레드의 개수는 제한되 었지 않습니다 메모리 공간(호출스택)을 필요로 하기 때문에 메모리 한계에 따라 생성할 수 있는쓰레드의 수가 결정됩니다. 멀티쓰레딩의 장점 cpu의 사용률을 향상시킵니다 자원을 보다 효율적으로 사용할 수 있습니다 사용자에 대한 응답성이 향상됩니다 작업이 분리되어 코드가 간결해집니다. 멀티쓰레딩의 단점 프로세스 내에서 자원을 공유하면서 작업하기 때문에 발생할 수 있는 동기화,교착상태,기아(굶어죽는거)같은 문제들을 고려해야.. 2023. 2. 24. 이전 1 ··· 22 23 24 25 26 27 28 ··· 36 다음