10 만 개의 문자열 을 더 하면 무슨 일이 일어 날 까요?
버그 해결:
1. 저 는 먼저 플랫폼 의 로 그 를 검 사 했 는데 관련 업무 에 이상 이 없 음 을 발 견 했 고 전체 WEB 서버 의 로 그 를 검 사 했 는데 'TNS: connection close' 가 많은 것 을 발 견 했 습 니 다.그 다음 에 저 는 플랫폼 의 링크 풀 이 다 소모 되 었 기 때문에 링크 풀 을 다시 설정 하고 시간 초과 링크 를 정기 적 으로 회수 합 니 다.
2. 코드 가 출시 된 후에 도 사용 자 는 이 문제 가 존재 한다 고 반응 하지만 지금 은 제출 할 수 있 고 제출 하지 못 하 는 일이 없 을 것 입 니 다.하지만 아직 은 느 려 속도 가 올 라 가지 않 았 다.또한 운영 동 료 는 사용자 가 제출 하면 시스템 의 CPU 부하 가 무 서운 수량 급 에 이 를 것 이다.그래서 나 는 이 업무 모듈 의 모든 코드 를 꺼 내 하나씩 분석 하고 추적 했다.결 과 는 정말 문제 가 발견 되 었 습 니 다. 현지에서 도 10 만 줄 정도 의 서 류 를 제출 하 는 것 이 느 립 니 다.
천천히 코드 세그먼트 가 내 앞 에 나 타 났 다. 구체 적 으로 다음 과 같다.
while((fileLine = in.readLine()) != null) {
line_num++;
if(CTools.checkMobileValid(fileLine)!=0) {
text_error = "error";
send_hash.put(String.valueOf(hash_num), line_num + "_" + " !");
hash_num++;
}
else {
mobilenumber += fileLine + ",";
}
}
String[] mobilenumber_arry = mobilenumber .split(",");
mobilenumber += fileLine + ","; String[] mobilenumber_arry = mobilenumber .split(",");
코드 에 있 는 빨간색 글꼴 부분 을 주의 하 십시오. 그리고 이 순환 은 약 10 만 줄 입 니 다.
위의 코드 를 보고 나 는 매우 답답 했다..........................................................................
http://blog.csdn.net/chuan122345/archive/2007/08/12/1739806.aspx
이 예 를 통 해 우 리 는 문자열 링크 를 배 울 수 있 습 니 다. 가끔 은 정말 다운 될 때 가 있 습 니 다.만약 20 만 줄 의 파일 을 전송 한다 면 나 는 서버 를 직접 끊 을 것 이 라 고 의심 하지 않 을 것 이다.(물론 이것 도 서버 의 연 산 력 에 달 려 있다...)
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
자바 문자열 풀우리는 Java에서 문자열이 힙 메모리 영역에 저장된다는 것을 알고 있습니다. 이 힙 메모리 내부에는 String Pool이라는 특정 메모리 영역이 있습니다. 문자열 프리미티브를 생성하면 자바 문자열의 불변성 덕분에...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.