java

JAVA

Java의 날짜/시간 API. Date와 Calendar는 왜 사용하면 안될까?

들어가기 앞서 이번 주 스터디 주제가 java였는데 마침 직장에서 프로젝트를 하며 java의 Date 클래스를 사용할 일이 생겼다. 어디선가 java의 Date, Calendar 대신 java8의 LocalDate와 LocalDateTime 그리고 LocalTime을 사용하라고 권장 받은 적이 있었는데, 그 이유가 무엇일까 궁금해져 java의 시간/날짜 관련 클래스들을 공부하게 되었다. (이번 주 스터디 주제가 java인 부분이 크게 한몫했다 사실.) 이 글은 Naver D2의 Java의 날짜와 시간 API를 참고, 학습한 이후 작성한 글임을 밝힙니다! Java 시간/날짜 API 시대 계보도 JDK 1.0 : java.util.Date (java의 유일한 시간/날짜 API) JDK 1.1 : java.u..

JAVA

JVM(Java Virtual Machine)이란?

JVM(Java Virtual Machine)이란? Java Virtual Machine, 즉 자바 가상 머신은 자바 바이트코드를 실행하고자 하는 모든 하드웨어에 WORA(Write Once Run Anywhere)을 구현할 수 있도록 설계된 소프트웨어이다. 가상머신이란 프로그램을 실행시키기 위한 물리적인 하드웨어를 소프트웨어적으로 구현한 것을 의미한다. JVM은 자바 언어로 작성된 코드가 특정 플랫폼에 종속되지 않고 모든 플랫폼에 적용될 수 있도록 클래스 로더를 통해 읽어 들인 클래스 파일을 실행시킨다. Java 언어는 JVM 덕분에 특정 OS에 종속적이지 않지만 JVM은 특정 플랫폼에 따라 호환되는 JVM을 맞춰 주어야 하기 때문에 플랫폼 종속적인 성격을 띈다. JVM의 특징은 다음과 같다. 스택 기..

JAVA

JVM의 Garbage Collector 동작 원리

일러두기 본 글은 유튜브 우아한Tech의 [10분 테코톡] 👌던의 JVM의 Garbage Collector와 망나니개발자님의 티스토리 게시글 [Java] Garbage Collection(가비지 컬렉션)의 개념 및 동작 원리 (1/2), YABOONG님의 자바 메모리 관리 - 가비지 컬렉션을 보고 해당 내용을 정리한 글입니다. JVM 자바 가상 머신(영어: Java Virtual Machine, JVM)은 자바 바이트코드를 실행할 수 있는 주체이다. 일반적으로 인터프리터나 JIT 컴파일 방식으로 다른 컴퓨터 위에서 바이트코드를 실행할 수 있도록 구현되나 jop 자바 프로세서처럼 하드웨어와 소프트웨어를 혼합해 구현하는 경우도 있다. (이론적으로는 100% 하드웨어 구현도 가능하나 비효율적이다) 자바 바이트..

국비학원

자바 국비 4주차 과제

Q. 자바의 컬렉션 프레임워크 중 List 컬렉션에 대해 정리하세요. A. 컬렉션 프레임워크(Collection framework)란? 컬렉션 프레임워크는 다수의 데이터를 효과적으로 처리하기 위해 자료구조와 알고리즘을 구현한 클래스들을 일컫는다. Collection 인터페이스를 최상위로 상속관계를 이루는 Set과 List 인터페이스가 존재하며, 양자와는 다른 형태로 또 다른 갈래를 이루는 Map 인터페이스가 존재한다. Map 인터페이스가 Set과 List 인터페이스와 다른 갈래를 이루는 것은 Map과 Set, List 사이에 구조상의 차이가 존재하기 때문이다. 주요 인터페이스의 간략한 특징 인터페이스 설명 구현 클래스 List 순서가 있는 데이터 집합으로 데이터의 중복을 허용한다. ArrayList, V..

JAVA

JAVA 문법 : 클래스와 객체

시작하기에 앞서 본 글은 java 국비지원 과정을 듣고 있는 학생이 쓴 글로, 비숙련자가 공부한 내용을 바탕으로 정리한 글이기 때문에 내용에 다소간에 오류가 있을 수 있습니다. 해당 문법의 개념에 대해 설명하고 있기 때문에 설명하는 텍스트가 상당히 많습니다! 기술적인 정보보다는 개념을 이해하고자 적은 텍스트 기반의 글임을 알립니다! 자바는 객체 지향 프로그래밍 언어이다. 객체 지향 특징을 가진 언어로써 자바는 다음과 같은 특징을 갖는다. 추상화(abstraction) - 지하철 노선도와 같이 특정 필요한 정보만을 중심으로 실제를 간소화 한 것 캡슐화(encapsulation) - 보안 등의 이유로 데이터 혹은 기능을 하나로 묶어 관리하는 것 상속성(inheritance) - 하나의 클래스가 가진 특징을 ..

JAVA

Java로 복리 계산기 만들기

일러두기 연 복리를 상정하여 만든 계산기입니다. 금융에 대한 지식이 전무한 필자가 만든 계산기이기 때문에 실제로 사용하는 부분에는 적합하지 않을 수 있습니다 : / ㅎ.. 그동안 배운 Java 공부를 복습하고 싶어서 복리를 계산하는 미니미니한 프로젝트를 기획했다. 이를 위해 우선 메모장을 꺼내 복리에 대한 식을 세워봤다. 원금을 x, 이자율을 4.6%로 상정하고 년차에 따른 이자액 및 총 보유액을 계산해보았다. 그러자 (놀랍게도) 다음과 같은 규식성을 발견할 수 있었다. (저거 계산하는데 1시간 이상 쏟은 것 같다. 중간에 계산이 틀려서 식이 우주로 가는 바람에 머리를 꽤 썼다...) 위를 통해 얻은 규칙성을 수식으로 표현하면 다음과 같다. n년차 이자액 = (원금) x 0.046 x 1.046(n-1)..

석이
'java' 태그의 글 목록