JinSeong 2021. 10. 6. 17:45

02buffer.jps ์ฝ”๋“œ๋‚ด์šฉ

<%@page import="java.text.SimpleDateFormat"%>
<%@page import="java.util.Date"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"
    %>
<%--     buffer="8kb"
    autoFlush="false" --%>

<!--
	1bit
	1byte = 8bit
	1kbyte = 1024byte
	1M = 1024k
	1G = 1024M
	1T = 1024G 
-->    
    
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<!--
buffer๋Š” ์ถœ๋ ฅ๊ณผ ๊ด€๊ณ„์žˆ๋‹ค. out๊ฐ์ฒด
out๊ฐ์ฒด = response(์‘๋‹ต) ์ค‘ ์ถœ๋ ฅ๋ถ€๋ถ„์— ๊ด€์—ฌํ•˜๋Š” ๊ฐ์ฒด

buffer = 8kb
ํŽ˜์ด์ง€๋‚ด์˜ ์ถœ๋ ฅ๋ถ€๋ถ„์ด 8kb๊นŒ์ง€ ๋ชจ์•˜๋‹ค๊ฐ€ ํ•œ๋ฒˆ์— ์ „์†ก(์†๋„์™€ ๊ด€๋ จ์žˆ์Œ)

flush; ๋น„์šฐ๋‹ค(๋ฐ์ดํ„ฐ๋ฅผ ๋ณด๋ƒ„) = ๋ฒ„ํผ๊ฐ€ ๋‹ค ์ฐผ์„ ๋•Œ, ๋ฒ„ํผ์— ์Œ“์ธ ๋ฐ์ดํ„ฐ๋ฅผ ์‹ค์ œ๋กœ ์ „์†ก๋˜์–ด์•ผ ํ•  ๊ณณ(๋˜๋Š” ์ €์žฅ๋˜์–ด์•ผ ํ•  ๊ณณ)์— ์ „์†กํ•˜๊ณ (๋˜๋Š” ์ €์žฅํ•˜๊ณ )๋ฒ„ํผ๋ฅผ ๋น„์šฐ๋Š” ๊ฒƒ์„ ํ”Œ๋Ÿฌ์‹œ๋ผ๊ณ  ํ•œ๋‹ค.
autoFlush(true) : ๋ฒ„ํผ๊ฐ€ ์ฐจ๋ฉด ์ž๋™์œผ๋กœ ์ผ๋‹จ ๋ณด๋‚ด๊ณ (flush) ๋‹ค์‹œ ๋ฒ„ํผ๋ฅผ ์ฑ„์›€
autoFlush(false) : ๋ฒ„ํผ๊ฐ€ ๋‹ค ์ฐจ๋ฉด ์ต์„ผ์…˜์„ ๋ฐœ์ƒ์‹œํ‚ค๊ณ  ์ž‘์—…์„ ์ค‘์ง€ํ•œ๋‹ค. (jsp ๋ฒ„ํผ ์˜ค๋ฒ„ํ”Œ๋กœ์šฐ ์—๋Ÿฌ ๋ฐœ์ƒ)
out.flush(); : ์ž„์‹œ๋กœ ๋ฒ„ํผ ๋น„์šฐ๊ธฐ

clear : ๋น„์šฐ๋‹ค(๋ฐ์ดํ„ฐ๋ฅผ ์ง€์›€)
-->

<%
	out.clear();
	long startTime = System.nanoTime();
	out.print(System.currentTimeMillis());
	out.print("<br>");
	out.print(startTime);
	out.print("<br>");
	for(int i=0; i<10000;	i++){
		out.print("์ž„์ฐฝ๋ฏผ");
		/* out.flush(); */
		out.clear();
	}
	out.print("<br>");
	long lastTime = System.nanoTime() - startTime;
	out.print(System.currentTimeMillis());
	out.print("<br>");
	out.print(lastTime);
%>

<!--
	ํŠน์ • ์ฝ”๋“œ ์ž‘์„ฑ
	(out.flush)
	์ค‘ ์—๋Ÿฌ๊ฐ€ ๋‚ฌ๋‹ค.
	์—๋Ÿฌ๊ฐ€ ๋‚˜๋Š” ์ฝ”๋“œ
	--------------------------
	if(true){
		์ง€๊ธˆ๊นŒ์ง€ ํ•œ ๋‚ด์šฉ ์ง€์šฐ๊ณ  clear()
	}else{
		์ง€๊ธˆ๊นŒ์ง€ ํ•œ ๋‚ด์šฉ ๊ทธ๋Œ€๋กœ ๋‚จ๊ธฐ์ž.
	}
-->
</body>
</html>

๊ธฐ๋ณธ ๋‹จ์œ„ ์ •๋ณด

  • 1bit
  • 1byte = 8bit
  • 1kbyte = 1024byte
  • 1M = 1024k
  • 1G = 1024M
  • 1T = 1024G 

์ •๋ฆฌ

๋””๋ ‰ํ‹ฐ๋ธŒ ๋ถ€๋ถ„์— ๊ธฐ๋ณธ์ ์œผ๋กœ buffer="8kb" ์™€ autoFlush="true"๊ฐ€ ์„ค์ •๋˜์–ด์žˆ๋‹ค. 

 

buffer๋Š” ์ถœ๋ ฅ๊ณผ ๊ด€๊ณ„์žˆ๋‹ค. out๊ฐ์ฒด
out๊ฐ์ฒด = response(์‘๋‹ต) ์ค‘ ์ถœ๋ ฅ๋ถ€๋ถ„์— ๊ด€์—ฌํ•˜๋Š” ๊ฐ์ฒด

buffer = 8kb
ํŽ˜์ด์ง€๋‚ด์˜ ์ถœ๋ ฅ๋ถ€๋ถ„์ด 8kb๊นŒ์ง€ ๋ชจ์•˜๋‹ค๊ฐ€ ํ•œ๋ฒˆ์— ์ „์†ก(์†๋„์™€ ๊ด€๋ จ์žˆ์Œ)

flush; ๋น„์šฐ๋‹ค(๋ฐ์ดํ„ฐ๋ฅผ ๋ณด๋ƒ„) = ๋ฒ„ํผ๊ฐ€ ๋‹ค ์ฐผ์„ ๋•Œ, ๋ฒ„ํผ์— ์Œ“์ธ ๋ฐ์ดํ„ฐ๋ฅผ ์‹ค์ œ๋กœ ์ „์†ก๋˜์–ด์•ผ ํ•  ๊ณณ(๋˜๋Š” ์ €์žฅ๋˜์–ด์•ผ ํ•  ๊ณณ)์— ์ „์†กํ•˜๊ณ (๋˜๋Š” ์ €์žฅํ•˜๊ณ )๋ฒ„ํผ๋ฅผ ๋น„์šฐ๋Š” ๊ฒƒ์„ ํ”Œ๋Ÿฌ์‹œ๋ผ๊ณ  ํ•œ๋‹ค.
autoFlush(true) : ๋ฒ„ํผ๊ฐ€ ์ฐจ๋ฉด ์ž๋™์œผ๋กœ ์ผ๋‹จ ๋ณด๋‚ด๊ณ (flush) ๋‹ค์‹œ ๋ฒ„ํผ๋ฅผ ์ฑ„์›€
autoFlush(false) : ๋ฒ„ํผ๊ฐ€ ๋‹ค ์ฐจ๋ฉด ์ต์„ผ์…˜์„ ๋ฐœ์ƒ์‹œํ‚ค๊ณ  ์ž‘์—…์„ ์ค‘์ง€ํ•œ๋‹ค. (jsp ๋ฒ„ํผ ์˜ค๋ฒ„ํ”Œ๋กœ์šฐ ์—๋Ÿฌ ๋ฐœ์ƒ)
out.flush(); : ์ž„์‹œ๋กœ ๋ฒ„ํผ ๋น„์šฐ๊ธฐ

clear : ๋น„์šฐ๋‹ค(๋ฐ์ดํ„ฐ๋ฅผ ์ง€์›€)