Language/Java5 [Java] Serialization Spring 개발을 하다, 아래와 같은 에러를 만났다. Caused by: org.springframework.core.serializer.support.SerializationFailedException: Failed to serialize object using DefaultSerializer; nested exception is java.lang.IllegalArgumentException: DefaultSerializer requires a Serializable payload but received an object of type [com.b2narae.springboot.config.auth.dto.SessionUser] 결과적으로 직렬화를 해주지 않아서 발생한 문제인데, 그래서 직렬화에 대해.. 2021. 10. 2. [Java] synchronized Synchronized의 목적 동시에 여러 작업을 할 수 있는 multi-thread 프로그래밍에 대해 이해하는 것은 중요하다. 그러나, thread가 동일한 resource에 의도대로 access 할 수 있도록 보장되어야 한다. OS에서의 mutex, semaphore, critical section이나, DB의 데이터 무결성 (Integrity)도 분야는 다르지만 비슷한 개념이다. Java에서는 thread가 동일한 resource에 접근하는 것을 막기 위해 synchronized를 사용할 수 있다. Thread는 Class의 멤버 변수에 접근할 수 있다. 이는 멤버 변수가 heap에 저장되기 때문이다. (static으로 선언한 변수 -> static 메모리에 저장 / method의 로컬 변수 -> .. 2021. 9. 28. [Java] 제네릭이란? (Generic) 배열을 정렬할 때 사용하곤 하는 Arrays.sort ( ) 는 실제로 아래와 같이 작성되어 있다. 우리가 흔히 작성하는 Method의 형태와는 조금 달라 보인다. 익숙하지 않은 이유는 와 타입 변수에 모든 타입을 사용할 수 있음 2021. 8. 20. [Java] 람다 표현식이란? (Lambda Expression) 아래의 소스 코드는 sortedArray라는 2차원 배열을 정렬한다. 괄호와 화살표 등을 섞어서 쓰는 람다 표현식 (Lambda Expression) 덕분에 2차원 배열을 한 줄로 정렬할 수 있다. 그렇다면 람다 표현식은 무엇일까? int sortedArray[][] = new int[N][2]; Arrays.sort(sortedArray, (int x[], int y[]) -> x[0] - y[0]); // 2차원 배열 Sorting Lambda Expression (람다 표현식) : Functional Interface 구현에 이용되는 표현식 (※ Functional Interface : 오직 하나의 추상 메소드가 있는 인터페이스, 추상 메소드 게시글 참고) [표현 방법] "Parameter" -> .. 2021. 8. 17. 이전 1 2 다음