java

Language/Java

함수형 프로그래밍과 일급 객체란

먼저 함수형 프로그래밍에 대해서 이야기를 하기 전에 프로그래밍 패러다임에 대해서 이야기를 해보자. 패러다임 먼저 패러다임의 정의는 다음과 같다. 어떤 한 시대 사람들의 견해나 사고를 근본적으로 규정하고 있는 테두리로서의 인식의 체계, 또는 사물에 대한 이론적인 틀이나 체계를 의미하는 개념 프로그래밍 패러다임 그럼 프로그래밍 패러다임(Programming Paradigm)은 무엇일까? 오브젝트의 저자이신 조영호님은 프로그래밍 패러다임을 다음과 같이 정의한다. 특정 시대에 수용된 프로그래밍 방법과 문제 해결 방법, 프로그래밍 스타일 우리가 어떤 프로그래밍 패러다임을 사용하느냐에 따라 우리가 해결할 문제를 바라보는 방식과 프로그램을 작성하는 방식이 달라진다. 즉, 새로운 프로그래밍 패러다임이 등장하면 새로운 ..

Language/Java

가비지 콜렉션(Garbage Collection)

JVM의 Execution 영역에 있는 가비지 콜렉터와 가비지 콜렉션에 대해서 알아보자. C나 C++을 해본 사람들은 다음과 같은 명령어가 낯이 익을 것이다. ~(), mallac(), free() 이 들은 모두 프로그래머가 직접 메모리를 할당해주거나 해제하는 역할을 하는 메서드이다. 하지만 자바는 이와 달리 프로그래머가 직접 메모리를 할당 해제해주는 것이 아닌 GC(Garbage Collector)가 메모리를 자동으로 할당하거나 해제해주는 작업을 해준다. C나 C++ 처럼 어떠한 가비지 콜렉터가 없이 프로그래머가 직접 메모리를 관리를 해줘야 하는 언어를 비관리형 언어(Unmanaged Language) Java, GO, C#, Python 같이 가비지 콜렉터가 직접 메모리를 관리해주는 언어를 관리형 언..

Language/Java

JVM

JVM JVM은 Java Virtual Machine의 약자이다. 직역하면 자바를 실행하기 위한 가상 기계라는 뜻인데, 실제로 그 의미와 크게 다르지 않다. 우선 JAVA의 가장 큰 특징은 OS에 종속적이지 않다는 것이다. OS별로 각기 다르게 동작할 수 있는데, OS 종속되지 않는 다는 말은 OS위에 어떤 프로그램을 이용해 실행이 가능하다는 것이다. 즉, JVM이란 OS에 종속받지 않고 CPU가 JAVA를 인식하거나 실행할 수 있게 해주는 가상 머신이다. JAVA 컴파일러 Java가 컴파일되는 과정을 이해하기 전에 컴퓨터가 명령어를 인식하는 과정부터 이해를 해야한다. 컴퓨터는 0과 1밖에 이해하지 못한다. 즉, 이러한 컴퓨터가 이해할 수 있는 명령어를 저급언어(Low-level Language)라고 부..

Backend/Spring

1. SPRING

SPRING 1. JAVA 기반의 웹 어플리케이션 개발에 사용되는 기술 2. 방대한 기능을 포함 - IOC/DI, AOP, PSA 3. 일반적으로 스프링은 Framework를 의미한다. SPRING Framework 1. 의존주입(Dependency Injection : DI) 지원 2. AOP(Aspect-Oriented Programming) 지원 3. MVC(Model, View, Controller) 웹 프레임워크 제공 4. JDBC, JPA 연동 기술 및 선언적 트랜잭션 처리 등의 DB연동 지원 5. 자바기반 어플리케이션 개발기능 지원(스케줄링, 메시지연동, E-mail 전송 등)

Backend/jsp

2. Applet

Java Applet - Java 언어를 이용하여 웹 브라우저(=클라이언트)에서 작동하는 프로그램 - 윈도우 및 리눅스 어디에서나 브라우저가 자바를 구동할 수 있으면 실행 가능 - 여러 장점이 있으나, 클라이언트에서 실행하면 개인의 PC에서 실행되니 부담이 됨 cf) Java Applet 이 자바를 급 성장 시키게 되었다.

Bombo_
'java' 태그의 글 목록