java

Record는 Java14 부터 도입되고 16부터 class처럼 타입으로 사용이 가능해졌습니다. final로 구성되기에 VO로 많이 사용되는 방식입니다. 정의 방법 불변 데이터 객체로 Person을 정의하면 아래와 같이 정의 해야합니다. public class Person { private final String name; private final String address; public Person(String name, String address) { this.name = name; this.address = address; } @Override public int hashCode() { return Objects.hash(name, address); } @Override public boolean ..
멀티테스킹 OS에서는 멀티 테스킹을 지원합니다. Linux, Windows 등이 모두 이에 해당되죠. 즉, 한 컴퓨터에서 인터넷 검색, 노래 듣기, 게임을 동시에 할 수 있는 것이죠 그럼 어떻게 많은 작업을 동시에 처리할 수 있을까요? cpu 성능이 좋지 않으면 동시에 처리하는 기능이 떨어지는 걸까요? 게임과 같이 처리량이 많은 업무를 할때, 다른 업무를 많이 처리하게 한다면 동시에 처리되지 않고 버벅이거나 게임할 때 자막이 잘 나오지 않는 것 그런것들 모두 이것과 관련이 있습니다. 실제로 동시에 처리될 수 있는 프로세스의 개수는 CPU 코어의 개수와 동일합니다. 이보다 많은 개수의 프로세스가 존재하기 때문에 모두 함께 동시에 처리할 수는 없습니다. 각 코어들은 아주 짧은 시간에 여러 프로세스를 번갈아가..
Java를 하는 개발자로써 개발 환경마다 java의 버전이 다르다면, 이에 대해서 정확하게 구분할 줄 알아야합니다. 그래서 java 버전에 따라 어떤 차이점이 있는지 구분해 보았습니다. 어떤 서비스를 많이 사용하는가? jetbrain에서 조사한 바에 따르면 java8이 아직 많은 개발에 사용되고 있지만 21년 기준 java 17의 사용이 월등히 많이 늘었다는 것을 비교해 볼 수 있습니다. (참고 : jetbrain 분석 ) 그리고 java의 서비스 종료 기간도 확인해보면 8은 2030까지 지원하고, 17이 8과 비슷한 것을 알 수 있습니다. 아마 서비스 기간때문에 더 8과 17을 많이 사용하지 않을까 생각합니다. 그리고 최근 17을 많이 사용하게 된 이유는 2022년에 출시된 Spring Boot 3.0..
Casting은 변수가 원하는 정보를 모두 갖고 있는 것을 의미합니다. 너무 추상적인가요? 예를 들어 int a = 0.1; int b = (int) true; 위 처럼 int에 0.1을 할당하면 에러가 납니다. 이는 int에 0.1을 할당할 수 없으며, true와 같은 boolean 타입을 int 로 캐스트가 불가하다는 것을 의미합니다. 즉, int라는 클래스는 4byte 크기의 메모리에 넣을 수 있는 정수만 가능하다는 것입니다. 그럼 캐스트는 왜 사용하는 것일까요? 첫 번째는 다형성입니다. 오버라이딩된 함수를 분리해서 활용할수 있습니다. 두 번째는 상속입니다. 캐스팅을 통해 범용적인 프로그래밍이 가능합니다. 그럼 형변환의 종류에 대해 알아보겠습니다. 간단하게 말하면, 상속 관계에 있는 부모와 자식 클..
시이지
'java' 태그의 글 목록 (2 Page)
상단으로