반응형

개발/Java 62

[Java] Java IO 에 대해서

Java IO 는 예전부터 많이 느리다는 이야기가 있었다. 하지만 내부적으로 어떻게 동작하는지는 대충 알고 있었기 때문에 좀 더 자세히 알아야 할 필요가 있을 것 같다. 우선 Java IO 는 OS에서 관리하는 커널 버퍼에 직접 접근할 수 없으며, Blocking IO 이기 때문에 매우 비효율적이다. 모 블로그에서는 기존 자바 IO에서는 커널 버퍼를 직접 접근하는 Direct Buffer 를 핸들링 할 수가 없다고 한다. 그래서 소켓이나 파일에서 stream 이 들어오면 커널 버퍼에 쓰여지게 되는데 Code 상에서 접근 할 수 있는 방법이 없었기 때문이라고 한다. 그래서 JVM 이 JVM 내부의 메모리에 불러온 후에 이 데이터에 접근 할 수 있었는데 바로 이때 오버헤드가 발생해 느리다는 것이다. 기존의 ..

개발/Java 2017.08.08

[Java] 자바 코드로 .java 파일 컴파일 후 클래스 파일 실행해 결과값 출력

import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.File; import java.io.FileWriter; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; public class Cmd { private StringBuffer buffer; private Process process; private BufferedReader bufferedReader; private StringBuffer readBuffer; private File file; private BufferedWriter bufferWrite..

개발/Java 2017.08.01

[Java] Java 코드로 CMD 명령어 실행해 결과값 출력하기

자바 코드를 통해 메모장에 있는 코드들을 컴파일 해 그 결과값을 얻어보고 싶어졌다. 그래서 자바 코드로 CMD 명령어를 실행해야 하는데 다른 블로그에서는 실제 예제가 없어서 직접 코드를 쳐서 만들어 보았다. 나는 우선 "ipconfig" 라는 명령어를 자바 코드에서 실행해 결과값을 얻어보고 싶어졌다. import java.io.BufferedReader; import java.io.InputStream; import java.io.InputStreamReader; public class Cmd { private StringBuffer buffer; private Process process; private BufferedReader bufferedReader; private StringBuffer rea..

개발/Java 2017.08.01

[JAVA] 소켓 통신을 이용한 탱크 게임

소켓 통신을 이용한 내 생에 두 번째 프로그램이다.저번에는 C#으로 소켓 통신을 이용한 채팅 프로그램을 만들었는데 이번에는 조금 더 난이도 있는 소켓 통신을 이용한 탱크 게임이다. 정말 머리가 깨지는 줄 알았다. 소켓 이용해서 코딩 좀 많이 해봐여 겠다. 최근들어서 이 프로그램 개발한 것이 가장 실력이 늘은 것 같다.

개발/Java 2016.12.11
반응형