목록전체 (37)
보근은 참고 있다
산술 연산자 비트 연산자 관계 연산자 논리 연산자 instanceof assignment(=) operator 화살표(->) 연산자 3항 연산자 연산자 우선 순위 (optional) Java 13. switch 연산자 산술 연산자 + 더하기 int a = 6 + 5; // 11 - 빼기 int b = 6 - 5; // 1 * 곱하기 int c = 6 * 5; // 30 / 나누기 double d = 6 / 5; // 1.2 % 나머지 int e = 6 % 5; // 1 이것들 외에도 ++, -- 등의 증감 연산자가 있다. 증감 연산자는 변수에 1을 더하거나 빼는 연산자인데, 위치마다 증감이 일어나는 시기가 다르다. int a = 5; int b = new int[2]; b[0] = a++; // b[0]..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/cRhTQC/btqNSy8Psro/i5CdLRAfu0TSunHrC529a1/img.png)
Servlet Filter 서블릿은 서블릿 컨테이너에 의해 호출되어 클라이언트의 요청을 직접 전달 받고, 서블릿이 생성한 응답은 클라이언트에게 직접 다시 전달이 된다. 이 과정에서 클라이언트의 요청을 사전 처리하여 서블릿에 전달하고, 서블릿의 응답을 사후 처리하여 클라이언트에 전달할 수 있다. 그 사전 처리와 사후 처리를 하는 것이 필터이다. 보통 필터는 단일 서블릿이 아닌 복수의 서블릿 그룹을 대상으로 만든다. 단일 서블릿에 필터를 적용하고 싶으면 그냥 그 서블릿에 처리를 해버리면 된다. 필터는 체인 형태의 구조로 만약 어떤 서블릿에 필터 A와 B가 순서대로(Web.xml의 순서대로) 구성되어 있다고 할 때, 서블릿 컨테이너로부터 서블릿으로 바로 request를 받는 것이 아니라, 필터 A가 받고 사전..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bejPKw/btqNG2pFCKc/KGTH3EwbEvGwpD53C2qBlk/img.png)
프리미티브 타입 종류와 값의 범위 그리고 기본 값 프리미티브 타입과 레퍼런스 타입 리터럴 변수 선언 및 초기화하는 방법 변수의 스코프와 라이프타임 타입 변환, 캐스팅 그리고 타입 프로모션 1차 및 2차 배열 선언하기 타입 추론, var 프리미티브 타입 종류와 값의 범위 그리고 기본 값 메모리 크기 값의 범위 기본 값 boolean 1byte true or false false byte 1byte -128 ~ 127 ( -2^7 ~ 2^7 - 1) 0 short 2byte -32,768 ~ 32787 ( -2^15 ~ 2^15 - 1) 0 int 4byte -2,147,483,648 ~ 2,147,483,647 ( -2^31 ~ 2^31 - 1) 0 long 8byte –9,223,372,036,854,7..
CGI CGI(Common Gateway Interface)란, 웹 서버 상에서 사용자 프로그램을 동작시키기 위한 조합이다. 웹 서버 프로그램의 기능의 주체는 미리 준비된 정보를 이용자의 요구에 응답해 보내는 것이다. 그 때문에 서버 프로그램 그룹에서는 그 장소에서 동적으로 정보를 생성하여 클라이언트에 보내는 것이 불가능 했다. 이를 극복하는 방법으로 서버 프로그램에서 다른 프로그램을 불러내고, 그 처리 결과를 클라이언트에 송신하는 방법이 고안되었다. 이 방법을 실현하기 위해 서버 프로그램과 외부 프로그램과의 연계법을 정립한 것이 CGI이다. CGI는 그저 인터페이스이며, 특정 플랫폼에 의존하지 않고, 웹 서버 등으로부터 외부 프로그램을 호출하는 조합을 가리키는 단어이다. CGI를 경유하여 작동하는 프로..
웹 서버 웹 서버(Web Server)란, 웹 브라우저와 같은 클라이언트로부터 HTTP 요청을 받아, HTML 문서와 같은 웹 페이지를 반환해주는 서비스 프로그램이다. 주로 이미지, css, 자바스크립트를 포함한 정적인 HTML 문서를 클라이언트로 전달하는 역할을 한다. Apache가 웹 서버에 속한다. 웹 애플리케이션 서버 웹 애플리케이션 서버(Web Application Server)란, 웹 상에서 HTTP를 통해 사용자 컴퓨터나 장치에 애플리케이션을 수행해 주는 미들웨어이다. 업무를 처리하는 비즈니스 로직 수행, 여러 개의 트랜잭션 관리, 프로그램 실행 환경과 데이터베이스 접속 기능을 제공하는 등 동적인 처리를 수행한다. 톰캣이 웹 애플리케이션 서버에 속한다. 웹 애플리케이션 웹 애플리케이션(Web..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/lkbWJ/btqM4zg7JAY/gtZNITbN8iLH0Djn7G5hc1/img.png)
JVM이란 무엇인가 컴파일 하는 방법 실행하는 방법 바이트코드란 무엇인가 JIT 컴파일러란 무엇이며 어떻게 동작하는지 JVM 구성 요소 JDK와 JRE의 차이 먼저 자바 코드가 실행되는 과정은, 자바로 작성한 모든 코드들은 .java를 확장자로 하는 기본 텍스트 파일에 쓰여진다. 이 코드들은 javac 컴파일러에 의해 .class 파일로 컴파일 된다. .class 파일에 쓰여진 기계어들은 프로세서의 명령어가 아닌, jvm의 기계어인 바이트코드이다. 그 바이트코드를 jvm이 해석해 프로그램이 실행된다. JVM이란 무엇인가 JVM(Java Virtual Machine)이란, 자바를 실행하기 위한 가상 머신이다. 자바 애플리케이션은 모두 이 jvm을 통해 실행이 되기 때문에 자바 애플리케이션이 실행되려면 반드..
함수형 인터페이스 함수형 프로그래밍이란, 데이터의 처리를 수학적 함수의 계산으로 취급하고 함수를 1등 시민으로 취급하는 프로그래밍 기법이다. 함수형 프로그래밍은 상태와 가변 데이터를 멀리하여 부작용이 없도록 한다. 자바는 함수형 프로그램 언어가 아니라 함수가 1등 시민이 아니다. 그렇기 때문에 함수를 리턴하지도, 파라미터로 받지도, 변수에 담지도 못한다. 자바는 대신에 함수형 인터페이스를 지원한다. 함수형 인터페이스는 단 하나의 추상 메소드를 가진 인터페이스이다. @FunctionalInterface 어노테이션을 붙여주면 확실히 할 수 있다. 함수형 인터페이스들은 익명 객체의 구현으로 동작하며, 간편하게 익명 객체를 구현하는 람다식으로 그 구현을 한다. 함수형 인터페이스의 종류 Function - T 값..
Stream 순차 및 병렬 집합 연산을 지원하는 일련의 요소. 데이터를 담고 있는 저장소가 아니며, 스트림이 처리하는 데이터 소스는 변경되지 않는다. 중계 오퍼레이터와 종료 오퍼레이터가 있다. 중계 오퍼레이터 distinct() - 이 스트림의 별개의 요소(Object.equals(Object)에 따라)로 구성된 스트림을 반환한다. (중복 제거) filter(Predicate) - Predicate와 일치하는 요소들만 모아서 스트림을 반환. map(Function) - Function으로 각각의 요소들을 변환. flatMap(Function) - map과 비슷하지만, Function의 반환값이 Stream이고, Optional의 faltMap과 마찬가지로 컬렉션이나 Optional 객체를 받으면 한꺼풀 ..
Optional Optional은 null이 아닌 값을 포함할 수도, 포함하지 않을 수도 있는 컨테이너 객체이다. 주로 리턴값에 쓰인다. 넘겨줄 값이 빈 값일 수도 있다고 알려주고 클라이언트는 그에 맞춰 처리를 진행한다. Optional 객체를 만드는 메서드 Optional.of() - null이 아닌 값을 받아 Optional로 감싼다. Optional.ofNullable() - null을 받을 수도 있다. 만약 null이라면 빈 Optional 객체를 반환한다. Optional.empty() - 빈 Optional 객체를 반환한다. ( = 기본 생성자, Optional.ofNullable()에 null값을 넣었을 때)e ex) -----------------------------------------..
데이터 정의 언어 DDL(Date Definition Language)은 컴퓨터의 데이터를 정의하는 컴퓨터 언어 또는 컴퓨터 언어 요소이다. CREATE - 새로운 테이블, 뷰, 인덱스, 저장 프로시저 만들기 DROP - 이미 존재하는 테이블, 뷰, 인덱스, 저장 프로시저 제거하기 ALTER - 이미 존재하는 DB 개체에 대한 변경, RENAME 역할 TRUNCATE - 테이블에서 데이터를 제거(돌이킬 수 없음) 데이터 조작 언어 DML(Data Manipulation Language)은 데이터베이스에 대해 데이터 검색, 등록, 삭제, 갱신을 위한 데이터베이스 언어 또는 데이터베이스 언어 요소이다. SELECT - 검색 INSERT - 삽입 UPDATE - 수정 DELETE - 삭제 데이터 제어 언어 D..