2023/09/09 2

[프로그래밍] Thread with Java

해당 내용은 인프런의 즐거운 자바 를 보고 정리한 내용입니다! 병렬화 할 때 고려해야 할 것들 메모리의 속도 CPU 캐시 메모리 디시크 네트워크 컨넥션 순차적 실행이 병렬실행보다 빠른 경우도 있다. 동시 실행에 따라는 오버헤드가 없고, 단일 CPU 알고리즘은 하드웨어 작업에 더 친화적일 수 있기 때문이다. 암달의 법칙(Amdahl's Law) 병렬 컴퓨팅을 할 경우, 일부 병렬화 가능한 작업들은 사실상 계산에 참여하는 컴퓨터의 개수에 비례해서 속도가 늘어난다. 이러한 경우 암달의 법칙에 의해서 전체 수행시간의 개선 효과는 병렬화가 불가능한 작업들의 비중에 크게 영향을 받게 된다. 아무리 컴퓨터의 개수가 늘어나더라도 속도의 한계는 정해져있다. 병렬 VS 병행 병행(Concurrent)은 멀티스레드 프로그래..

[객체지향] 4가지 특징

해당 내용은 인프런의 즐거운 자바 를 보고 정리한 내용입니다!  객체지향객체지향 프로그래밍은 내가 만들 객체들이 메모리에 올라간 후, 어떻게 서로 관계를 맺고 동작할 지가 정리돼야 할 수 있다. 엘런 커티스 케이는 객체 지향의 핵심은 "메시징"이라고 했다. 훌륭하고 성장 가능한 시스템을 만들기 위한 핵심은 모듈(클래스) 내부의 속성(필드)과 행동(메서드)이 어떤가보다 모듈이 어떻게 커뮤니케이션하는가에 달려있다.즉, 객체들 간에 커뮤니케이션이 일어난다는 의미이다. 그렇다면 메시징은 무엇인가?어떤 객체가 다른 객체의 메소드를 어떻게 호출하는 것을 우리는 메시징이라고 한다. 객체지향 프로그래밍을 한다는 것은 메소드가 언제 호출되고, 어떻게 호출되고, 메소드의 이름은 어떻게 지어야하는지 어떻게 호출해야하는지 고..