본문 바로가기
[Java Concurrency] 구성 단위 #1 [Java Concurrency] 구성 단위 #1 5.1. 동기화된 컬렉션 클래스 - 동기화되어 있는 컬렉션 클래스의 대표 주자는 Vector 와 Hashtable 이다. - JDK 1.2 부터는 Collections.synchronizedXxx 메소드를 사용해 이와 비슷하게 동기화되어 있는 몇 가지 클래스를 만들어 사용할 수 있게 됐다. 이와 같은 클래스는 모두 public 으로 선언된 모든 메소드를 클래스 내부에 캡슐화해 내부의 값을 한 번에 한 스레드만 사용할 수 있도록 제어하면서 스레드 안전성을 확보하고 있다. - 동기화된 컬렉션 클래스는 스레드 안전성을 확보하고 있기는 하다. 하지만 여러 개의 연산을 묶어 하나의 단일 연산처럼 활용해야 할 필요성이 항상 발생한다. - 동기화된 컬렉션 클래스는 대.. 2017. 4. 20.
[Java Concurrency] 객체구성 [Java Concurrency] 객체구성 4.1. 스레드 안전한 클래스 설계 - 객체가 갖고 있는 여러 가지 정보를 해당 객체 내부에 숨겨두면 전체 프로그램을 다 뒤져볼 필요 없이 객체 단위로 스레드 안전성이 확보되어 있는지 확인할 수 있다. - 클래스가 스레드 안전성을 확보하도록 설계하고자 할 때에는 다음과 같이 세 가지를 고려해야 한다. 객체의 상태를 보관하는 변수가 어떤 것인가? 객체의 상태를 보관하는 변수가 가질 수 있는 값이 어떤 종류, 어떤 범위에 해당하는가? 객체 내부의 값을 동시에 사용하고자 할 때, 그 과정을 관리할 수 있는 정책 - n 개의 변수를 갖는 객체의 상태는 n개 변수가 가질 수 있는 값의 전체 조합이다. A라는 객체 내부에 다른 객체 B를 가리키는 변수를 사용하고 있다면, .. 2017. 4. 18.
[Effective Java] int 상수 대신 enum 을 사용하자. [Effective Java] int 상수 대신 enum 을 사용하자. - int enum pattern 이라고 불리는 int 를 이용한 분기는 단점이 많다. - 타입 안전을 보장하지도 않고, 편리하게 사용할 수 있는 방법도 제공하지 않는다. 즉 취약하다. - int enum 상수를 출력 가능한 문자열로 쉽게 바꾸는 방법도 없다. - 하나의 int enum 그룹에 있는 모든 상수를 loop 처리하거나, 그룹 사이즈를 알 수 있는 좋은 방법도 없다. - int enum 패턴의 변이로 String enum 패턴이 있는데 더더욱 바람직하지 않다. print 하는 부분에서는 좋지만, 문자열 비교에 의존하여 성능 문제가 생길 수도 있다. 더욱 문제가 되는 것은 필드명 대신 string 상수 값을 클라이언트 코드에.. 2016. 12. 19.
[라오스] 비엔티안에서 방비엥으로 출발~ [라오스] 비엔티안에서 방비엥으로 출발~ 오늘은 라오스의 수도 비엔티안에서 엑티비티의 고장 방비엥으로 출발할꺼야. 우리는 숙소에서 bus ticket 을 예매했어.사실 말이 "버스" 티켓이지.미니벤을 예약한 거였지. 미니밴은 좌석이 따로 없고, 선착순인 셈이야.먼저 타서 먼저 자리에 앉으면 돼. 근데 밴을 예약하면 보통 호텔들을 돌면서 사람들을 pick up 해오기 때문에,내가 먼저 타리라는 보장이 없어. 가까운 곳에서 밴이 출발한다면, 호텔로 픽업오라고 하지 말고,그곳으로 이동해서 첫번째로 타는 것도 노하우야.차 타고 약 3~5시간정도 이동하니깐 편하게 가야 여행을 편하게 하징. 가장 추천하는 자리는 운전수 바로 뒷자리래.실제로 답답함도 덜 하고, 다리도 올리고 갈 수도 있고, 조금 더 넓은 것 같았어.. 2016. 11. 8.
[안암 맛집] 미각에서 워샹로쓰를 먹었음둥~ [안암 맛집] 미각에서 워샹로쓰를 먹었음둥~ #요즘 안암의 미각에서 새로운 메뉴들을 계속 도전하고 있다.이제 이사가서 방문할 수 없다는 아쉬움도 영향을 많이 미치는 것 같고,가격이 합리적이라는 것도 영향을 미치고,기본적으로 최소 "그저 그런 집" 이상은 보장되는 맛에도 그 영향이 있다 하겠다. #오늘은 김스타님과 함께 뭔가 속이 살짝 허한 느낌으로 술 먹기는 뭐하고, 뭔가 배 속에 집어넣기는 해야겠고 해서 방문했다. #오늘의 메뉴는 워샹로스.가격은 12,000원. 한자의 음을 읽은 "어향육사(魚香肉絲)" 인데,중국의 "어향" 이라는 소스가 있고, 그 소스와 돼지고기를 가늘게 썬 것을 함께 볶은 요리이다. #어향소스는 짠맛 + 단맛 + 새콤한 맛 + 매운맛 이렇게 4가지 맛이 모두 들어 있다.어향소스는 원.. 2016. 6. 8.
[iOS Study] Objective-C [iOS Study] Objective-C 출처 : 아론 힐리가스의 iOS 프로그래밍 -iOS 앱은 코코아 터치(Cocoa Touch) 프레임워크를 사용하여 Objective-C 언어로 작성된다.Objective-C 는 C 언어의 확장이며 코코아 터치 프레임워크는 Objective-C 클래스의 모음이다. - 일반적으로 Objective-C 에서는 인스턴스 변수명을 밑줄(_) 로 시작한다. - 객체를 만들기 위해서는 클래스에 alloc 메세지를 보낸다. 이에 클래스는 메모리(힙)에 객체를 만들고 변수에 저장된 그 객체의 주소를 준다. -Party* partyInstance = [Party alloc];[partyInstance init]; 새로 할당한 인스턴스에 보내는 첫 메시지는 항상 초기화 메시지다. .. 2016. 2. 13.
실비 보험에 대한 모든 것! 실비 보험에 대한 모든 것! 참조 : http://richpocket.tistory.com/6 - 가장 먼저!!!! 보험은 건강할 때 가입해야 한다. 누가 아파서 보험금 막 타갈 사람한테 보험 상품을 팔려고 하겠는가? 건강할 때 가입해야 금액도 저렴하고 가입도 잘 되고 좋다. - 실제로 지출한 통원치료비, 입원비, 수술비, 엑스레이, CT촬영, MRI 촬영 등을 보장하며 소득 공제 혜택( 보장성 보험 )도 받을 수 있다. - 실제 의료비 = 국민건강보험 + 본인부담금 의료실비보험 = 본인 부담금의 80~90% 를 보험회사에서 지급해주는 것. - 의료실비보험 = 실손보험 = 실비보험 = 실손의료보험 = 의료실비보험 즉, 다 같은 말! - 보험금 지급이 빠르고, 청구 절차가 간편한 상품으로 가입하는 것이 좋.. 2015. 6. 17.
android largeheap - largeHeap 은 HoneyComb ( 3.0, SDK 11 ) 부터 등장. - reference doc. http://developer.android.com/guide/topics/manifest/application-element.html#largeHeap android:largeHeap Whether your application's processes should be created with a large Dalvik heap. This applies to all processes created for the application. It only applies to the first application loaded into a process; if you're using a shared u.. 2015. 6. 6.
[Effective Java] 불필요한 객체의 생성을 피하자. 불필요한 객체의 생성을 피하자. - 기능적으로 동일한 객체를 필요할 때마다 매번 새로 생성하기보다는 하나의 객체를 재사용하는 것이 좋을 때가 많다. 재사용을 하면 객체 생성에 소요되는 비용(시간과 자원)이 절감되어 실행 속도가 더 빨라지고 코드도 보기 좋게 작성할 수 있다. 불변(immutable) 객체는 항상 재사용이 가능하다. - 불 필요한 객체 생성을 막기 위한 첫번째 좋은 방법은 static 팩토리 메소드를 사용하는 것이다. - 불변객체가 아닌 가변객체더라도 상태가 변경되지 않는 것이 보장되면 재사용 가능하다. - 재사용을 막기 위한 static 팩토리 메소드에서 늦 초기화 ( lazy initialization ) 을 하는 경우가 있는데, 후에 다루겠지만 두드러진 성능 개선이 나타나진 않고, 오.. 2015. 4. 30.
반응형