Programming Language/Java

Programming Language/Java

[Java] 변수(Variable)

변수란? 프로그래밍에서 변수란, 값을 저장할 수 있는 메모리상의 공간을 의미한다. 이 공간에서 저장된 값은 변경될 수 있기 때문에 변수라고 불린다. 새로운 값을 저장하면 기존의 값은 사라진다. 변수의 선언과 초기화 변수를 사용하려면 변수를 선언해야한다. int year = 0; int age = 14; 변수 타입 : 변수에 저장될 값이 어떤 타입(type)인지를 지정하는 것 변수 이름 : 변수에 붙인 이름 변수를 선언하면, 메모리의 빈 공간에 변수타입에 알맞은 크기의 저장공간이 확보되고, 앞으로 이 저장공간은 변수이름을 통해서 사용할 수 있게 된다. 변수를 선언한 이후에는 변수를 사용할 수 있으나 위 예제처럼 어떠한 값으로 변수를 초기화(initialization)해야한다. 메모리는 여러 프로그램이 공유..

Programming Language/Java

[Java] synchronized는 자바 몇 버전 부터 사용된 걸까?

Java에서 'synchronized' 키워드는 자바 언어의 초기 버전부터 지원되었습니다. 자바는 1995년 처음으로 발표되었고, 그때부터 'synchronized' 키워드를 사용하여 스레드 동기화를 제어하는 데 사용할 수 있었습니다. 따라서 Java 1.0부터 'synchronized' 키워드가 존재하게 됩니다. 그렇다면 'synchronized' 란 뭘까? 'synchronized' 는 Java 프로그래밍 언어에서 스레드 동기화를 구현하는데 사용되는 키워드 입니다. 스레드 동기화는 여러 스레드가 공유자원에 동시에 접근하려는 경우 발생하는 경쟁 조건과 같은 문제를 방지하고 스레드 간의 작업을 조절하기 위해 사용됩니다. 'synchronized' 키워드는 다음 두가지 주요 방법으로 사용됩니다. 메소드 레..

Programming Language/Java

[Java] JVM (Java Virtual Machine) 자바 가상 기계

JVM이란 운영체제는 자바 프로그램을 바로 실행할 수 없는데, 그 이유는 자바 프로그램은 완전한 기계어가 아닌, 중간 단계의 바이트 코드이기 때문이다. 이것을 해석하고 실행 할 수 있는 가상의 운영체제가 필요하다. 이것이 자바 가상 기계(JVM : Java Virtual Machine)이다. JVM은 실 운영체제를 대신해서 자바 프로그램을 실행하는 가상의 운영체제 역할을 한다. 자바 프로그램은 확장자가 .java인 파일을 작성하는 것부터 시작된다. 이것을 소스 파일이라고 하는데, 이 소스 파일을 컴파일러로(javac.exe)로 컴파일하면 확장자가 .class인 바이트 코드 파일이 생성된다. 바이트 코드 파일은 JVM 구동 명령어(java.exe)에 의해 JVM에서 해석되고 해당 운영체제에 맞게 기계어로 ..

Programming Language/Java

[Java] Garbage Collection(가비지 컬렉션)이란

Garbage Collection(가비지 컬렉션)이란 자바 가상 머신(JVM)에서 자동으로 객체를 제거하여 메모리를 해제하는 프로세스입니다. 자바에서 객체는 동적으로 할당되며, 개발자가 명식적으로 메모리를 해제하지 않으면 더 이상 사용하지 않는 객체가 메모리에 계속 남아있을 수 있습니다. 이러한 객체를 가바지라고 부릅니다. 가비지 컬렉션은 이러한 가비지 객체들을 자동으로 식별하고, 메모리를 자동으로 해제하여 프로그램 실행 중에 메모리 누수를 방지합니다. 자바에서 가비지 컬렉션은 일반적으로 개발자가 관여할 필요가 없으며, JVM이 자동으로 수행합니다. 그러나 가끔씩 가바지 컬렉션의 성능을 최적화하거나 세부적인 제어가 필요할 수도 있습니다. 장점 메모리 누수 방지 : 가비지 컬렉션은 더 이상 사용하지 않는 ..

Programming Language/Java

[Java] 자바의 문자열(String) 함수 정리

Java String 객체는 내장 함수를 정리하자. equals() eqauls()는 두개의 문자열이 동일한 값을 가지고 있는지를 비교하는 함수이다. a == b 와는 다르다. a == b는 문자열 변수의 주소값을 비교하는 것이다. 예시) String a = "test"; String b = a; String c = "test"; String d = new String("test"); String e = "wtf"; System.out.println(a==b);//true System.out.println(a.equals(b));//true System.out.println(a==c);//true System.out.println(a.equals(c));//true System.out.println(b=..

Programming Language/Java

[Java] 자바(Java)의 특징 정리

자바의 특징을 정리하자. 이식성이 높은 언어 이식성이란 서로 다른 실행 환경을 가진 시스템 간에 프로그램을 옮겨 실행할 수 있는 것을 말한다. 자바 언어로 개발된 프로그램은 소스파일을 수정하지 않아도, 자바 실행 환경(JRE : Java Runtime Environment)이 설치되어 있는 모든 운영체제에서 실행 가능하다. 따라서 자바 언어는 이식성이 높은 프로그래밍 언어이다. 객체지향 언어 객체 지향 프로그래밍(OOP : Object Oriented Programming)이란 프로그램을 개발하는 기법으로 부품에 해당하는 객체들을 먼저 만들고, 이것들을 하나씩 조립 및 연결해서 전체 프로그램을 완성하는 기법이다. 이때 사용되는 언어를 객체 지향 언어라고 한다. 자바는 100% 객체 지향 언어이다. 객체를..

Tenacity_Dev
'Programming Language/Java' 카테고리의 글 목록