본문 바로가기
[Java] JDBC, Database Clob 이 뭐야? 자바, JDBC, Database Clob 이 뭐야? CLOB 이란 오라클의 필드 타입으로 4GB 의 Text 데이타를 저장할 수 있다. ( 대용량 ) 4GB, CLOB, DATABASE, Java, jdbc, oracle clob, text data, 대용량 text, 오라클, 자바, 필드 타입 2013. 9. 2.
[Java] InetAddress 이야기 자바, InetAddress 이야기 InetAddress 클래스는 특정 IP 주소를 다루기 위해 고안된 class 이다.이 녀석은 factory method 들을 제공하며, 생성자로 만들 수 없다. InetAddress[] getAllByName( String host )InetAddress getByAddress( byte[] addr )addr[0] = (byte) 192addr[1] = (byte) 128addr[2] = (byte) 1addr[3] = (byte) 121InetAddress getByAddress( String host, byte[] addr )InetAddress getByName( String host )InetAddress getLocalHost() addr, factory .. 2013. 8. 22.
[Java] String 에 대한 이야기. 자바, String 에 대한 이야기. Java 를 사용하다 보면 간혹 memory 관리 측면에서 String str = "gamza"; String str2 = "gamza"; 사실 String 도 object 인데, 이런식으로 literal 을 계속 사용하면 메모리 문제가 생기지 않을까? 아니다. Java 의 String literal 의 경우 같은 literal 은 같은 메모리 주소를 가르키게 된다.즉 똑같은 "gamza" 라는 string 은 천만개의 String 에 assign 해도 같은 메모리 주소를 가르키기 떄문에Heap 의 용량이 늘지는 않고, 변수 자체가 차지하는 메모리는 스택쪽만 늘어나게 된다. 만약 다음과 같이 사용하면, 다른 주소에 할당해서 다른 메모리 주소를 가르키게 된다. Stri.. 2013. 8. 22.
[Java] Interface 에서 몰랐던 사실. 상수 정의. 자바, interface 에서 몰랐던 사실. 상수 정의. 지금까지 자바를 사용하면서 interface 에 상수를 정의한 적이 없어서 interface 에 상수를 정의할 수 있다는 사실을 몰랐다. 사실 interface 에 상수를 정의하는 것은 anti-pattern 이기 때문에 사용하지 않는 것이 맞긴 하지만, 간혹가다 framework 나 library 를 사용할 때 상수가 interface 에 정의된 경우가 있기 때문에 알아두면 좋을 것 같다. interface OnDragListener{ String device = "Mouse";void onDrag();} 위와 같이 상수 정의가 가능하다. interface 의 경우 그냥 변수정의를 해도 자동으로 public static final 이 붙는다. 따.. 2013. 8. 16.
[Java] URLConnection 이야기 자바, URLConnection 이야기 URLConnection 은 추상 클래스로 생성자를 이용하여 생성할 수 없다. URL.getConnection() 메소드를 통해 얻어올 수 있다. 이 URLConnection.connect() 함수를 통해서 해당 URL 에 연결할 수 있다. Url url = new URL( "http://www.google.com" ); URLConnection conn = url.getConnection();conn.connect(); 이 Connection 에 getInputStream() 을 호출해 내용을 불러올 수도 있고,getOutputStream() 을 이용해 내용을 쓸 수도 있다. getHeaderField( String name ) 을 이용해서 헤더 정보도 가져올 수.. 2013. 8. 14.
[Java] ClassPath 에 대한 이야기. 자바, ClassPath 에 대한 이야기. 요즘은 개발할 때 맨날 이클립스를 사용하니깐 직접 classpath 를 지정하며 컴파일 할 경우는 없지만, 이전에 학부시절에는 cmd ( 명령 프롬프트창 혹은 도스창 ) 에서 직접 javac 를 이용해 컴파일하고, java 를 이용해 실행하곤 했다. 자바 책을 보다 보니 classpath 에 대한 이야기가 나오는데, 학부시절에는 그냥 습관적으로 하던 것의 원리가 담겨져 있어 놀랬다.우리가 컴파일을 할 때 클래스패스를 지정하는 이유는.. 자바 프로그램은 기본적으로 CLASSPATH 로 지정된 경로에서만 클래스를 로딩할 수 있다. CLASSPATH 로 지정된 경로에서만 rt.jar 를 가져다 쓸 수 있다. 이런 이유에서 classpath 지정은 꼭 필요하다. > j.. 2013. 8. 13.
[Java] 접근 제한자에 대한 이야기. 자바, 접근 제한자에 대한 이야기. 접근제한자는 경우에 맞게 잘 사용하도록 설계되었는데 그냥 말단 client app 개발자인 필자는 사실 대부분 private 과 public 만 사용한다. library 를 설계하는 입장에서는 protected 나 default 도 많이 사용할텐데..여튼 접근 제한자들에 대해 함 알아보자. private 해당 클래스 내에서만 접근 가능 default 접근 제한자를 안 붙인 경우를 이야기하는데같은 패키지 내에서만 접근이 가능하다. protected 같은 패키지 내는 물론, 상속한 child 들도 사용이 가능하다. public 어디서든 사용이 가능하다. access modifier, default, Java, java access modifier, library 설계, P.. 2013. 8. 13.
[Java] inner class 에 대한 이야기 자바, inner class 에 대한 이야기. 자바를 사용하다 보면 항상 적게 사용하는 녀석들은 정확히 개념을 못 잡기 마련이다.필자에게는 그런 것 중 하나가 inner class 인데, 사용은 잘 하지만 IDE 에 의존하는 경향도 있기 떄문에 정확히 개념을 잡아본다. inner class Class 안에 정의된 내부 클래스로, 외부 클래스의 자원을 마치 자기 것처럼 사용할 수 있다는 장점이 있다. Inner class 로 정의하지 않은 경우에는 outer class 의 자원을 파라미터로 다 넘겨주어야 하기 떄문에 복잡해질 수 있다. 일반 inner class 는 맴버변수의 level 로 정의된다. 따라서 outer class 의 instance가 있어야 inner class 를 new 를 통해서 만들 .. 2013. 8. 9.
[Java] 형 변환에 대한 깊숙한 이야기. 자바, 형 변환에 대한 깊숙한 이야기. 요즘은 Eclipse 를 비롯한 IDE 들이 워낙 잘 되어 있어서, 알아서 에러를 표시해주고 어떻게 고쳐져야 하는지 Suggestion 까지 나와서 잊기 쉬운 간단하면서 당연한 형변환에 대한 이야기를 해본다. 작은 타입의 데이터를 큰 타입의 변수에 할당할 때는 자동 변환된다. 작은 타입과 큰 타입의 예는 int 와 long 의 관계처럼 볼 수 있다.만약 long 타입의 변수가 있는데, 이 변수에 int 값을 넣어주면 자동 형변환이 된다는 이야기이다. int a = 10;long b = a; // OK!! no casting necessary 큰 타입의 데이터를 작은 타입 변수에 할당할 때는 명시적으로 형 변환을 해 주어야 한다. 큰 타입의 데이터릊 작은 타입의 변수.. 2013. 8. 5.
반응형