목록JAVA (7)
jeongwon
MultipartRequest 를 통해 실제 파일이 물리적 공간에 생성되는 시점이 궁금했는데, 찾아보니 생성자 MultipartRequest(request,"업로드디렉토리",제한용량,"인코딩",파일명중복방지처리옵션) : MultipartRequest multi=new MultipartRequest(request, Constants.UPLOAD_PATH, Constants.MAX_UPLOAD, "utf-8", new DefaultFileRenamePolicy()); 이렇게 생성할 때 해당 디렉토리 위치에 저장해준다고 한다. 그래서 신규파일을 생성(위의 생성자를 호출)하기 전에 File 객체를 생성해 저장소 위치가 실제 존재하는지(디렉토리 존재) 확인을 거쳐 없는 경우 디렉토리를 생성해주어야 한다. 다음은 ..
※프로그래밍에서, 래퍼(Wrapper)는 활동범위를 설정하고 좀더 중요한 다른 프로그램의 실행을 가능하게 하는 프로그램이나 스크립트를 말한다. https://eehoeskrap.tistory.com/177 public interface RequestDispatcher 클라이언트로부터 request를 받는 객체이며, 클라이언트에게 servlet, Http File, JSP File 같은 리소스를 서버를 통해 보낸다. 서블릿 컨테이너(ex: 톰캣)는 이 객체를 생성하고, 특정 경로에 위치하거나 특정 이름으로 주어진 서버 리소스에 대한 Wrapper 역할을 한다. void forward(ServletRequest request, ServletResponse response) throws ServletExcep..
getBytes() 문자열을 default charset 형식으로 인코딩하고, 그 결과를 새 바이트 배열(byte[])에 저장하는 메소드이다. String (Java SE 18 & JDK 18) All Implemented Interfaces: Serializable, CharSequence, Comparable , Constable, ConstantDesc The String class represents character strings. All string literals in Java programs, such as "abc", are implemented as instances of this class. Strings are constan docs.oracle.com charset charset ..
기본형(primitive type) 변수를 객체로 다뤄야 하는 경우, 기본자료형을 클래스로 정의한 Wrapper 클래스를 사용한다. 내부적으로 기본형 변수를 지니고 있으며, Wrapper 클래스의 종류는 다음과 같다. Byte, Short, Integer, Long, Float, Double, Character, Boolean, Void 기본 자료형을 객체에 저장하는 것을 Boxing, 객체에서 기본자료형을 꺼내는 것을 UnBoxing 이라 한다. //기본자료형 변수 선언 int num1=20; int num2; //Integer(Wrapper class)의 참조변수 선언 Integer i1;//null Integer i2 = new Integer(50);//Auto Boxing i1 은 아직 저장하고 ..

'메모리의 낭비'를 초래하는 String 의 불변성 문제를 해결한 것이 StringBuffer, StringBuilder이다. 두 클래스는 기본적으로 동일한 기능으로 작성되어 있다. StrgintBuilder가 더 최신버전인데, StringBuffer은 멀티쓰레드에 안전한 대신 동기화가 성능을 떨어뜨리기에, 쓰레드의 동기화를 뺀 StringBuilder가 추가된 것이다. (하지만 성능향상이 특별히 필요한 경우 외에는 꼭 StringBuilder로 작성할 필요는 없다.) String 문자열 저장 - new 연산자, 메모리, Heap, String Pool, 불변성 String 타입 변수에 문자열을 저장할 때, new 연산자 사용 여부에 따라 메모리 상의 다른 영역에 저장된다. new 연산자를 사용하지 않을..

String 타입 변수에 문자열을 저장할 때, new 연산자 사용 여부에 따라 메모리 상의 다른 영역에 저장된다. new 연산자를 사용하지 않을 경우 : String s1 = "Java"; Heap 메모리 내부의 String 상수 영역인 String Constant Pool 에 저장된다. 동일한 문자열의 내용으로 새로운 참조변수를 생성한다고 해도, new 연산자를 사용하지 않으면 참조변수는 Pool 영역 내에 동일한 문자열이 저장된 주소를 가리킨다. String s2 = "Java"; s2 역시 s1과 동일한 주소를 가리킨다는 의미다. new 연산자를 사용할 경우 : String s3 = new String("Java"); String은 사실 클래스이기 때문에 위와 같이 생성이 가능하다. (혹은 Stri..
1. Class 1) 객체 지향 언어의 기본적 빌딩 블록. 2) 소스 안에 public 클래스가 있다면, 반드시 소스 파일의 이름은 public 클래스 이름과 일치해야 함. 3) 하나의 소스 파일 안에 public 클래스가 2개 이상이면 컴파일 오류 발생. 2. Method 1) 특정 작업을 수행하는 코드 묶음으로, 외부로부터 값을 입력 받아 특정 작업 수행 및 결과값 반환. 2) main 메소드는 최우선 실행되며, main 메소드를 지닌 클래스가 반드시 하나는 있어야 함. 3. Statement 1) 작업 지시 단위. (메소드 등 내에서. 흔히 한 개 이상의 키워드 포함. 참고: https://shoark7.github.io/programming/knowledge/expression-vs-stateme..