전체 글

안녕하세요 ?
Old Posts/Java

String vs StringBuffer vs StringBuilder

속도 : String StringBuffer = StringBuilder (적음)객체수 : String >>>>>>>>>>>>>>>>>>>>>> StringBuffer = StringBuilder (적음) StringBuffer , StringBuilder는 CharSequence 인터페이스를 구현하니까 StringBuilder는 가장 빠르지만 StringBuffer를 써야할 상황도 있다. Thread-Safety 하지 않아서 쓰레드를 사용한다거나, 사용할지도 모르는 경우에는 StringBuffer를 써야한다. 단일쓰레드에서는 StringBuilder를 사용하면된다. StringBuilder StringBuffer 변경하려면 여기!! 메모리StringBuilder가 메모리를 적게 먹는다?16 -> 34 ..

카테고리 없음

JVM

JVM하면은 음.. 자바소스파일을 실행시켜주는머신이고장점은 운영체제에 상관없이 음.. 그다음은단점은 느리다는거.. 왜? -> 음..그리고 가비지컬렉터가 힙을 관리해주기 때문에 자원반납을 지정안해줘도 된다.이정도로 알고있다. 일단 우리가 만든 자바파일을 컴파일해야한다.javac로 바이트코드로 만들어야 한다. javac C:\Users\PC\eclipse-workspace\jvmTest\src\jvmTest\plusC.java그러면 .class파일이 나온다. 실행 :java C:\Users\PC\eclipse-workspace\jvmTest\src\jvmTest.plusC

Old Posts/Java

Thread

Thread 만드는법은 2가지1. Thread 클래스 상속2. Runnable 인터페이스 구현 지금 소켓통신에 쓸 방법이 2번이라서 2번을 살펴본다. t.start(); public class ServerThread implements Runnable { Server s; Socket socket; public ServerThread(Server s){ this.Server = s; } public synchronized void run(){ try{ socket = s.getSocket(); } }catch(Exception e){ System.out.println("비정상 종료"); } } public Socket getSocket(){ // Thread에 Server의 socket 전달 위함. re..

카테고리 없음

공유기 2개시 포트포워딩 하는법

atom 다음과 같이 서버컴퓨터에 공유기가 2개(A,B) 물려있다고 가정해볼께요 ! Client ------------- 공유기A -------------- 공유기B ---------------- Server 175.200.173.127 192.168.0.2 192.168.1.7 클라이언트와 서버를 연결시키려고 합니다. socketServer.java ServerSocket serverSocket = new ServerSocket(5000); //서버 (포트 5000번 대기) socketClient.java Socket socket = new Socket("175.200.173.127", 5000); //클라이언트 (175.200.173.127:5002 접속) 클라이언트가 175.200.173.127:5..

Old Posts/Java

Java Grammar ( for better Algorithm )

1.Scanner sc = new Scanner(System.in);final int T = sc.nextInt();for(int t =1 ; t while(T-->0){ //Algorithm System.out.println(정답);} 2.Scanner -> BufferedReader , StringTokenizer br = new BufferedReader(new InputStreamReader(System.in));st = new StringTokenizer(br.readLine());m = Integer.parseInt(st.nextToken()); // 세로n = Integer.parseInt(st.nextToken()); // 가로k = Integer.parseInt(st.nextToken()..

Old Posts/Java

bitmask

삼성전자 S/W Test A형 쳤을때이거 까먹어서 당황했던 기억이 있다.bitmask..비트연산자..가즈아 int bitmask;bitmask = 5; //(101) print -> bitmask bitmask >> 1;//(10)->(5를 2로 나눈 몫 : 2)--오른쪽으로 한칸 밀어버리기 bitmask>>3 은 8로 나눈 몫이 나옴print -> bitmask & 3; // 4로 나눈 나머지 (1) -> 101 와 11 을 And 한 값이다. 01이 나온다 3을하면 11이니까 4로나눈나머지다. 7을하면 111이니까 8로 나눈 나머지이다. 비트조회bitmask = 22;if( (bitmask & 2) > 0) 10110 & 10 => 00010 (2) 이 값은 if문에서 0보다 크므로 참이다.오른쪽에서..

Old Posts/Java

final

import java.util.Arrays;import java.util.List; public class asd { public static void main(final String[] args) {// TODO Auto-generated method stubfinal List list = Arrays.asList(1,2,3,4,5,6);for(final Integer i : list) {// i = 1 ;

Old Posts/Java

Queue 제너릭

BFS하닥 Queue에 배열의 i,j값을 한쌍으로 저장할 경우가 여럿 생긴다.어떻게 넣을 것인가 1. Queue q = new LinkedList(); 2. Queue qN = new LinkedList(); Queue qM = new LinkedList(); 3. Queue q = new LinkedList(); static class Node{ int x,y; Node(int x, int y){ this.x = x; this.y = y; } } 이런 방법이 있을텐데성능은 아직 잘 모르겠다. 2번 비효율적일거같긴한데.. 자바신을 만나면 물어봐야겠다

bactoria
Bactoria