자바 키워드를 나열해놓은 것을 따라 읽다가 처음 본게 있어서 적어본다.
assert, native, strictfp, volatile
보통 널리 알려진 자바 기본 서적에서도 이걸 다루는 건 못봤다. 적어도 내가 읽은 책들에 한해서^^
native 같은 경우는 자바에서 다른 언어를 사용할 수 있게 만들어주는 키워드라고 한다.
mommoo.tistory.com/71 여기에 진짜 잘 설명되어있음..
JVM은 만능이라고만 믿어왔는데, 운영체제에 깊게 접근하지 못해서 결국에는 운영체제에 깊은 접근이 가능한 언어를 사용하기 위해 JNI를 사용해서 native 키워드가 사용되는 것을 보면, 결국에 만능은 없는듯하다.
volatile 은 thread 에서 사용되는것인데, cpu cache와 메인메모리에서의 read & write상에서의 불일치를 해결하기 위해 사용되는 키워드이다. (성능에 영향을 줄 수 있는 키워드라고 한다. 그러니 제한적으로 꼭 필요한 상황에서만 사용하자.)
nesoy.github.io/articles/2018-06/Java-volatile
여기에 잘 정리되어있다. 개인적으로 thread에 약한데, 상당히 흥미롭게 읽었다.
strictfp는 정말 간단한 개념인데, 자바와 타 플랫폼간의 부동소수점의 정밀도를 맞춰주기 위한 키워드이다. 다른 플랫폼과 자바는 부동소수점에서 오차가 발생할 수 있는데, 이 키워드를 사용하면 해결된다. 클래스, 인터페이스, 메서드의 앞머리에 선언해서 사용할 수 있다.
여기에서 잘 정리되어 있다.
assert 이건 좀 어려운 개념인 것 같다. 사실 계속 읽었는데, 좀 헷갈린다. 예외처리랑은 살짝 다르다. 음... 내가 완전히 확신하고 또 그래야만 하는 수식이 있다면, 불리언 형식으로 사용하는 키워드라고 보면된다. 밑에 블로그에 잘 정리되어 있다.
'Java' 카테고리의 다른 글
[Java] JVM구조-이미지 (0) | 2020.12.12 |
---|---|
[Java] out of memory error 즉 OOME 에 대하여 (0) | 2020.12.12 |
[Java] Java JVM 메모리 구조와 이해 (0) | 2020.12.10 |
[Java] Java 꿀팁모음 (2) | 2020.11.19 |
[Java] Java와 mysql 연동 시 url, forName 인수 바꿔주기 (0) | 2020.10.01 |