알고리즘과 언어/java
-
Java는 모두 call by value다?알고리즘과 언어/java 2022. 3. 23. 05:26
얼마 전 개발자 형에게 Java가 모두 call by value라는 이야기를 들었다. C/C++에 익숙했던 나는 이해가 되지 않았다. 'Call by reference가 없으면 어떻게 내부의 값을 변경하지?' 'Java에서도 분명 함수로 주소값을 주고 받을 일이 있을텐데..' 등등 다양한 의문이 생겼다. 우선, 간단한 Swap에 대해서 찾아봤다. 자바는 포인터가 없어 간단한 Swap 구현 코드도 복잡하다. 1. 배열을 이용하는 방법 public class Main { public static void swap(int[] arr) { int temp = arr[0]; arr[0] = arr[1]; arr[1] = temp; } public static void main(String[] args) { int..
-
ConcurrentHashMap알고리즘과 언어/java 2022. 1. 15. 01:33
* 다른 블로거들의 글들을 요약정리한 글입니다. 아래 url을 남겨놓았습니다. * ConcurrentHashMap ConcurrentHashMap을 알기 전에 Thread-Safe에 대해 알아보았다. 또한 JAVA에서 Thread-Safe를 고려해야 하는 상황에 대해 간단히 정리했다. Thread-Safe 동기화(Synchronize)라고 표현하기도 하며 어떠한 Class의 인스턴스가 여러 개의 Thread에서 동시 참조되고 해당 객체에 Operation이 발생해도 정합성을 유지해줄 때 Thread-Safe 하다라고 표현 cf. 정합성 - 데이터가 서로 모순이 없이 일관되게 일치 @ThreadSafe 어노테이션을 이용해 해당 Class가 Thread-Safe 함을 표시하기도 함. Java에서 Thread..