• C/C++

  • int (unsignedint)

  • __int8 (unsigned__int8)

  • __int16 (unsigned__int16)

  • __int32 (unsigned__int32)

  • __int64 (unsigned__int64)

  • short (unsignedshort)

  • long (unsignedlong)

  • long long (unsignedlonglong)

이름이 두 개의 밑줄(__)로 시작하는 경우 데이터 형식은 비표준입니다.

다음 표에 지정된 범위는 포함-포함입니다.

형식 이름

바이트

기타 이름

값의 범위

int

4

signed

–2,147,483,648 ~ 2,147,483,647

unsigned int

4

unsigned

0 ~ 4,294,967,295

__int8

1

char

-128 ~ 127

unsigned __int8

1

unsigned char

0 ~ 255

__int16

2

short, short int 및 signed short int

–32,768 ~ 32,767

unsigned __int16

2

unsigned short, unsigned short int

0 ~ 65,535

__int32

4

signed, signed int 및 int

–2,147,483,648 ~ 2,147,483,647

unsigned __int32

4

unsigned, unsigned int

0 ~ 4,294,967,295

__int64

9

long long, signed long long

–9,223,372,036,854,775,808 ~ 9,223,372,036,854,775,807

unsigned __int64

9

unsigned long long

0 ~ 18,446,744,073,709,551,615

bool

1

없음

false 또는 true

char

1

없음

–128~127(기본값)

/J를 사용하여 컴파일하는 경우 0~255

signed char

1

없음

-128 ~ 127

unsigned char

1

없음

0 ~ 255

short

2

short int, signed short int

–32,768 ~ 32,767

unsigned short

2

unsigned short int

0 ~ 65,535

long

4

long int, signed long int

–2,147,483,648 ~ 2,147,483,647

unsigned long

4

unsigned long int

0 ~ 4,294,967,295

long long

9

없음(그러나 __int64와 동일)

–9,223,372,036,854,775,808 ~ 9,223,372,036,854,775,807

unsigned long long

9

없음(그러나 unsigned __int64와 동일)

0 ~ 18,446,744,073,709,551,615

enum

varies

없음

자세한 내용은 이 문서의 설명을 참조하세요.

float

4

없음

3.4E+/-38(7개의 자릿수)

double

9

없음

1.7E+/-308(15개의 자릿수)

long double

double과 동일

없음

double과 동일

wchar_t

2

__wchar_t

0 ~ 65,535

  • JAVA

종류

 데이터형

 크기(bit)

데이터 표현 범위 

 정수형

 byte

8

-128 ~ 127

 short

16

-32768 ~ 32767

 int

32 

-2147483648 ~ 2147483647 

 long

64

 -9223372036854775808 ~ 9223372036854775807

 실수형

 float

32

1.4E-45 ~ 3.4028235E38 

 double

64

 4.9E-324 ~ 1.7976931348623157E308

 문자형

char

16 

'\u0000' ~ 'uFFFF' (16비트 유니코드 문자 데이터), 0 b~ 65535 

 논리형

 boolean

true 또는 false 


'Algorithm' 카테고리의 다른 글

알고리즘 - 삽입 정렬  (0) 2015.11.12
알고리즘 - 선택 정렬  (0) 2015.11.12
알고리즘 - 재귀 호출  (0) 2015.11.12
알고리즘 - 복잡도 분석  (0) 2015.11.12
알고리즘 문제 풀이 주의사항  (0) 2015.11.05
  • JSP, MVC 패턴의 등장



  • JSP? JavaServer Pages는 스크립트 언어로서 다음과 같은 특징을 갖고있다.

     - 자바 언어를 기반으로 하는 스크립트 언어로서 자바가 제공하는 기능 그대로 사용 가능(플랫폼에 상관없이 사용 가능)

     - HTTP와 같은 프로토콜에 따라 클라이언트의 요청을 처리하고 응답

     - HTML, XML 등 클라이언트가 요청한 문서를 생성하는 데 주로 사용된다.

     - 서블릿/EJB 등의 엔터프라이즈 기술들과 잘 융합된다.

     - 표현언어, 표현식, 스크립트릿 등 다양한 스크립트 요소와 액션 태그 등을 제공함으로써 보다 쉽게 웹 어플리케이션을 프로그래밍 할 수 있도록 도와준다.

    - 요청 URL과 서블릿 매핑


     - 일반적인 웹 서버 동작 방식


    -
    JSP 동작 방식


     - JSP -> Servlet

     - JSP Lifecycle


'Programing > Jsp' 카테고리의 다른 글

웹 프로그래밍 - 서블릿(2)  (0) 2015.11.03
웹 프로그래밍 - 서블릿(1)  (0) 2015.11.03
웹 프로그래밍 - Apache Tomcat  (0) 2015.11.03
웹 프로그래밍 - 기초  (0) 2015.11.03

- ServletConfig 객체


- ServletContext 객체


- HttpSession 객체











  • 속성











'Programing > Jsp' 카테고리의 다른 글

웹 프로그래밍 - JSP  (0) 2015.11.03
웹 프로그래밍 - 서블릿(1)  (0) 2015.11.03
웹 프로그래밍 - Apache Tomcat  (0) 2015.11.03
웹 프로그래밍 - 기초  (0) 2015.11.03
  • 서블릿? 자바 언어를 개발한 썬에서 웹 개발을 위해 만든 표준이다. 서블릿 규약에 따라 만든 클래스를 서블릿(Servlet)라고 부른다.





    - Servlet 구조


    - Servlet Lifecycle





  • 웹 컨테이너? 웹 어플리케이션을 실행할 수 있는 컨테이너. JSP 컨테이너 + 서블릿 컨테이너 = 웹 컨테이너

웹컨테이너에 대한 이미지 검색결과


  • 컨테이너와 서블릿 동작 방식


  • HttpServletRequest
    : 파라미터, 헤더, 쿠키, 세션, GET/POST, IP 등의 정보를 얻을 수 있는 메서드 존재


  • HTTPServletResponse
    : content 타입, 헤더, 에러값 등을 전달할 수 있는 메서드 존재


'Programing > Jsp' 카테고리의 다른 글

웹 프로그래밍 - JSP  (0) 2015.11.03
웹 프로그래밍 - 서블릿(2)  (0) 2015.11.03
웹 프로그래밍 - Apache Tomcat  (0) 2015.11.03
웹 프로그래밍 - 기초  (0) 2015.11.03
  • Apche Tomcat Server?



  • Apache Tomcat = Apache + Tomcat? X 

 - Apache Tomcat = Tomcat의 WAS기능 + Apache의 웹서비스 데몬 기능

 - Apache Tomcat은 기본적인 HTTP web server 기능을 포함하고 있는 WAS server

  • 성능향상을 위해 Apache와 Tomcat 연동?

 - 과거 톰캣의 Web 서버 기능은 아파치보다 느린 속도처리로 정적인 페이지는 Apache가 처리하고, 동적인 페이지를 Tomcat이 처리, 부하를 분산하는 이유에서 Apache와 Tomcat을 연동하였습니다.

 - 현재는 Tomcat이 많이 발전해 Tomcat 내의 Web 서버가 아파치에 절대 뒤쳐지지 않을만큼의 역할을 수행합니다.

 - Apache와 Tomcat을 연동하여 사용하는 이유는, 아파치 내에서만 설정할 수 있는 부분이라던가 아파치에서 제공하는 유용한 모듈(PHP, ASP 등)들을 톰캣에서 사용할 수 없기 때문입니다.

 - 결과적으로 유연성 위해 연동



출처: http://joont.tistory.com/55

'Programing > Jsp' 카테고리의 다른 글

웹 프로그래밍 - JSP  (0) 2015.11.03
웹 프로그래밍 - 서블릿(2)  (0) 2015.11.03
웹 프로그래밍 - 서블릿(1)  (0) 2015.11.03
웹 프로그래밍 - 기초  (0) 2015.11.03
  • HTML? HyperTextMarkup Language 
     - 웹 페이지를 작성하기 위한 일종의 언어

     - 웹브라우저가 HTML문서를 파싱 후 화면에 출력

     - Tag? HTML에서 사용되는 일종의 명령어

      : 대소문자 구분이 없다.

      : 시작 tag와 종료 tag는 적합한 순서로 nesting되어야 한다.

      : 주석 <!--  -->


  • CSS? Cascading Style Sheets
     - 웹문서에 글꼴, 색상, 여백등을 지정해 줄 수 있는 수단

     - CSS 적용하는 3가지 방법

     ① 외부 스타일 시트(External Style Sheet)

      : <style type="*/css"> ~ </style>

     ② 내부 스타일 시트(Internal Style Sheet)

     : <link rel="stylesheet" href="*.css"> 

     ③ HTML태그내에 스타일 지정(Inline Styles)

     :<p style="color:gray;">이 문단의 색상은 회색으로 지정됩니다.</p>

    -URL: [프로토콜]://[호스트][:포트][경로][파일명[.확장자][쿼리문자열]

    -통신 프로토콜: 서로 다른 기종의 컴퓨터 사이에 자료를 주고받기 위한 약속된 규약
      


  • 웹 어플리케이션 구축을 위해 필요한 구성 요소들



 구성 요소 


 -웹 서버: 웹 브라우저의 요청을 받아서 알맞은 결과를 웹 브라우저에 전송한다. 만약 프로그램 처리가 필요하다면 어플리케이션 서버를 사용하거나 프로그램을 직접 호출하여 결과를 생성한다. 주로 정적인 HTML, 이미지, CSS, 자바 스크립트 파일을 웹브라우저에 제공할 때 웹 서버를 사용한다. (Apache, nginx 등)

 -어플리케이션 서버: 게시글 목록, 로그인 처리와 같은 기능을 실행(처리)하고, 그 결과를 응답으로 웹 서버에 전달한다. (톰캣, JBoss 등)

 -데이터베이스: 웹 어플리케이션이 필요로 하는 데이터를 저장한다. (오라클, MYSQL, MSSQL 등)

 -웹 브라우저: 웹 서버에 서비스 실행을 요청하며, 웹 서버의 처리 결과를 사용자에게 보여준다. (인터넷 익스플로러, 구글 크롬, 파이어 폭스 등)



  • Server-side Conding



 - CGI(Common Gateway Interface) 방식: 요청마다 매번 메모리에 프로그램 로딩


 - 어플리케이션 서버 방식 : 메모리에 한 번만 로딩

 비교항목

실행코드 방식 

스크립트 방식 

코드 형태

컴파일 된 실행 프로그램 

컴파일 되지 않은 스크립트 코드 

실행 방식

컴파일 된 기계어 코드 직접 실행 

스크립트 코드를 해석한 뒤 실행 

코드 변경

소스 코드를 다시 컴파일 해야 함 

스크립트 코드만 고치면 됨  

종류

C 기반 CGI 프로그램 

JSP, ASP.net, PHP, Ruby  





스크립트 코드 번역은 최초 요청에 대해서 한 번만 발생하며, 이후의 요청에 대해서는 번역 과정 없이 앞서 번역된 코드를 실행하도록 함으로써 번역 횟수를 최소화 하고 있다.









'Programing > Jsp' 카테고리의 다른 글

웹 프로그래밍 - JSP  (0) 2015.11.03
웹 프로그래밍 - 서블릿(2)  (0) 2015.11.03
웹 프로그래밍 - 서블릿(1)  (0) 2015.11.03
웹 프로그래밍 - Apache Tomcat  (0) 2015.11.03
long long 형식의 변수를 printf문을 이용하여 %d로 출력을 하면 이상한 값이 출력된다.

long long 형식의 변수는 %u %lld , %lli , %llo , %llu , %llx를 이용하여 출력을하면 제대로 된 값을 얻을 수 있다.



%u : long long을 +- 부호 없는 정수로 출력하고 싶을 때

%lld : signed long long 변수를 출력할 때 사용

%lli : long long 변수를 10진수로 출력함

%llo : long long 변수를 8진수로 출력함 

%llu : unsigned long long 변수를 출력할 때 사용

%llx : long long 변수를 16진수로 출력함



[참고] printf와 scanf의 서식문자 정리

- printf 서식문자

서식문자

출력 대상(자료형)

출력 형태

%d

int

부호 있는 10진수 정수

%u

unsigned int

부호 없는 10진수 정수

%o

unsigned int

부호 없는 8진수 정수

%x, %X

unsigned int

부호 없는 16진수 정수

%f

float, double

10진수 방식의 부동소수점 실수

%e, %E

float, double

e 또는 E 방식의 부동소수점 실수

%g, %G

float, double

값에 따라 %f %e 사이에서 선택

%c

char

값에 대응하는 문자

%s

char *

문자열

%p

void *

포인터의 주소 값

%n

int *

포인터의 주소 값


printf(“%#7.5hd”);
A B C D
A : 출력의형태에조절을가하기위한특별한표시문자(#)
−: 좌측정렬
0 : 빈공갂을0으로채우기
+ : 출력할수의크기가0보다클때, + 기호붙여주기
공백: 출력할수의크기가0보다클때수의앞에빈칸하나출력
# : 8진수, 16진수출력시 각각0과0x를, 실수의경우소수점이하0 출력
B : 출력에사용되는최소한의폭(7)
C : 정밀도(5)
D : 출력데이터의크기정보변경(h)
%ld long
%lld long long
%Lf long double
 
- scanf 서식문자

서식문자

입력대상(자료형)

입력 형태

%d

int

부호 있는 10진수 정수

%i

int

부호 있는 10진수 정수

%u

unsigned int

부호 없는 10진수 정수

%o

unsigned int

부호 없는 8진수 정수

%x

unsigned int

부호 없는 16진수 정수

%c

char

문자

%s

char *

문자열

%p

void *

주소 값

%f %e %g

float

부호 있는 실수


%d

%hd

%hhd

int

short

char

%d

%ld

%lld

int

long

long long

%f

%lf

%Lf

float

double

long double


- 코드 하이라이트(Syntax Highlighter) 사용하기

  • 코드 하이라이트를 사용하기 위해서는 편집 화면 오른쪽위의 HTML 편집으로 전환해야 한다. 그리고 pre 태그의 class 속성에 "brush:브러쉬명"을 입력하고, pre 태그 안 쪽에 코드를 입력하면 된다.
1
2
3
<pre class="brush:브러쉬명">
    코드 기입
</pre>
  • 언어 JS파일과 브러쉬명은 아래와 같다.
    언어[브러쉬명]파일명
    ActionScript3as3, actionscript3shBrushAS3.js
    Bash/shellbash, shellshBrushBash.js
    ColdFusioncf, coldfusionshBrushColdFusion.js
    C#c-sharp, csharpshBrushCSharp.js
    C++cpp, cshBrushCpp.js
    CSScssshBrushCss.js
    Delphidelphi, pas, pascalshBrushDelphi.js
    Diffdiff, patchshBrushDiff.js
    Erlangerl, erlangshBrushErlang.js
    GroovygroovyshBrushGroovy.js
    JavaScriptjs, jscript, javascriptshBrushJScript.js
    JavajavashBrushJava.js
    JavaFXjfx, javafxshBrushJavaFX.js
    Perlperl, plshBrushPerl.js
    PHPphpshBrushPhp.js
    Plain Textplain, textshBrushPlain.js
    PowerShellps, powershellshBrushPowerShell.js
    Pythonpy, pythonshBrushPython.js
    Rubyrails, ror, rubyshBrushRuby.js
    ScalascalashBrushScala.js
    SQLsqlshBrushSql.js
    Visual Basicvb, vbnetshBrushVb.js
    XMLxml, xhtml, xslt, html, xhtmlshBrushXml.js


'Others' 카테고리의 다른 글

OOP - S.O.L.I.D  (0) 2016.03.22
[현장] 전설의 개발자 제프 딘, 한국 개발자를 만나다  (0) 2016.03.20
Bluetooth Low Energy  (0) 2016.01.26

JVM

JVM은 자바 가상머신(Java Virtual Machine)의 약자이다.

JVM은 자바 소스코드로부터 만들어지는 자바 바이너리 파일(.class)을 실행할 수 있다. 또한 JVM은 플랫폼에 의존적이다. 즉 리눅스의 JVM과 윈도우즈의 JVM은 다르다. 단, 컴파일된 바이너리 코드는 어떤 JVM에서도 동작시킬 수 있다.

JVM은 다음과 같은 역할을 한다.

  • 바이너리 코드를 읽는다.
  • 바이너리 코드를 검증한다.
  • 바이너리 코드를 실행한다.
  • 실행환경(Runtime Environment)의 규격을 제공한다. (필요한 라이브러리 및 기타파일)

JRE

JRE는 자바 실행환경(Java Runtime Environment)의 약자이다.

JRE는 JVM 이 자바 프로그램을 동작시킬 때 필요한 라이브러리 파일들과 기타 파일들을 가지고 있다. JRE는 JVM의 실행환경을 구현했다고 할 수 있다.

JDK

JDK는 자바 개발도구(Java Development Kit)의 약자이다.

JDK는 JRE + 개발을 위해 필요한 도구(javac, java등)들을 포함한다.


출처: https://wikidocs.net/257

'Programing > Java' 카테고리의 다른 글

Effective Java - Reference  (0) 2016.02.29
Garbage Collection  (0) 2015.11.15
Wrapper클래스,박싱(boxing),언박싱(unboxing)  (0) 2015.11.15
Collection  (0) 2015.11.15
JAVA 실행 과정  (0) 2015.11.14

+ Recent posts