본문 바로가기

java

SSL 서버 SSL 서버 지난 테크팁 'JSSE를 이용한 안전한 커뮤니케이션'에서 클라이언트측으로부터의 보안 HTTP 요청과 반응(HTTPS또는 HTTP over SSL)을 어떻게 핸들링하는지 배웠다. 이번 팁에서는 서버측 부분의 SSL 커뮤니케이션에 대해서 알아보기로 한다. 첫번째 팁 Working with Selectors에서와 같이 이번 팁의 서버는 에코 서버이다. 즉 서버는 클라이언트로부터 수신한 것을 단순히 클라이언트에게 재송신한다. Again, 클라이언트 측 테크팁에서의 경우과 같이 서버를 생성하기 위해 먼저 소켓 팩토리를 얻는다. SSL 서버용 소켓을 위해서 SSLServerSocketFactory 타입 팩토리를 이용한다. SSLServerSocketFactory는 javax.net.ssl 패키지에 있다.. 더보기
[JAVA] 컴파일러 들여다보기 마이크로소프트웨어 2006년 7월 기고글입니다. 자바 개발자라면 누구나 자바 컴파일러(javac)를 사용한다. 하지만 상당수 개발자는 컴파일러가 어떻게 동작하는지 관심이 없다.이들은 작성한 소스 코드가 오류 없이 컴파일되고 컴파일의 결과로 나온 클래스 파일이 원하는 기능을 수행하면 그만이라고 말한다.하지만 컴파일러 작성자가 아니더라도 컴파일러가 소스 코드를 어떤 형태의 바이너리(자바의 경우 바이트코드)로 변환시키는지 알아두면유용한 경우가 많다. 이 글에서는 몇 가지 예제를 중심으로 자바 컴파일러의 내부 동작을 엿보는 기회를 가지려고 한다. T 업계의 종사하는 사람이라면 18개월마다 컴퓨팅 파워가 2배가 된다는 무어(Moore)의 법칙을 잘 알고 있을 것이다. 컴파일러에도 이와 비슷한 법칙이 있다. Pro.. 더보기
자바에서 구조체사용.. 자바에서는 구조체라는건 없습니다. C에서의 구조체가 어떻게 보면 전혀 필요 없는거거든요... 왜냐면 자바는 객체지향언어이고... 사용자정의 타입을 만드는게 바로 하나의 클래스는 만드는 것이기 때문이죠.. 예제) typedef struct _node { struct _node *next; int number; int weight; } node; 자바에는 class Node{ int number = 0; int weight = 0; public void methodA(){} } 더보기
JNI 예제 - HelloWorld JNI 아래의 순서대로 실행하면 문제없이 자바에서 C 프로그램을 호출한 결과를 볼 수 있을 것이다. 사용환경은 다음과 같다. - CentOS5.3 64 bit - Java SE : javac 1.6.0_15 - C compiler : GNU GCC ▶ 먼저 아래의 C 프로그램을 호출하는 자바소스를 작성하자. [json01@localhost jni]$ vi HelloWorldJNI.java public class HelloWorldJNI { native byte[] sayHelloWorld(); // static { // System.setProperty("java.library.path", "/users/lib"); // System.loadLibrary("HelloWorldJNI"); // } public s.. 더보기