这就是全新的Windows!
|
1、TCP服务器进程先创建传输控制块TCB,时刻准备接受客户进程的连接请求,此时服务器就进入了LISTEN(监听)状态; 2、TCP客户进程也是先创建传输控制块TCB,然后向服务器发出连接请求报文,这是报文首部中的同部位SYN=1,同时选择一个初始序列号 seq=x ,此时,TCP客户端进程进入了 SYN-SENT(同步已发送状态)状态。TCP规定,SYN报文段(SYN=1的报文段)不能携带数据,但需要消耗掉一个序号。 3、TCP服务器收到请求报文后,如果同意连接,则发出确认报文。确认报文中应该 ACK=1,SYN=1,确认号是ack=x+1,同时也要为自己初始化一个序列号 seq=y,此时,TCP服务器进程进入了SYN-RCVD(同步收到)状态。这个报文也不能携带数据,但是同样要消耗一个序号。 4、TCP客户进程收到确认后,还要向服务器给出确认。确认报文的ACK=1,ack=y+1,自己的序列号seq=x+1,此时,TCP连接建立,客户端进入ESTABLISHED(已建立连接)状态。TCP规定,ACK报文段可以携带数据,但是如果不携带数据则不消耗序号。 5、当服务器收到客户端的确认后也进入ESTABLISHED状态,此后双方就可以开始通信了。
四次挥手 图2 通用地理数据数字水印嵌入基本流程图 2、地理数据加密和访问控制技术 地理数据加密和访问控制技术[19]主要包括粒度控制、角色授权、数据空间特征访问控制等。朱长青等人[20]将地理数据访问控制存在的安全威胁分为涉及空间关系、时空尺度、属性、图层以及缺少外置程序等5类因素,并构建了“STALE”安全威胁模型,其中S、T、A、L、E分别为各类威胁的英文首字母: S——涉及空间关系的威胁(spatial relationship),访问控制策略无法表达空间关系约束,使得用户获得更多权限,导致数据泄密。 T——涉及时空尺度的威胁(temporal and spatial scale),忽略时空尺度与地理空间数据机密等级的关系,导致高密级数据泄露。 A——涉及属性的威胁(attribute),包含敏感安全语义的属性数据泄密。 L——涉及图层的威胁(layer),访问控制策略未考虑图层特征,导致涉密图层数据泄密。 E——缺少外置程序的保护(external protection program),对于文件形式的地理空间数据,由于缺少身份认证等访问控制前提条件,使得访问控制无法实施。
毛健等人[21]提出基于中间件技术的地理数据访问控制策略,从而对地理空间数据文件与数据库在访问控制中存在的安全威胁进行有效应对,如图3所示。 解决办法 第一种解决办法,其实很多读者已经想到了,异步线程内使用 try..catch 语句捕获所有异常即可。 「没错,就是这么简单。」 不过这里提一点,一般我们使用 try..catch仅仅只会捕获 Exception异常。 那么极端情况下,异步线程内如果抛出 Error,比如抛出了 java.lang.NoClassDefFoundError,此时是没法捕获,异步线程依旧会异常退出。 所以我们可以使用try..catch捕获 Throwable,这样及时发生 Error错误,也会被捕获。 不过个人觉得捕获Exception异常就够了,正常工程应用很少会发生 Error错误,所以我们只要了解有这个可能即可。 ps:之前同事上线一个应用,使用异步线程执行任务,每次执行到一半,都不再继续执行。 由于异步线程内使用try..catch捕获处理了 Exception异常,所以找了半天不知道什么问题。 最后,小黑哥排查 stdout 输出日志,才发现异步线程发生 Error错误。 这种解决本法需要我们主动去捕获异常,而下面第二种解决办法,设置线程异常处理方法。 一旦设置完成,如果异步线程内发生异常,线程退出之前将会调用异常处理方法。
我们拿 Thread 来讲,其设置方法如下: (编辑:潍坊站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |


