본문 바로가기

프로그래밍 언어49

람다식 메서드를 간단하게 표현한 식 자바에서 함수적 프로그래밍을 위해 자바8부터 람다식을 지원하면서 기존의 자바 코드가 간결해지게 되었다. 예시) 1.일반 메서드 public int max(int a,int b){ return a a < b ? a : b; 일반적으로 메서드를 호출하기 위해서는 메서드가 클래스에 포함되어 있어야 하므로 클래스로부터 객체를 생성함으로써 메서드를 호출할 수 있다. 그러나 람다식을 사용하면 클래스를 생성하지 않고도 간단하게 호출할 수 있다. 람다식의 경우 런타임시 인터페이스의 익명 객체로 생성되므로 단순히 메서드가 생성되는 것이 아니라 메서드를 포함하고 있는 익명객체를 생성한다. 익명 객체 생성시 문제점).. 2021. 3. 7.
쓰레드 쓰레드란 무엇인가?) 프로세스 : 사용하는 프로그램을 뜻함(이클립스,인텔리제이,크롬브라우저 .. 등등) 쓰레드 : 프로세스 내에서 작업을 수행하는 일꾼 싱글 쓰레드 프로세스 -> 동작하는 프로그램에 일꾼이 1명인것 멀티 쓰레드 프로세스 -> 동작하는 프로그램에 일꾼이 여러명인 것 멀티 쓰레드의 장단점) 장점 : 하나의 새로운 프로세스를 생성하는 것보다 쓰레드를 하나더 생성하는 것이 더 적은 비용이 듬 -> 공장(프로세스)을 새로 만들어서 일꾼(쓰레드)을 고용하는 것보다 하나의 공장에 여러명의 일꾼(쓰레드)을 고용하는 것과 같은 이치임 단점 : 교착상태(Dead-Lock)를 주의해야됨 교착상태(Dead-Lock) 란? ) - A와 B가 있을때 A는 B가 사용중인 리소스를 점유하려고 B의 Lock(잠금)이 .. 2021. 3. 4.
타입 지정시 연산 속도 요구사항) 1. -10,000 ≤ A, B ≤ 10,000 (제한범위) 2. 두수를 입력받아서 A와B의 합을 출력하는 코드 작성 Scanner sc = new Scanner(System.in); short a = sc.nextShort(); short b = sc.nextShort(); System.out.println(a+b); 메모리 공간을 가지고 본다면 short 타입을 쓰는게 좋을수도 있지만 32bit의 CPU를 쓴다고 하면 워드가 4byte 이므로 short(2byte),byte(1byte)형 변수를 사용한다고 하면 CPU가 한번에 처리 할 수 있는 데이터 크기에 맞춰서 구조를 바꾸(맞는 사실인가?)기 때문에 이러한 부수적인 시간이 걸리게 되고 int형(4byte) 변수를 사용해서 연산을 한것보.. 2021. 2. 26.
자바 스터디(예외) 목차 Exception(예외)와 에러의 차이 예외 계층 구조 예외처리 사용법 사용자 정의 예외 처리 방법 Exception(예외)와 에러의 차이 프로그램을 사용하던 도중 프로그램이 비정상적으로 종료되는 현상을 에러 또는 오류라고 한다. 에러는 두 가지로 나뉘는데 컴파일 에러(컴파일 과정에서 일어나는 것)와 런타임 에러(컴파일이 문제없이 실행되고 실행 과정에서 일어나는 것)로 나누어진다. 런타임 에러) 1. 에러는 메모리부족 스택오버플로우 같이 하드웨어적인 시스템 상의 문제에서 발생하는 에러이다. 2. 예외는 컴퓨터 상의 에러가 아닌 개발자의 잘못된 코딩으로 인한 또는 사용자의 잘못된 조작으로 인해 발생하는 것이다. 예외가 발생할 경우 에러와 같이 프로그램이 종료되지만 예외처리를 통해 프로그램이 종료되지 .. 2021. 2. 24.