728x90
반응형
org.eclipse.ui.internal.console.IOConsolePartitioner
자바로 GUI프로그램(SWT, JFace, RCP)을 만들 때 IOConsole을 붙여 사용하는 경우가 있는데 해당 버퍼사이즈가 초과되면 OOM(Out Of Memory)가 나타난다. 이를 설정하기 위해 해당 클래스에는 setWaterMarks라는 함수가 있다.
해당 함수의 javadoc과 함수 형태는 다음과 같다.
/**
* Sets the text buffer size for this console. The high water mark indicates
* the maximum number of characters stored in the buffer. The low water mark
* indicates the number of characters remaining in the buffer when the high
* water mark is exceeded.
*
* @param low the number of characters remaining in the buffer when the high
* water mark is exceeded (if -1 the console does not limit output)
* @param high the maximum number of characters this console will cache in
* its text buffer (if -1 the console does not limit output)
* @exception IllegalArgumentException if low >= high & low != -1
*/
public void setWaterMarks(int low, int high) {
if (low >= 0) {
if (low >= high) {
throw new IllegalArgumentException("High water mark must be greater than low water mark"); //$NON-NLS-1$
}
}
partitioner.setWaterMarks(low, high);
}
함수의 파라미터에서 low는 최소 사이즈, high는 최대 사이즈를 말하는데 버퍼에 존재하는 character의 수 가 high이상이 되면 해당 버퍼에 있는 character의 수를 low만큼 남기고 비워준다. -1로 설정하는 경우는 제한없이 사용하는 것으로 한다.
처음에 해당 클래스의 이름을 보고 지폐나 문서에 들어가는 워터마크를 생각했는데 그런 워터마크가 아닌 수위(지점)을 말하는 단어로 사용되었다고 생각하고 있다..
728x90
반응형
'JAVA' 카테고리의 다른 글
JVM -XX Options (0) | 2021.03.01 |
---|---|
JVM 구조 (2) | 2021.03.01 |
자바 toUpperCase, toLowerCase를 이용한 대소문자 변환 (0) | 2020.11.12 |
JVM 32bit, 64bit 무엇을 골라야 하는가 (0) | 2020.11.10 |
자바 - 타임스탬프 만들기 (0) | 2020.10.09 |