개발놀이터

2023-02-18 영어공부 본문

기타/영어공부

2023-02-18 영어공부

마늘냄새폴폴 2023. 2. 25. 15:37

Maps are naturally one of the most widely style of Java collection
Map은 기본적으로 Java Collection 중 가장 대중적인 것 중 하나이다. 

And, importantly. HashMap is not a thread-safe implementation. while Hashtable does provide thread-safety by synchronizing operations.
그리고 중요하다. Hashtable은 synchronizing 동작을 이용해 thread-safety 한 반면에 HashMap은 thread-safe 하지 않은 구현체이다. 

Even though Hashtables is thread safe. it is not very efficient. Another fully synchronized Map. Collections.synchronizedMap. does not exhibit great efficiency either. If we want thread-safety with high throughput under high concurrency. 
Hashtable은 thread safe 하지만 매우 효율적이지 못하다. 또다른 완벽히 synchronized Map인 Collections.synchronizedMap 은 매우 비효율적인건 마찬가지이다. 만약 우리가 thread-safety를 원한다면 (with high throughput under high concurrency)
-with high throughput under high concurrency 이 부분 해석이 안됨

To solve the problem. the Java Collections Framework introduced ConcurrentMap in Java 1.5
문제를 해결하기 위해서 Java Collection Framework중 하나인 ConcurrentMap을 소개한다. 

ConcurrentMap is an extension of the Map interface.
ConcurrentMap은 Map interface의 확장이다. 

It aims to provides a structure and guidance to solving the problem of reconciling throughput with thread-safety
이것(ConcurrentMap)은 thread-safety를 위해 throughput을 조정하는 문제를 해결하기위한 구조 혹은 가이드를 제공하기위한 목적으로 설계되었다. 
-reconciling : 화해시키다, 융화시키다, 조정하다, 중재하다 인데 위의 문장에서 어떤방식으로 해석해야 하는지 모르겠음

By overriding several interface default methods.
몇몇 interface의 default method를 overriding 함으로써

ConcurrentMap gives guidelines for valid implementations to provide thread-safety and memory-consistent atomic operations.
ConcurrentMap은 thread-safety와 메모리가 일관적인 원자성 실행을 제공하기위한 적절한 구현체를 제공합니다.

ConcurrentHashMap is the out-of-box ready ConcurrentMap implementation.
ConcurrentHashMap은 ConcurrentMap의 구현체로 준비된 out-of-box(?)입니다. 
-ready도 해석이 애매하고 out-of-box는 또 뭐야?

For better performance. it consists of an array of nodes as table buckets (used to be table segments prior to Java8) under the hood. and mainly uses CAS operations during updating.
더 나은 방식으로는. 이것(ConcurrentHashMap)은 hood(?)아래 테이블 버킷 (주로 Java8에서 사용되는 테이블 조각들)으로 노드들의 배열로 구성되어있습니다. 그리고 업데이트동안 CAS 방식을 주로 사용하죠. 
-hood : 두건 ...?
-as를 어떤 방식으로 해석해야 하는지 잘 모르겠다. 

The table buckets are initialized lazily. upon the first insertion
테이블 버켓들은 첫 삽입보다 늦게 초기화됩니다. 
-upon 은 무슨 느낌인지 잘 모르겠음

Each bucket can be independently locked by locking the very first node in the bucket.
각각의 버킷들은 버킷안에서 very(?) 첫번째 노드를 잠금으로써 독립적으로 잠글 수 있다. 
-very 는 강조...?
-영어 수업시간에 the very는 강조라고 했던게 기억나는데 가물가물...

Read operations do not block. and update contentions are minimized.
읽는 작업은 블록이 아니다. 그리고 업데이트 contention은 최소화 된다. 

--------contention 의 뜻이 '논쟁' 인것으로 미루어 봤을 때 전문용어라고 판단 구글링을 해봤다--------
In computer science, resource contention is a conflict over access to a shared resource such as random access memory, disk storage, cache memory, internal buses or external network divices. 
컴퓨터 사이언스에서 리소스 contention은 리소스를 공유하는 접근과 충돌하는 것이다. 예를 들어서 랜덤하게 메모리에 접근한다던가, 디스크 저장소, 캐시 메모리, 내부적인 bus 혹은 외부적인 네트워크 디바이스들
-contention : 투쟁, 전투, 분쟁, ~와 충돌하다. -> ~와 충돌하다 이 해석이 맞는듯
------------------------------------------------

The number of segments required is relative to the number of threads accessing the table so that the update in progress per segment would be no more than one most of time.
요구되는 조각들의 수는 테이블에 접근하는 스레드의 수와 연관있다. so that(?) segment 마다 실행되는 업데이트는 더이상 가장 오래 걸리는 시간이 아니다. 
-no more than 은 더이상 이라고 해석했고, on most of time 이 좀 애매

ConcurrentMap guarantees memory consistency on key/value operations in a multi-threading environment.
ConcurrentMap은 멀티스레딩 환경에서 키/밸류로 동작하는 메모리 일관성을 보장한다. 

Actions in a thread prior to placing an object into a ConcurrentMap as a key or value happen-before actions subsequent to the access or removal of that object in another thread
(동사 못찾겠음)
-prior to : ~에 앞서
-동사가...뭐에요..?

'기타 > 영어공부' 카테고리의 다른 글

2023-02-25 영어공부  (0) 2023.02.25
2023-02-23 영어공부  (0) 2023.02.25
2022-08-30 영어공부  (0) 2022.08.30
2022-08-24 영어공부  (0) 2022.08.24
2022-08-23 영어공부  (0) 2022.08.23