Java
-
Java - Network - ChatJava 2018. 2. 6. 08:44
import java.io.IOException;import java.net.InetSocketAddress;import java.net.ServerSocket;import java.net.Socket; public class ChatServer { public static void main(String[] args) { try { //1. 서버소켓 생성+특정 IP 개방 ServerSocket server = new ServerSocket(5001); System.out.println("연결 요청 대기"); //2. 연결 수락 Socket socket = server.accept(); System.out.println("연결 수락"); //3. 메시지가 오면 받아서 읽고 Receiver ..
-
Java - NetworkJava 2018. 2. 5. 12:31
// Network import java.net.InetAddress;import java.net.UnknownHostException; public class GetIP { public static void main(String[] args) throws UnknownHostException { // Get LocalHost IP InetAddress addr = InetAddress.getLocalHost(); System.out.println(addr.getHostAddress()); // Get Domain IP String domain = "www.sangmoo.xyz"; addr = InetAddress.getByName(domain); System.out.println(addr.getHost..
-
Java - Stream IOJava 2018. 2. 2. 14:25
// 보조 스트림 // 보통 1~2단계까지 보조를 거친다 // 주가 보조로 합쳐지는 것 import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.InputStreamReader; import java.io.OutputStreamWriter; public class TextFileCopy { public static void main(String[] args) throws Exception { // 1. 파일 위치 String oriPath = "D:/news.txt"; String targetPath = "D:/newsCopy.txt"; // 2. 스트림 FileInputStream fis = new FileInputS..
-
Java - File I/OJava 2018. 2. 1. 14:30
// java에서 파일이나 폴더를 다루려면 java.io.File 객체가 필요 하다. import java.io.File;import java.io.IOException; public class FileMain { public static void main(String[] args) throws IOException { // 폴더 생성 File dir = new File("C:/img"); if(!dir.exists()) { System.out.println("폴더가 없네요"); dir.mkdir(); // 만들기 } // 파일 생성 File file = new File("C:/img/test.txt"); if(!file.exists()) { Sys..
-
Java - Java I/OJava 2018. 2. 1. 12:16
// Java I/O// Data의 흐름을 Stream이라 한다.// Byte Base -> Input Stream, Output Stream// Character Base -> Reader, Writer import java.io.IOException;import java.io.InputStream;public class SysInput { public static void main(String[] args) { System.out.println("아무거나 입력하십쇼 : "); InputStream is = System.in; int ascii; try { ascii = is.read(); // input으로 받는 int형 메서드 System.out.println(ascii);..
-
Mac에서 이클립스로 C언어 프로그래밍하기Java 2018. 2. 1. 03:16
출처 - http://blackturtle.tistory.com/711659 - 이클립스. 맥에서 개발을 하는 툴은 정말 다양하게 많은 것 같습니다. 하지만 딱히 한국에서는 무얼 써야할지 감이 오지 않을 정도로 어쩌면 너무 많은 정보들이 있습니다. - 이클립스로 C프로그래밍을 한다고? 맥에서 이클립스로 C언어 개발을 해보겠다고 하니, 일단 웹에서도 자료가 많지 않고, 모 커뮤니티에서는 '변태' 소리까지 들었습니다만. (...) 굳이 이클립스로 개발 공부를 해보려는 것은 몇가지 이유가 있습니다. 첫번째로 아직 개발에 익숙치 않아서 윈도우즈에서도 작업하던 이클립스가 편하고, 두번째로 같은 이유로 제 맥북에서 작업하던 모습을 동료들에게 보여주면 난색을 표하는 경우가 더러 있습니다. 일단 대다수의 학생들이 윈도..
-
Java - Thread Pool, Thread Pool BlockingJava 2018. 1. 31. 14:51
// Thread pool은 대여소 같은 역할을 수행 한다.// 대여할 Thread가 없다면 대기해야 한다.// Thread pool은 ExecutorService 객체를 통해 생성 된다.// 생성시에는 초기/코어/최대 스레드 수를 명시해 준다. // 코어 스레드 수 - 최소한으로 유지되어야 하는 수 // 동시 수행 - 실시간(Real Time), 병렬 처리// 프로그램상 스레드는 실제 스레드에서 남는 부분에서 수행한다.// 그래서 여러 스레드를 만들 수 있다. // Thread Pool의 작업은 Runnable과 Callable로 생성 한다.// 두 방법의 차이는 return 값의 유무 이다.// Runnable은 return값이 없고 Callable은 있다. // 생성된 ..
-
Java - Deamon Thread, Thread GroupJava 2018. 1. 31. 13:14
// deamon thread는 main thread작업을 돕는 보조적인 역할을 수행 한다.// Work Thread와 마찬가지로 main thread에 의해서 생성 된다// 다만 life cycle의 차이가 있다. // deamon thread는 main thread가 끝날때 같이 끝난다.// Work thread는 작업이 다 끝나야 thread가 끝난다. public class DeamonThread extends Thread { @Override public void run() { while(true) { try { Thread.sleep(500); System.out.println("Thread Working..."); } catch (InterruptedExcept..