본문 바로가기

java7

[Java] JAVA - JDK - JRE - Java EE - Java ME - Java SE - Java FX 1. * Java SE: 표준적으로 쓰이는 Java 버전이다. swing 등을 포함하고 있다. CUI, GUI 의 프로그래밍을 위한 언어이다. 여기에 몇가지 기능들이 더 추가되어 있다고 보면 된다. * Java EE (or J2EE): Java Enterprise Edition . 엔터프라이즈 에디션(=상용버전) 이다. Java SE 에서 서버와 연관된 기능들이 추가된 플랫폼이다. JSP, EJB, JNDI, JSTL, Servlet, JDBC 등이 포함된 플랫폼이다. * Java ME: Java Micro Edtion. (예전에는 Java Mobile Edition) 모바일 같은 장치 용이다. * Java FX (지금은 거의 쓰이지 않음): Rici 환경을 구성하기 위한 플랫폼이다. 스크립팅으로 구현하.. 2016. 6. 17.
[JAVA] Double Float 형의 오차 개요 그냥 /100 한 후에 * 100 을 한 것 뿐인데 오차가 생긴다. 본문 double doubleA = 3.4; doubleA = doubleA / 100 \* 100; System.out.println(doubleA); 이렇게만 하여도 값은. 3.4000000000000004 이런식으로 출력이 된다. 여태 몰랐는데... Float 는 어떨까 싶었다. https://stackoverflow.com/questions/3413448/double-vs-bigdecimal 해결 BigDecimal을 이용한다고 한다. // 나눗셈 BigDecimal bd1 = new BigDecimal("10"); BigDecimal bd2 = new BigDecimal("3"); String a = bd1.divide(b.. 2016. 6. 11.
[Java] (error) error : java.lang.UnsupportedClassVersionError error : java.lang.UnsupportedClassVersionError 이라는 에러가 발생했다. 400 에러 페이지 였나 여기서 이런 에러 내용이 출력이 되었다. 보아하니, 클라이언트에서 컴파일된 class 파일이 서버의 jdk 버전과 안 맞아서 발생하는 문제였다. 즉 개발상태의 이클립스에서는 최신버전의 jdk 를 쓰고 있었는데, 서버의 jdk 버전이 낮다보니 읽을 수 없다는.. 그런 내용인 듯 하다. 이클립스 에서 프로젝트 설정 중에 보면, [java compiler] 라는 항목이 있는데, 여기서 버전을 맞춰주면 된다. 2016. 6. 7.
[Java] webservlet annotation @WebServlet({"/CalculatorController",""})public class CalculatorController extends HttpServlet {...} 위와 같은 경우에 @WebServlet 이라는 annotation 이 생겼다. 프레임워크에만 있는 개념이라고 생각했는데, 그냥 이클립스 최신 버전에서 톰캣도 최신버전으로 깔고, 일반 웹어플리케이션 만드는 과정인데도 annotation 이 생겼다. 아마도 기본적으로도 사용이 되는 부분인 듯 하다. 이클립스에서는 [New] - [Servlet] 해서 만들게 되면 자동으로 annotation 이 생겨 있다. @WebServlet("/CalculatorController") 이런 형태로 생기게 되는 것인데, 주소를 하나만 사용할 것이.. 2016. 6. 7.
[자바 Java] XML 값가져오기 개요일시적으로 XML 에서 데이터를 읽어와서 DB 를 생성하기 위한 목적으로 만든 소스 입니다. 대충 이렇게 하니 되는구나 를 보시고, 좋은 소스들은 검색해보시기 바랍니다. 본문 작업환경 : Android Studio 2.1 JDK : 1.8.0_66 테스트일자: 2016-05-01 소스 출처 : 구글에서 막 검색해서 짜깁고 짜깁다가, 결국은 한줄한줄 테스트를 거치면서 완성한 소스. ㅠㅠ 퍼온 소스들은 미묘하게 잘 안 되어서...환경의 차이인가? xml 형태 예시 item 1 item 2 item 3 소스 예시 public void assignData(String uri){ try{ DocumentBuilderFactory documentBuilderFactory = DocumentBuilderFacto.. 2016. 5. 1.
[Java] String 문제. StringBuffer, StringBuilder 등 Java 를 쓰다보면, StringBuffer 와 StringBuilder 등을 만나게 된다. 다른 OOP 언어를 써도 이런 경우가 발생할 수가 있다. StringBuffer 가 나은지, StringBuilder 가 나은지 를 떠나서. 왜 이런 경우가 발생하는지에 대해서 이야기를 해보고자 한다. 여기서 하는 말은 모두 추상적인 상상으로 기술하는 내용이다. 우리가 깊숙히 들어갈 필요는 없이 상상 만으로 짐작해 볼 수가 있다. 문자열 a = "가나다라마바사아자차카타파하" 라는 구문이 있다고 하자. 이 문자열은 길이가 명확하다. 14글자 이고, 이것은 byte 로 치환하면 일정한 바이트가 나올 것이다. 이것은 메모리에 넣어두기가 매우 유용하다. 짐작적으로 볼 때에, 이러한 고정된 문자열은 1) 클래스안에 같이.. 2016. 4. 29.
MVC 패턴에 대해서 오늘은 MVC 패턴에 대해서 이야기 해보고자 합니다. 가능한 짧고 간단하게 설명하고 싶은데, 잘 될지 모르겠네요. 출처는 제 뇌 입니다. MVC 패턴은 다음의 약자입니다. Model 모델View 뷰Controller 컨트롤러 세가지의 앞 글자를 따서, MVC 패턴 이라고 부릅니다. 개인적으로 볼 때, MVC 를 순서를 거꾸로 해서. Controller, View, Model 순으로 집중을 하면 이해가 쉽다고 봅니다. 먼저, 어떠한 호출을 가장 먼저 Controller 에서 받게 됩니다. Controller 에서 View 를 호출하는 구조를 최초로 갖는게 특징입니다. 그렇지 않다면, 음...이 패턴은 MVC 라고 보기가 어렵습니다. 이 단순한 점으로, MVC 패턴을 구분하는 첫 번째 단서가 됩니다. 사실 .. 2016. 3. 17.