자바 성능을 향상시키는 몇 가지 효율적인 사용법을 공유하다
for(int i=0; i {
...
}
for(int i=0; i {
...
}
다음으로 바꾸기...
view plaincopy to clipboardprint?
for(int i=0;n=collection.size();i {
...
}
2. 보통 순환 index와 상관없이 순환의 바깥쪽으로 옮긴다
for(int i=0;terminal=x.length;i X[i]=x[i]/scaleA*scaleB;
}
for(int i=0;terminal=x.length;i X[i]=x[i]/scaleA*scaleB;
}
... 로 바꾸다
double scale = scaleB/scaleA;
for(int i=0; terminal=x.length; i X[i]=x[i]*scale;
}
2. 문자열
문자열 연결을 제거하고 긴 문자열을 만들 때 항상 StringBuffter 대신 StringBuffer 공간을 미리 할당합니다
StringBuffer sb = new StringBuffer(5000);
3. 기본 데이터 유형
중요한 순환에서 기본 데이터 형식(int형 데이터는 대개 long/double형 데이터보다 빠르다)을 사용하는 기본 데이터 형식(Boolean, Integer, etc)의 포장 클래스는 전달하는 방법의 매개 변수가 하나의 대상의 인용이어야 할 때(기본 수거 형식이 아니라) 모든 상수 대수 표현식에 static final 수식자를 사용한다.
상수를 쉽게 인용하기 (컴파일러가 상수 표현식을 미리 계산함)
4.이상
이상은 하나의 진정한 오류 조건에만 사용됩니다
하나의 이상을 던지고 하나의catch 코드 블록을 실행하는 데 비용이 많이 든다. (주로 이상을 만들 때 스레드 창고의 스냅샷을 얻기 때문이다) 조건이 정말 이상할 때만 이상을 던진다.
컴파일러와 실행 시 최적화를 위해 몇 가지 방법을 하나의try/catch 블록에 호출하는 것이지, 각각의 방법을 호출하기 위해 몇 개의try/catch 블록을 실행하는 것이 아니다
5. 기준
이 모든 기술은 플랫폼과 가상 시스템에 따라 다를 수 있으므로 주의하십시오
예를 들어 어떤 servlet 용기에서는 OutputStream을 바이트로 출력하는 것이 더 빠르고 다른 용기에서는PrintWriter를 통해 문자를 출력하는 것이 더 빠르다
이 기교들이 묘사한 것은 가장 이식할 수 있는 건의이다
너는 너의 플랫폼에서 어떻게 가장 빠른지 판단하기 위해 몇 가지 기준을 실행해야 할 수도 있다
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.