국수
IP 주소 의 길 이 는 32 비트 (총 2 ^ 32 개의 IP 주소) 로 4 단 으로 나 뉘 어 있 으 며, 단락 당 8 비트 는 10 진수 로 표시 되 어 있 으 며, 단락 당 숫자 범 위 는 0 ~ 255 이 며, 단락 과 단락 사 이 는 문장 으로 0.0.0.0 을 구분 하여 이 컴퓨터 의 모든 IP 주 소 를 대표 하기 때문에 그 는 false 로 되 돌아 갈 수 없습니다. 또한 첫 번 째 는 0 이 될 수 없습니다. 규칙 에 따라 단락 마다 같 고 범위 가 0 ~ 255 0 ~ 255 에 대응 하 는 정규 표현 식 은
([1-9]|[1-9]\\d|1\\d{2}|2[0-4]\\d|25[0-5])
입 니 다.또는 1 - 9 또는 10 - 99 또는 100 - 1999 또는 200 - 249 또는 250 - 255 분 5 단 \\.
이 한 문장 에 일치 하 는 첫 번 째 문장 은 0 이 되 지 않 고 세 개 는 0 (\\.([0-9]|[1-9]\\d|1\\d{2}|2[0-4]\\d|25[0-5])){3}
이 될 수 있 습 니 다.괄호 () 는 그룹 1, (abc | bcd | cde) 입 니 다. 이 단락 은 abc, bcd, cde 세 가지 중 하나 입 니 다. 순서 도 일치 해 야 합 니 다. 2, (abc)?이 그룹 이 같이 나타 나 거나 나타 나 지 않 거나 나타 나 면 이 그룹 내 순서에 따라 3, (?: abc) 는 이러한 abc 와 같은 그룹 을 찾 았 으 나 기록 하지 않 고
$
변수 에 저장 하지 않 으 면 $x
몇 번 째 괄호 에 일치 하 는 항목 을 찾 을 수 있 습 니 다. 예 를 들 어 (aaa)(bbb)(ccc)(?:ddd)(eee)
3 번 으로 (ccc) 와 일치 하 는 내용 을 얻 을 수 있 습 니 다.그리고 $4 는 (eee) 에서 일치 하 는 내용 을 가 져 옵 니 다. 앞의 괄호 는 변 수 를 저장 하지 않 았 기 때 문 입 니 다. 4, a (? = bbb) 순 서 를 둘 러 보면 a 뒤에 3 개의 연속 적 인 b 5, (? i: xxxx) 와 대소 문자 (? s: *) 를 구분 하지 않 고 줄 을 넘 어 일치 해 야 합 니 다. 리 턴 문자 와 일치 할 수 있 습 니 다.public class IsIp {
public static void main(String[] args) {
System.out.println(isboolIp(""));
System.out.println(isboolIp("192.168.1.1"));
System.out.println(isboolIp("256.2.3.4"));
System.out.println(isboolIp("1.2.3.4"));
System.out.println(isboolIp("1.2.3.4.5"));
System.out.println(isboolIp("1.2.3.4."));
}
/** * IP * @return the ip */
public static boolean isboolIp(String ipAddress) {
String ip = "([1-9]|[1-9]\\d|1\\d{2}|2[0-4]\\d|25[0-5])(\\.([0-9]|[1-9]\\d|1\\d{2}|2[0-4]\\d|25[0-5])){3}";
Pattern pattern = Pattern.compile(ip);
Matcher matcher = pattern.matcher(ipAddress);
return matcher.matches();
}
}
2. Linux 상용 명령 (면접 문제)
CPU 사용량 보기 메모리 사용량 보기:
top
명령 Windows 와 유사 한 작업 관리자 디스크 사용량 보기 df
명령3. linux 777 의 의미
chmod 777 -R *
이 항목 의 모든 폴 더 와 폴 더 에 있 는 파일 에 읽 기와 쓰기 권한 을 부여 합 니 다.4. HashMap 의 삽입 과정
무 참 구조 함 수 는 두 개의 매개 변 수 를 가 진 다른 구조 함수
public HashMap(int initialCapacity, float loadFactor)
를 호출 합 니 다. 앞의 매개 변 수 는 배열 table 의 초기 화 크기 가 기본 16 이 고 뒤의 매개 변 수 는 적재 인자 이 며 기본 값 은 0.75 입 니 다. 현재 배열 에 실제 저 장 된 요소 갯 수 와 배열 길이 의 비례 가 0.75 에 달 하면 배열 의 길 이 는 배로 늘 어 나 고 길이 가 최대 1<<32
2 의 32 제곱 입 니 다.HashMap 밑바닥 은 체인 테이블 을 통 해 hash 충돌 을 해결 하 는 수치 추출 시간 복잡 도 O (1)
삽입 과정 (1) 키 가 비어 있 는 지, 비어 있 는 지 판단 하려 면 putForNullKey 함 수 를 호출 합 니 다. putForNullKey 의 기능 은 원래 HashMap 에서 key 가 null 인 항목 을 찾 고 존재 하면 현재 value 로 원래 value 를 교체 하고 원래 value 로 돌아 가 는 것 입 니 다.존재 하지 않 으 면 삽입 합 니 다.단독으로 처리 해 야 하 는 이 유 는 null 이 아니라면 key 에 대해 hash 맵 을 하고 key 의 hash 값 을 계산 하여 현재 key 가 HashMap 에 있 는 위 치 를 찾 아야 하기 때 문 입 니 다. key 가 null 일 때 키 의 hash 값 을 기본 값 으로 0 입 니 다.(2): 특정한 hash 알고리즘 에 따라 key 의 hash 값 을 계산 합 니 다.(3): key 의 hash 값 과 hash 표 의 길이 에 따라 현재 이 key 가 hash 표 에서 의 색인 을 계산 합 니 다.
hash(key)%len
보통 이 렇 습 니 다 (4): 이 for 순환 기능 은 원래 의 HashMap 에서 제 가 지금 삽입 하려 고 하 는 이 key 가 존재 하 는 지 찾 습 니 다. 존재 한다 면 이 key 에 대응 하 는 원래 의 value 를 현재 이 value 로 교체 하고 오래된 value 로 되 돌려 줍 니 다.주의해 야 할 것 은 for 순환 에서 HashMap 은 배열 을 바탕 으로 하 는 것 이지 만 링크 를 바탕 으로 하 는 것 임 을 알 수 있 습 니 다. Hash 표 는 충돌 할 수 있 습 니 다. 즉, key 의 hash 값 과 같 습 니 다. 만약 에 우리 가 배열 만 사용한다 면 hash 값 이 같 을 때 한 배열 요소 에서 우 리 는 두 개의 값 을 저장 할 수 없다 는 것 을 알 기 때문에 HashMap 은 배열 뿐만 아니 라또한 링크, 즉 key 의 hash 값 을 통 해 key 가 배열 에 있 는 위 치 를 찾 은 다음 에 각각 hash 와 같은 key 를 사용 하여 링크 로 저장 합 니 다. 따라서 우 리 는 key 의 hash 값 으로 배열 의 위 치 를 찾 을 때 for 순환 을 사용 하여 링크 에 현재 이 key 가 저장 되 어 있 는 지 찾 아야 합 니 다. for 에서 볼 수 있 습 니 다. e = e. next 는 다음 노드 를 찾 는 것 입 니 다.5. 빈 hashmap 의 기본 크기 를 16 으로 정의 합 니 다. hashcode 를 17 로 계산 할 때 확장 합 니까?
상황 별: 저 장 된 현재 색인 은 일반적으로
hash(key)%len
이 고 사실은 hash(key)&(length-1)
이 모델 링 을 대체 한 것 입 니 다. length 는 2 의 차방 수 임 을 기억 하 십시오.그래서 결 과 는 16, 17% 16 = 1 보다 작 을 것 이다. 1 이 통 에 삽입 하고 원래 없 으 면 이때 값 이 있 는 배열 의 갯 수 + 1, 결과 와 배열 의 길이 비례: 0.75 보다 크 면 확대 된다.6. hash 충돌 해결 방법
1. 체인 테이블, 체인 주소 법, 예 를 들 어 hashmap, jdk 8, 그리고 붉 은 검 은 나무 2. 오픈 주소 법 은 충돌 이 발생 한 그 단원 부터 일정한 순서에 따라 해시 테이블 에서 빈 단원 을 찾 습 니 다.그리고 충돌 이 발생 한 요 소 를 이 단원 에 저장 하 는 방법선행 과 제곱 탐지, 쌍 산열 함수 탐사 법
제곱 탐사 법 에 대해 탐사 서열 의 보폭 수 치 는 탐사 횟수 i 의 두 배 감소 l 이다.쌍 산열 함수 탐사 법 에 대해 그 탐사 서열 의 보폭 값 은 같은 키워드 의 다른 산열 함수 의 값 이다.
3. 재 해시 법 은 여러 개의 서로 다른 해시 함 수 를 동시에 구성 합 니 다. H1 = RH1 (key) 이 충돌 할 때 H2 = RH2 (key) 로 계산 하여 충돌 이 발생 하지 않 을 때 까지 합 니 다.
4. 공공 넘 침 구역 을 만들어 해시 표를 공공 표 와 넘 침 표 로 나 누고 넘 침 이 발생 할 때 모든 넘 침 데 이 터 를 넘 침 구역 에 통일 합 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.