본문 바로가기

Language, IDE/JAVA, android

(17)
자바 SE JDK 유료화에 대한 내용 간단정리(유료화에 대한 오해와 대응방안) ▲ 출처 - 오라클 설치 페이지 과금방식의 변경오라클의 자바SE의 과금정책이 BCL(영구 라이선스 방식)에서 서브스크립션 모델(월 과금형 방식)으로 변경된다. 기존에는 특정 목적으로 사용하는 경우를 제외하고는 무료로 사용할 수 있었으나,이를 월 구독료 방식으로 변경을 한다고 발표 했다. 18년 9월 출시된 자바SE 11버전은 서브스크립션 방식으로 출시되었으며, 자바SE 8버전은 19년 1월부터 서브스크립션 방식으로 변경된고 한다.단 개인의 경우 20년 12월 말까지는 무료로 제공된다고 한다. 참고로 나머지 버전에 대해서는2015년4월 이후 자바7, 2013년4월 이후 자바6는 이미 서브스크립션으로 넘어갔고,자바9~10은 후속버전 출시에 따라 지원이 중단되었다. ▲ 출처 - 오라클 공식 홈페이지(JAVA ..
[JAVA 자바] JDK, JRE, JVM 차이 최근 자바 JDK 유료화 문제로 JDK에 대한 관심도가 증가하고 있다.자바 JDK, JRE, JVM에 대해 포스팅하고자 한다. 범위로 보자면 JDK > JRE > JVM 이다.가장 하위 단위인 JVM부터 설명하겠다. JVM(Java Virtual Machine)JVM은 자바 가상 머신의 줄임말로 자바프로그램 등을 컴파일하여 만들어진 바이트코드를 실행해주는 가상 머신이다. 자바는 어떤 운영체제에서도 상관없이 동일한 형태로 실행시킬 수 있는 장점이 있는데,이를 가능하게 해주는 것이 JVM이다. JAVA제조사에서 각 운영체제별로 JVM을 개발해주면,자바 개발자들은 JVM위에 자바프로그램을 올리게 되어,운영체제에 관계없이 프로그램을 개발할 수 있게 된다.즉 JVM에 의해 동일한 환경을 보장 받는다고 볼 수 있다..
android studio 디자인 편집기 렌더링 오류 해결방법(Rendor problem) 증상 안드로이드 스튜디오 디자인 편집기에서 Textview 등이 보이지 않고 Render Problem 오류가 나오는 경우. 1. Basic Activity를 선택했을 때 Textview가 보이지 않고 아래와 같이 andorid.. CoordinatorLayout라고 뜨거나, (오류 메시지 : Render Problem "Failed to find style 'coordinatorLayoutStle' in current theme'") 2. Empty Activity등 액티비티를 선택했을 때 Textview가 나타나지 않는 증상 (오류 메시지 : Render Problem Failed to load AppCompat ActionBar with unknown error.) 두 경우 모두 세부 오류내용은 다..
[JAVA 자바] URL 클래스 자바에서는 Web에서 사용하는 URL에 관한 정보를 다루는 URL클래스를 제공한다. 생성자 URL(String urlString) URL(String protocol, String host, String file) URL(String protocol, String host, int port, String file) 주요 함수 getFile() URL의 파일 이름을 리턴 getHost() URL의 호스트 이름을 리턴 getPort() URL의 포트번호를 리턴, 묵시적 포트일 경우 -1을 리턴 getProtocol() URL의 프로토콜을 리턴 toExternalForm() 전체 URL의 문자열 객체를 리턴 openStream() 지정된 URL로부터 정보를 읽어들이기 위한 InputStream객체를 리턴
[JAVA 자바] InetAddress 클래스 자바에서는 인터넷 주소에 관한 정보를 다루는 InetAddress클래스를 제공한다. 여기서 인터넷 주소에 관한 정보는 IP정보를 의미한다. InetAddress는 생성자가 없다. static클래스에서 정보를 받아오는 형식으로 사용한다. 주요 함수equals(InetAddress other) 현 객체가 other 객체와 같은 주소면 true, 아니면 false를 리턴getAddress() 주소를 나타내는 4개의 바이트 배열을 리턴getHostAddress() 주소 정보를 나타내는 String 리턴getHostName() 컴퓨터 이름을 나타내는 String 리턴 static 메소드 (InetAddress)getLocalHost() 현재 컴퓨터의 InetAddress객체를 리턴getByName(String h..
[JAVA 자바] File 클래스 자바에서는 파일과 디렉터리를 다루는 File클래스를 제공한다. 이 클래스에서 접근권한, 마지막 수정일자, 경로, 길이, 디렉터리에 존재하는 파일의 이름, 새로운 디렉터리 생성, 파일과 디렉터리의 삭제, 이름 변경 등을 제공한다. 생성자File(String directoryPath) directoryPath를 경로로 가지는 File 객체 생성File(String directoryPath directoryPath를 경로로 가지고 filename을 파일이름으로 가지는 File 객체 생성,String filename) File(File dirObj, dirObj의 경로를 가지고 filename을 파일이름으로 가지는 가지는 File 객체 생성String filename) 주요 함수canRead() 파일이 읽기 가..
[JAVA 자바] 랜덤함수(Random) - 난수 발생기 자바에서 Random 클래스는 난수 발생 기능을 제공한다. 생성자Random() 현재시간을 초깃값으로 하는 난수 발생기 생성Random(long seed) seed값을 초깃값으로 하는 난수 발생기 생성 주요 함수nextFloat() float형의 난수 리턴nextInt() int형의 난수 리턴nextLong() long형의 난수 리턴nextDouble() double형의 난수 리턴nextGaussian() 평균 0, 표준편차 1인 Gaussian형의 난수를 double형으로 리턴setSeed(long newseed) seed값을 newseed값으로 초기화nextInt(int n) n미만의 int형 난수 리턴 예제소스import java.util.Random; public class JavaTestMain..
[JAVA 자바] synchronized - 스레드 동기화 자바 프로그래밍을 할 때 멀티 스레딩을 하면 각각의 스레드는 독립적으로 동작한다. 하지만 실제 프로그래밍을 할 때에는 스레드들이 연관 관계를 가지면서 작동해야하는 경우가 많다. 예를들어 스레드들이 현재 접속중인 유저수를 공유해야 하는 경우나 은행에서 예금이나 출금을 하는 경우가 있다. 운영체제에서 배웟듯이 이런 변수들은 동시에 접근하게 되면 문제가 발생하게 된다. 예를들어 3개의 스레드가 동시에 예금을 500원식하면 1500원이 되어야 하는데 모두 0원을 가져와 500을 더해서 저장을하면 500원이 저장되게 된다. 이런 문제를 해결하기 위해서는 동기화를 하여야 한다. 자바에서는 스레드를 동기화 하기 위해서 synchronized를 제공한다. 스레드는 synchronized 메소드에 들어가기 위해 lock..