java进行大量数据校验时断网怎么办

Python013

java进行大量数据校验时断网怎么办,第1张

java进行大量数据校验时断网,将java虚拟机内存最大值调低到不大于服务器剩余的内存。该应用内存使用一直维持在2G内(快到2G时会触发垃圾回收的),从而不会导致总内存不足导致服务器kill掉进程。联网后继续查验。

1.【java代码】

//校验中文

public class TestLater {

public static void main(String[] args){

String aa = "中国China人"

for (int i = 0i <aa.length()i++) {

String bb = aa.substring(i, i+1)

//生成一个Pattern,同时编译一个正则表达式.

boolean cc = java.util.regex.Pattern.matches("[\u4E00-\u9FA5]", bb)

System.out.println(bb+" is chinese?->"+cc)

}

}

}

2.【validate框架】

<field property="other" depends="mask">

<arg key="cardinfo.other" position="0" bundle="-tfpartezoa-tfpartmda"/>

<var>

<var-name>mask</var-name>

<var-value>^[\w|\s|\u4e00-\u9fa5]+$</var-value>

</var>

</field>

实现方法:最简单的校验就是把原始数据和待比较数据直接进行比较,看是否完全一样这种方法是最安全最准确的。同时也是效率最低的。

应用例子:龙珠cpu在线调试工具bbug.exe。它和龙珠cpu间通讯时,bbug发送一个字节cpu返回收到的字节,bbug确认是刚才发送字节后才继续发送下一个字节的。 实现方法:在数据存储和传输中,字节中额外增加一个比特位,用来检验错误。校验位可以通过数据位异或计算出来。

应用例子:单片机串口通讯有一模式就是8位数据通讯,另加第9位用于放校验值。

bcc异或校验法(block check character)

实现方法:很多基于串口的通讯都用这种既简单又相当准确的方法。它就是把所有数据都和一个指定的初始值(通常是0)异或一次,最后的结果就是校验值,通常把它附在通讯数据的最后一起发送出去。接收方收到数据后自己也计算一次异或和校验值,如果和收到的校验值一致就说明收到的数据是完整的。

校验值计算的代码类似于:

unsigned uCRC=0//校验初始值

for(int i=0i<DataLenthi++) uCRC^=Data[i]

适用范围:适用于大多数要求不高的数据通讯。

应用例子:ic卡接口通讯、很多单片机系统的串口通讯都使用。 (Cyclic Redundancy Check)

实现方法:这是利用除法及余数的原理来进行错误检测的