Java(5)
-
4주차 익셉션, 생명주기
1. 예외(Exception)처리란? 예외 (Exception) 라는 것은 프로그램 실행중에 발생할 수 있는 가벼운 에러 상태이며 예외 처리는 예외가 발생한 상황에서 프로그램을 종료하지 않고 가능한 한 예외를 핸들링하여 프로그램의 흐름을 복구하고, 초기에 의도하던 방향으로 프로그램을 수행할 수 있게 하는 것을 의미한다. 예외처리에는 다양한 방법이 있는데 그중에 JSP, Servlet언어의 예외처리를 알아 볼 것이다. 그전에 JSP와 Servlet언어가 무엇인지 차이점은 무엇인지 잠깐 살펴볼필요가있다. 1-1) Servlet이란? 웹 기반의 요청에 대한 동적인 처리가 가능한 Server Side에서 돌아가는 Java Program Java 코드 안에 HTML 코드 (하나의 클래스) 웹 개발을 위해 만든 표..
2019.06.16 -
Java JMX를 통해 자원 모니터링하기
이번에는 JMX라는 확장 라이브러리를 이용 JConsole, VisualVM 기반으로 톰캣에 대한 자원내역을 분석 해보는 방법을 알아 보려고 한다. 작업을 하다보면 실제로 얼마나 자원을 효율적으로 쓰고있는지 언제 과부화가 되는지 정도를 GUI를 통해 체크하고 싶을때가 있는데 그런 우리들에게 JMX라는 기술을 Java에서 제공한다는걸 알고 공부해 보았다. Java 7버전 이상에서부터 제공하는 JMX 모듈을 통해 우리는 Tomcat에 대한 자원 현황을 모니터링 할 수 있게 되었는데 준비단계부터 하나씩 순서를 밟으며 공부해보자. 기본준비 1. JMX 다운로드 및 모듈반영 (톰캣 7 이상의 버전에서 제공) * 다운로드 받은 파일은 Tomcat HOME 내의 lib 폴더에 넣는다. 2. TomcTomcat 서버에..
2019.05.24 -
2주차 ( 컬렉션 프레임워크 , 제네릭, 열거형 , 어노테이션 )
컬렉션 프레임워크 컬렉션 - 다수의 데이터 프레임워크 - 표준화되는 프로그래밍 방식 기본 배열 타입 명시, 길이 명시 기본배열 Collapse source int[] nums1 = new int[3]; nums1[0] = 100; nums1[1] = 200; nums1[2] = 300; for(int i=0; i Vector, Hashtable List 순서가 있는 데이터 집합 데이터 중복을 허용 Vector, ArrayList, LinkedList, Stack Set 순서를 유지하지 않는 데이터의 집합 데이터의 중복을 허용하지 않는다. HashSet, TreeSet Map 키와 값의 쌍으로 이루어지는 데이터의 집합 순서는 유지되지 않음 키는 중복을 허용하지 않지만, 값은 중복을 허용한다 HashMap,..
2019.05.16 -
[Spring] Spring @RestController JSON return시 406 Error
Spring Ajax를 사용하면서 JSON으로 return 하기 위해 사용했던 소스입니다. Ajax 통신을 return 을 list로 해주었는데 406 Error가 발생하여 살펴보니 내가 돌려주고자 하는 데이터는 JSON인데 produces에는 "application/text; charset=utf-8"로 지정해놔서 발생하는 에러였다. 406 에러가 난다면 Jackson-core , jackson-databind가 잘되어있는지 확인하고 produces와 ajax의 datatype을 확인하면 될것같다. @RequestMapping(value = "/{uuid}", method = RequestMethod.POST, produces = "application/json; charset=utf8") public..
2019.05.13 -
4주차 ( 람다식 , 입출력 )
[ ※ 실습예제로 쓰인 소스는 자바의 정석 개정판 & 구글 검색을 참고하였습니다. ] 람다식(Lambda expression)이 란? - 람다식은 간단히 말해서 메서드를 하나의 '식(expression)'으로 표현한 것이다. 람다식은 함수를 간략하면서도 명확한 식으로 표현할 수 있게 해준다. 메서드를 람다식으로 표현하면 메서드의 이름과 반환값이 없어지므로, 람다식을 '익명 함수(anonymous function)'이라고도 한다. - 모든 메서드들은 클래스에 포함되어야 하므로 클래스도 새로 만들어야 하고, 객체도 생성해야만 비로소 이 메서드를 호출할 수 있다. 하지만, 람다식은 이 모든 과정없이 오직 람다식 자체만으로도 이 메서드의 역할을 대신할 수 있다. 다음 아래 특징 & 장단점들을 살펴보자. 특징 (..
2019.05.11