Android - adb로 실행 중인 프로세스, 쓰레드 리스트 & 메모리 정보 확인

adb를 이용하여 디바이스에 실행 중인 프로세스와 쓰레드 정보, 메모리 정보를 확인할 수 있습니다. adb shell ps, adb shell dumpsys meminfo를 통해 이런 정보들을 알 수 있습니다. 각각의 명령어 사용 방법에 대해서 예제와 함께 알아보겠습니다.

19 Jul 2020

Java - ".class" 파일을 Java 파일로 디컴파일하는 방법 (jd-cli decompiler)

Jar 파일은 zip으로 압축이 되어있습니다. 이 압축을 풀면 많은 .class 파일들이 있습니다. class 파일은 Java 파일을 바이트코드로 컴파일하면서 생성되는 산출물입니다. class 파일을 열면 Java 코드가 보이지 않기 때문에, 보고 싶다면 Java로 다시 디컴파일해야 합니다. IntelliJ IDE에서 디컴파일하는 방법, jd-cli 툴을 이용하여 디컴파일하는 방법이 있습니다.

19 Jul 2020

Java - final, finally, finalize의 차이점

Java의 final, finally, finalize는 전혀 다른 내용이지만, 이름이 비슷하여 헷갈릴 수도 있습니다. 이 글에서는 다음 내용들이 무엇인지, 어떻게 사용하는지 알아보겠습니다. final 키워드는 클래스, 메소드, 변수, 인자를 선언할 때 함께 사용할 수 있습니다. finally 키워드는 try-catch가 종료될 때 수행되는 block입니다. finalize()는 GC에 의해 호출되는 메소드입니다.

18 Jul 2020

Java - Static 키워드 이해하기

Java의 static keyword는 field, method, class에 적용할 수 있습니다. static 키워드의 공통점은 객체와의 분리입니다. 객체를 생성하지 않고 접근할 수 있습니다. 또한, 어떤 클래스 아래에 static 변수, 메소드, 클래스를 선언하여 관련있는 내용들을 한 곳에 모을 수 있습니다. static keyword를 사용하여 선언하였을 때 어떤 차이점이 있는지 알아보겠습니다.

18 Jul 2020

Kotlin - Collections와 Sequences의 차이점

Java의 Collections는 Eager evaluation으로 동작합니다. Kotlin의 Sequences는 Java의 Stream처럼 Lazy evaluation으로 동작합니다. Lazy evaluation는 필요하지 않으면 연산을 수행하지 않기 때문에 더 적은 연산으로 동일한 결과를 얻을 수 있기 때문입니다. Collections와 Sequences는 동일한 값을 출력할 수 있지만 수행하는 과정이 다릅니다.

07 Jul 2020

Git - blame 명령어

git 프로젝트에서 어떤 코드를 누가 수정했는지, 어떤 commit으로 수정이 되었는지 궁금할 때가 있습니다. 이럴 때, git blame 명령어를 사용하면 누가 수정했는지, 어떤 commit으로 수정되었는지 알 수 있습니다. 수정 사항을 볼 때는 git show 명령어를 사용할 수 있습니다. 특정 라인만 확인하고 싶다면 -L <start, end> 옵션을 이용하시면 됩니다.

05 Jul 2020

Java - Final 키워드에 대한 이해

클래스, 메소드, 변수에 final을 붙이면 시간이 지나도 처음 정의된 상태가 변하지 않는 것을 보장한다는 의미입니다. static 변수에도 final을 붙일 수 있으며, final 변수를 선언할 때 바로 초기화를 하지 않고 if문이나 생성자에서 초기화할 수 있습니다. Java8에서는 Effective final 기능이 추가되었으며 어떤 상황에서 일반 변수를 암묵적으로 final로 취급합니다.

04 Jul 2020

Java - Lambda, 익명 클래스에서 final 변수를 참조해야하는 이유

Lambda 또는 익명 클래스(Anonymous class)에서 외부에 정의된 변수를 참조할 때는 꼭 final, 또는 effective final 변수만 참조해야 합니다. non-final 변수를 참조하려고 하면 컴파일 에러가 발생하기 때문에 사용할 수도 없습니다. 왜 final을 써야 하는지에 그 이유에 대해서 알아보려고 합니다.

04 Jul 2020
codechachaCopyright ©2019 codechacha