분류 전체보기(229)
-
mac에 jdk 1.8 / 8 설치하기
자바 변수 적용 `/Library/Java/JavaVirtualMachines/` is the correct location for the JVM to be installed. ls -la /Library/Java/JavaVirtualMachines http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html 패키치 파일로 설치했다면 위 스크립트로 java가 설치되어있나 확인 아래 명령어 순서대로 실행 Java 8: export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_31.jdk/Contents/Home export PATH=$JAVA_HOME/bin:$PATH..
2020.12.09 -
AsyncTask vs Thread vs Service 차이
Thread 작업을 동시에 실행할 수 있는 클래스이다. Thread 를 상속받거나, Runnable 을 구현하여 사용할 수 있다. 쓰레드는 일반적으로 긴 작업을 수행하는 데 사용한다. 쓰레드는 수동으로 관리해야 하기 때문에 관리가 어렵고 코드를 읽기 어려워 질 수 있다는 단점이 있다. 하나의 독립적인 실행 흐름 사용처 중간 또는 많은 양의 데이터가 포함 된 네트워크 작업 (업로드 또는 다운로드) 백그라운드에서 실행해야하는 높은 CPU 작업 GUI 스레드와 관련된 CPU 사용량을 제어하려는 모든 작업 Service 서비스는 백그라운드에서 실행시간이 긴 작업을 수행하며, 사용자 인터페이스를 제공하지 않는 어플리케이션 구성요소이다. UI 가 없는 작업이긴 하지만, 작업시간이 너무 길지 않아야 하며, 긴 작업이..
2020.12.04 -
일급 시민, 일급 객체, 일급 함수
1급시민 프로그래밍의 변수에서 1급 시민의 조건은 다음과 같습니다. 변수에 담을 수 있다. 함수(혹은 메소드)의 인자(매개변수, Parameter)로 전달할 수 있다. 함수(혹은 메소드)의 반환값(return)으로 전달할 수 있다.
2020.12.03 -
Non-blocking I/O(NIO)
NIO 구분 IO NIO 버퍼 넌버퍼 버퍼 비동기 지원X 지원 블로킹/넌블로킹 블로킹만 지원 모두지원 스트림과 채널 스트림 스트림 기반 입력, 출력 스트림으로 구분되어 있다.(둘다생성해야함) 버퍼 제공해주는 보조 스트림을 사용해야함 이전 게시글 참조.. read()메소드로 블로킹된다. write() 메소드로 데이터 출력 전까지 블로킹된다. 채널 양방향으로 입,출력이 가능하다. 하나의 파일에서 읽고 저장하는 작업을 모두 해야한다면 FileChannel만 생성하면 된다. 스레드 인터럽트로 빠져나올 수 있다. 넌블로킹 : 입출력 작업 준비가 완료된 채널만 선택해서 작업 스레드가 처리한다. 셀렉터(Selector)가 여러개의 채널 중에서 준비 완료된 채널을 선택하는 방법을 제공함! 선택 기준? NIO는 연결 클..
2020.11.20 -
Socket 소켓, Data Stream
Java Socket 스트림 성능 향상 보조 스트림 메모리 버퍼를 제공하여 프로그램의 실행 성능을 향상시킨다. 직접 하드 디스크에 데이터를 보내지 않고 메모리 버퍼에 데이터를 보낸다(쓰기속도 향상) 버퍼는 데이터가 꽉 차게 되면, 데이터를 한꺼번에 하드 디스크로 보낸다. 바이트 기반(바이트 입력 스트림에 연결) 스트림 BufferedInputStream, OutputStream 문자 기반(문자 입력 스트림에 연결) 스트림 BufferedReader, BufferedWriter 파일읽기 FileInputStream fis = new FileInputStrea("경로"); BufferedInputStrea bis = new BufferedInputStream(fis); while(bis.read()!=01)..
2020.11.17 -
NavigationView onNavigationItemSelected not Working, 반응 없음 현상
xml에서 NavigationView가 DrawerLayout 마지막 요소에 존재해야 onNavigationItemSelected 가 호출된다 예를들어 위와 같은 순서로 존재하면 리스너가 작동하지 않게된다 모두 유의하세요~!
2020.11.15