Language
-
자바의 Stream이란?Language/JAVA 2022. 11. 29. 14:13
스트림(Stream)이란 자바 8 에서 추가된, 람다를 활용하는 기술이다.람다식이란, 함수형 인터페이스의 구현 객체를 간결하게 표현하는 표현식이다. List list = List.of("귀여운", "고양이");// arr를 오름차순으로 정렬Collections.sort(arr, (s1,s2) -> s2.compareTo(s1))자바 8 이전에는 컬렉션을 다룰 때 for문을 통해 다뤄야했기 때문에 로직이 복잡해 질 수록 여러 로직이 섞이면서 가독성이 떨어지는 문제가 있었는데, 이러한 문제들을 해결할 수 있게 되었다.스트림은 다음과 같은 특징이 있다.데이터 소스를 추상화하여 데이터를 다루는 방법들을 공통화하였다.List의 정렬은 Collections.sort()를 사용하고, Array를 정렬 할 때에는 A..
-
자바의 직렬화(Serialization)란?Language/JAVA 2022. 11. 29. 13:10
자바의 직렬화란? 객체의 상태를 바이트배열과 같은 바이트 스트림으로 만드는 기법라고 할 수 있다.사용 되는 경우는 객체의 상태를 영속해야 할 필요가 있을 때 사용한다. 여기서 객체가 영속되는 곳은 캐시와 같은 메모리에 저장할 수도 있고, DB나 파일일 수도 있다. 또한 다른 VM에 전송해야 할 때 바이트 스트림으로 변환해서 전송할 때 사용된다.직렬화된 객체는 바이트 스트림(이진 데이터)으로 저장되며, 파일이나 네트워크로 전송될 수 있다.사람이 읽을 수 있는 형식이 아니며, 바이트 단위로 객체의 상태와 정보가 저장된다. 사용 방법 영속화하고자 하는 클래스에 Serializable 인터페이스를 implements하면 된다. 직렬화가 잘 사용되지 않는 이유? 보안 직렬화 시 byte[] 형식의 값을 ..