MapleStory Finger Point
삼항 연산자의 함정 (auto-unboxing)
·
Server/Java
개발을 하다 보면 삼항 연산자를 사용하는 경우가 많다.필자도 많이 사용하는 편인데, If-else 문을 간결하게 표현할 수 있어 간단한 조건문에는 삼항 연산자를 사용한다. 그런데,, 당연하게 사용하던 삼항 연산자에서 NullPointerException이 발생했다. 왜 그럴까? 원인을 하나씩 파헤쳐보자..! * 참고: 과정이 다소 길 수 있으므로, 결론이 궁금한 분들은 👇👇👇더보기삼항 연산자에서 primitive와 wrapper가 섞이면 wrapper가 auto-unboxing 되어 null일 경우, NullPointerException이 발생할 수 있다. 문제상황public static final int DEFAULT_JOIN_LIMIT = 1;public void ... { Integer ..
GC Overhead limit exceeded 로 시작하여 JVM ... (생략)
·
Server/Java
새해를 맞이하여 회사에서 나에게 서프라이즈를 준비해주었다.그것은 바로 팀이동이였다..!! (사실 n번째라 놀라지 않음)어찌되었든 새로운 환경에서 살아남기 위해 다시 치열하게 싸워보려고 한다. 팀이동을하면 가장 먼저하는게 무엇인가?바로, 개발환경 세팅이다. 프로젝트를 clone하고 build를 진행했다.위 이미지같이 GC overhead limit exceeded 원인으로 OutOfMemoryError가 발생하고 있다. 잉..? 이런 에러는 살면서 처음보았다.빨간줄을 없애보자 Build 시, GC overhead limit exceeded를 해결하는 것은 Intellij 환경에서는 식은 죽먹기이다. Intellij의 Setting > Build, Execution, Deployment > Compiler ..
[JAVA] Enum "equals" vs "=="
·
Server/Java
오~~~늘은 Enum의 동등비교에 대해 알아볼 예정이다!! 그런데,, 왜?! 갑자기 이런 주제를 똭하고 가져왔는지 궁금해할 수 있다.코드리뷰를 진행하다보니.. 다들 equals, == 을 혼용해서 사용하고 있었다. 쉽게 아래 예제를 보면// A 개발자if (moveStatus.equals(MoveStatus.CANCEL)) { return CommonResponse.fail("애니웨이 실패했습니다람쥐");}// B 개발자if(MoveStatus.CANCEL.equals(moveStatus)){ return CommonResponse.fail("애니웨이 실패했습니다금바리");}// C 개발자if(MoveStatus.CANCEL == moveStatus){ return CommonRespon..
Java에서 Stack Class는 함정카드다.
·
Server/Java
프로젝트를 진행하다가 Last In First Out과 같은 자료구조를 활용한 경험이 있다.그래서 Stack을 사용하려고 했는데, 얼핏 누군가가 나에게 "Java Stack은 지양해주세요." 라는 말을 했던 것 같다..  Java에서 Stack 사용을 왜 지양해야하는지, 공부했던 내용을 공유하고자 한다.Stack은 무엇인가요? 스택에 대한 내용은 이미 잘 아시겠지만~ 리마인드 차원에서 간단하게 짚고 넘어가보자!스택은 한 쪽 끝에서만 자료를 넣거나 뺄 수 있는 선형 구조이며 Last In First Out 매커니즘을 가지고 있다. Java에서 간단한 Stack 사용법을 보자면..import java.util.Stack;// initStack st = new Stack();// pushst.push(1);s..
Java 8 Functional Interface에 대해 알아보자.
·
Server/Java
c++로 코딩 테스트를 해왔는데, 이제는 주로 사용하는 java로 바꿔야겠다고 다짐했다..!! 그런데, java로 코딩 테스트를 준비하면서 처음보는 구조의 코드를 보았다. 바로 정렬 함수인데 1 2 3 4 List testList = new ArrayList(); testList.add(3); // testList.sort((e1, e2) -> e2 - e1); 위 코드처럼 List를 정렬을 하고 있는 것이다!! 그런데 sort 함수를 자세히보면 1 2 3 4 5 6 7 8 9 default void sort(Comparator c) { Object[] a = this.toArray(); Arrays.sort(a, (Comparator) c); ListIterator i = this.listIterato..
📌 공지사항

1. 광고 댓글 자제 부탁드립니다. 😭

2. 다양한 의견 공유해주시면 감사하겠습니다. 😊

3. 조회 수가 1억이 넘어도 광고 붙이지 않겠습니다.


📧 mjoo1106@naver.com