본문 바로가기

Programing/Java38

javax.net.ssl.SSLProtocolException 해결책 URL Connection 을 사용하여 https URL 을 호출하던 중 아래와 같은 오류가 발생하였다. javax.net.ssl.SSLProtocolException: handshake alert: unrecognized_name 구글링을 해보니, Java 1.7 에서 SNI support 가 기본적으로 enable 되어서 발생한 것으로 확인되었다. http://stackoverflow.com/questions/7615645/ssl-handshake-alert-unrecognized-name-error-since-upgrade-to-java-1-7-0 이를 해결하기 위해서는 2가지 방법이 있다. -Djsse.enableSNIExtension=false 옵션추가 System.setProperty(“jss.. 2015. 12. 31.
java.io.InvalidClassException http://craftingjava.blogspot.kr/2012/06/javaioinvalidclassexception-no-valid.html 위 페이지를 번역한 내용입니다. java.io.InvalidClassException 은 Object Serialization 을 사용하다보면 흔히 접할 수 있는 오류이다. 이 오류는 3가지 주요 원인이 있는데, 이는 다음과 같다. 클래스의 Serial 버전이 다른 경우 알 수 없는 데이터 타입을 포함한 경우 기본 생성자가 없는 경우 여기서는 디폴트 생성자가 없는 경우를 살펴보도록 하자. InvalidClassException 이란? 이름에서도 알 수 있듯이, Serialized 또는 Deserialized 된 객체가 위에서 언급한 3가지 이유 중 하나로 in.. 2015. 7. 15.
Serializable 과 transient 정확히 어디였는지는 알 수 없으나, Blog에서 발췌한 글이다. (1) Serializable 데이터를 파일에 쓰거나, 네트워크를 타고 다른 곳에 전송할 때는 데이터를 바이트 단위로 분해하여 순차적으로 보내야 한다. 이것을 직렬화(Serialization)라고 한다. 기본 자료형(boolean, char, byte, short, int ,long, float, double)은 정해진 바이트의 변수이기 때문에 바이트 단위로 분해하여 전송한 후 다시 조립하는데 문제가 없다. 하지만 객체의 크기는 가변적이며, 객체를 구성하는 자료형들의 종류와 수에 따라 객체의 크기는 다양하게 바뀔 수 있다. 이런 객체를 직렬화 하기 위해서 Serializable 인터페이스를 구현하게 된다. [JAVA] 객체 직렬화 Objec.. 2015. 6. 29.
[자바8 람다의 힘] 3장 String, Comparator 그리고 filter 이 글은 "자바 8 람다의 힘" 책을 정리한 글입니다. Chapter 3. String, Comparator 그리고 filter 1. String Iteration 문자열(String) 의 각 문자들을 출력해보자. public class IteraeString { public static void main(String[] args) { final String str = "w00t"; str.chars().forEach(System.out::println); } } 2장 컬렉션 사용에서 공부한 것 처럼 method reference와 함께 사용할 수 있다. 여기서 chars() 는 CharSequence 인터페이스로부터 파생한 String 클래스의 새로운 메소드이다. 위 코드를 실행해보면 아래와 같이 숫자.. 2015. 4. 1.