본문 바로가기

Java23

[Java] 네트워킹 InputStream, OutputStream을 이용해서 네트워크상의 대상 사이의 데이터를 입력하고 출력한다 이때 네트워크상에서 데이터를 주고받기 위한 장치인 소켓(Socket)을 이용한다 Java에서는 Socket 클래스를 제공한다 실행순서 : 서버 -> 클라이언트 서버소켓 import java.net.ServerSocket; import java.net.Socket; // 서버 소켓 만든 후 브라우저로 접속 public class No18_Socket { public static void main(String[] args) { ServerSocket serverSocket = null; Socket socket = null; // 네트워크 관련된건 try구문 안에 넣어야 한다 try { serverS.. 2021. 8. 17.
[Java] 데이터 입출력(2) BufferedReader, BufferedWriter InputStream, OutputStream 은 바이트단위였다면 BufferedReader, BufferedWriter 는 문자단위로 읽고 쓴다 (실무에서는 대부분의 이미지, 동영상, 텍스트 파일은 바이트단위여서 input, output을 더 자주쓰긴 한다) InputStream, OutputStream BufferedReader import java.io.BufferedReader; import java.io.FileReader; import java.io.IOException; public class No17_BufferedR { public static void main(String[] args) { String fileName = "C:\\Users\\1\\Hellojava.txt"; Buffe.. 2021. 8. 9.
[Java] 데이터 입출력(1) FileInputStream, DataInputStream, FileOutputStream, DataOutputStream 입력 (Input) : 파일 읽기, 이미지 & 동영상 불러오기 출력 (Output) : 파일 쓰기, 이미지 & 동영상 내보내기 데이터가 오고 가는 길인 stream 으로 프로그램과 입/출력 대상을 연결한다 InputStream & OutputStream 은 추상클래스로 추상메소드를 갖고있다 InputStream 으로 프로그램에 입력하고 OutputStream 으로 프로그램에서 출력한다 InputStream 클래스 OutputStream 클래스 - FileInputStream - FileOutputStream - DataInputStream - DataOutputStream - BufferedInputStream - BufferedOutputStream FileInputStream & FileOutputS.. 2021. 8. 9.
[Java] 예외처리 프로그램에 문제가 발생했을 때, 그 문제로 인해 시스템 동작에 문제가 없도록 예외를 사전에 예방하는 코드를 작성한다 Exception 과 Error 예외는 소프트웨어 시스템적인 문제로 개발자가 대처할 수 있지만 에러는 물리적, 하드웨어적인 문제로 개발자가 대처할 수 없는 것이 차이 Exception - Checked Exception : 예외처리를 반드시 해야하는 경우(네트워크, 파일 시스템 등) - Unchecked Exception : 예외처리를 개발자의 판단에 맡기는 경우(데이터 오류 등) Exception 클래스의 대표적인 하위클래스 - NullPointerException : 객체를 가리키지 않는 레퍼런스를 이용할 때 - ArrayIndexOutOfBoundException : 배열에서 존재하지.. 2021. 8. 2.
[Java] Collections(1)_List 인터페이스 List 인터페이스 : 인덱스 이용, 데이터 중복 가능 - Vector - ArrayList - LinkedList Map 인터페이스 : key를 이용, key는 중복 불가, 데이터는 중복 가능 - HashMap ArrayList 클래스 import java.util.ArrayList; import java.util.LinkedList; import java.util.Vector; public class No14_List { public static void main(String[] args) { // 객체생성 ArrayList StrList = new ArrayList(); Vector vtr = new Vector(); LinkedList StrLinked = new LinkedList(); // 데.. 2021. 8. 2.
[Java] StringBuffer, StringBuilder String 객체는 데이터가 변화되면 메모리상의 변화가 많아 속도가 느리다 문자열이 변경되면 기존의 객체를 버리고 새로운 객체를 메모리에 생성하기 때문 (버려진 객체의 메모리는 GC에 의해 회수) 이를 보완한 것이 StringBuffer, StringBuilder인데, 데이터가 변경되면 기존의 객체를 재활용해 수정하는 것이 특징 속도는 StringBuilder가 조금 더 빠르지만 데이터안정성은 StringBuffer가 조금 더 좋다 StringBuffer는 멀티 스레드 상태에서 동기화를 지원하고 StringBuilder는 단일 스레드만 지원해서 하나씩 메모리를 받아서 속도는 느려질 수 있지만 데이터가 훼손되거나 누락되는일이 없다 많은 데이터를 처리할 때는 속도가 중요하기 때문에 StringBuilder를.. 2021. 8. 1.