• serval-dna——./tests/all——第二次测试


    [root@localhost serval-dna-development]# ./tests/all
    1 [PASS.] (logging) By default, only errors and warnings are logged to stderr
    2 [PASS.] (logging) Configure all messages logged to stderr
    3 [PASS.] (logging) Configure no messages logged to stderr
    4 [PASS.] (logging) By Default, all messages are appended to a configured file
    5 [PASS.] (logging) Configure level of messages appended to a configured file
    6 [PASS.] (logging) Log messages to stderr and a configured file
    7 [PASS.] (logging) Log file rotation and deletion
    8 [PASS.] (logging) Absolute log file directory path
    9 [PASS.] (logging) Relative log file directory path
    10 [PASS.] (logging) Absolute log file path
    11 [PASS.] (logging) Relative log file path
    12 [PASS.] (config) Get creates instance directory
    13 [PASS.] (config) Set creates instance directory
    14 [PASS.] (config) Get an unset config item
    15 [PASS.] (config) Set and get a single config item
    16 [PASS.] (config) Get all config items
    17 [PASS.] (config) Set and del config items in single command
    18 [PASS.] (config) Set a single config item twice
    19 [PASS.] (config) Delete an unset config item
    20 [PASS.] (config) Delete single config item
    21 [PASS.] (config) Config item names are case sensitive
    22 [PASS.] (config) Config item names must be well formed
    23 [PASS.] (config) Debug config options affect verbosity
    24 [PASS.] (config) Legacy 'interfaces' config option include all
    25 [PASS.] (config) Legacy 'interfaces' config option exclude all
    26 [PASS.] (config) Legacy 'interfaces' config option mixed list
    27 [PASS.] (config) Legacy 'interfaces' config option mixed list with details
    28 [PASS.] (config) Legacy 'interfaces' config option invalid type
    29 [PASS.] (config) Legacy 'interfaces' config option invalid port
    30 [PASS.] (config) Legacy 'interfaces' config option invalid speed is ignored
    31 [PASS.] (config) Legacy 'interfaces' config option incompatible with modern form
    32 [PASS.] (config) Modern 'interfaces.N.match' config option
    33 [PASS.] (config) Modern 'interfaces.N.file' config option
    34 [PASS.] (config) Config options 'interfaces.match' and 'interfaces.file' are incompatible
    35 [PASS.] (config) Config options 'interfaces.drop_packets' and 'interfaces.socket_type=DGRAM' are incompatible
    36 [PASS.] (config) Show help usage
    37 [PASS.] (config) Unknown command
    38 [PASS.] (keyring) Create keyring destroys existing keys
    39 [PASS.] (keyring) Create an identity & set the name and number
    40 [PASS.] (keyring) Set a named tag against an identity
    41 [PASS.] (keyring) No keyring PIN with PIN-less identities
    42 [PASS.] (keyring) No keyring PIN with identity PINs
    43 [PASS.] (keyring) Keyring PIN with PIN-less identities
    44 [PASS.] (keyring) Keyring PIN with identity PINs
    45 [PASS.] (keyring) Starting a server with no keyring creates a valid identity
    46 [PASS.] (keyring) Start daemon with a keyring PIN
    47 [PASS.] (keyring) Start daemon with an entry PIN
    48 [PASS.] (keyring) Start daemon, unlock and lock identities
    49 [PASS.] (keyring) Search for unlocked identities by their tags & values
    50 [PASS.] (keyring) Load keyring entries from a keyring dump
    51 [PASS.] (keyring) Load is atomic: all entries are loaded or none
    52 [PASS.] (keyring) Load de-duplicates keyring entries by SID
    53 [PASS.] (keyring) Load keyring entries with PIN arguments
    54 [PASS.] (keyring) Can read old keyring file (1)
    55 [PASS.] (keyring) Use keyring specified by environment variable
    56 [PASS.] (keyring) Read-only keyring environment variable
    57 [PASS.] (server) Starting server creates instance directory
    58 [PASS.] (server) Starting server gives no errors
    59 [PASS.] (server) Starting server with no configured interfaces gives warning
    60 [PASS.] (server) Starting server on dummy file interface gives no errors
    61 [PASS.] (server) Starting server on local interface gives no errors
    62 [PASS.] (server) Start server while already running
    63 [PASS.] (server) Attempt to start the server twice at the same time
    64 [PASS.] (server) Server stops when pid file removed
    65 [PASS.] (server) Server stops due to monitor client disconnection
    66 [PASS.] (server) Server process does not become a zombie
    67 [PASS.] (server) Server process invokes watchdog periodically
    68 [PASS.] (server) Server automatically reloads configuration
    69 [PASS.] (server) Server configuration sync
    70 [PASS.] (server) Server configuration always syncs after set
    71 [PASS.] (routing) Start 2 instances on one link
    72 [PASS.] (routing) Route between multiple identities
    73 [PASS.] (routing) Routes appear and disappear as identities are [un]locked
    74 [PASS.] (routing) Unlocking the same identity triggers migration
    75 [PASS.] (routing) Use single MDP per packet encapsulation
    76 [PASS.] (routing) Mismatched MDP packet encapsulation
    77 [PASS.] (routing) Start 2 instances on a point to point link
    78 [PASS.] (routing) Simulate a mesh extender radio link
    79 [PASS.] (routing) Link detection over low bandwith links
    80 [PASS.] (routing) Multiple nodes on one link
    81 [PASS.] (routing) Network scan with isolated clients
    82 [PASS.] (routing) Network scan a single address
    83 [PASS.] (routing) Single device with a broadcast filter
    84 [PASS.] (routing) Broadcast packets only
    85 [PASS.] (routing) Prefer unicast packets
    86 [PASS.] (routing) Prefer broadcast packets
    87 [PASS.] (routing) Start 4 instances in a linear arrangement
    88 [PASS.] (routing) Route across unicast links
    89 [PASS.] (routing) One node going offline
    90 [PASS.] (routing) Lose and regain neighbours due to turning off
    91 [PASS.] (routing) Lose and regain neighbours due to disabling interface
    92 [PASS.] (routing) Multiple links of different types to the same neighbour
    93 [FAIL.] (routing) Ping over a 1-hop unreliable link
    94 [PASS.] (routing) Ping over a 2-hop unreliable link
    95 [PASS.] (routing) Ping flood over an unreliable and congested link
    96 [PASS.] (routing) Broadcast ping over a 1-hop unreliable link
    97 [PASS.] (routing) Prefer a longer, better path vs an unreliable link
    98 [PASS.] (routing) Choose the best multihop path with some unreliable links
    99 [PASS.] (routing) Circle of nodes with one going offline
    100 [PASS.] (routing) Multiple possible paths
    101 [PASS.] (mdp) MDP filter rules drop incoming and outgoing packets
    102 [PASS.] (mdp) MDP filter rules allow incoming and outgoing packets
    103 [PASS.] (msp) Timeout when the connection isn't reachable
    104 [PASS.] (msp) Simple Hello World
    105 [PASS.] (msp) Client connection with no data
    106 [PASS.] (msp) Server sends no data
    107 [PASS.] (msp) Keep the connection alive with no data
    108 [FAIL.] (msp) Forward TCP connections to a remote server
    109 [FAIL.] (msp) Tunnel a tcp connection
    110 [PASS.] (msp) Transfer 1MB over an unreliable link
    111 [PASS.] (msp) TCP connection refused on forwarded stream
    112 [ERROR] (msp) Terminate a connection mid stream
    113 [PASS.] (dnahelper) Non-existent DNA helper executable
    114 [PASS.] (dnahelper) DNA helper configured argument
    115 [PASS.] (dnahelper) DNA helper returns one valid reply
    116 [PASS.] (dnahelper) DNA helper returns two valid replies
    117 [PASS.] (dnahelper) DNA helper returns three valid replies
    118 [PASS.] (dnahelper) DNA helper returns empty URI
    119 [PASS.] (dnahelper) DNA helper returns invalid URI, missing scheme
    120 [PASS.] (dnahelper) DNA helper returns invalid URI, invalid char
    121 [PASS.] (dnahelper) DNA helper returns invalid URI, empty hierarchical part
    122 [PASS.] (dnahelper) DNA helper returns mismatched token
    123 [PASS.] (dnahelper) DNA helper returns empty token
    124 [PASS.] (dnahelper) DNA helper returns invalid token
    125 [PASS.] (dnahelper) DNA helper returns invalid token, too long
    126 [PASS.] (dnahelper) DNA helper returns invalid token, too short
    127 [PASS.] (dnahelper) DNA helper returns mismatched DID
    128 [PASS.] (dnahelper) DNA helper returns empty DID
    129 [PASS.] (dnahelper) DNA helper returns invalid DID
    130 [PASS.] (dnahelper) DNA helper returns invalid DID, too long
    131 [PASS.] (dnahelper) DNA helper returns invalid DID, too short
    132 [PASS.] (dnahelper) DNA helper returns invalid reply, missing delimiter
    133 [PASS.] (dnahelper) DNA helper returns invalid reply, name too long
    134 [PASS.] (dnahelper) DNA helper returns invalid reply, empty line
    135 [PASS.] (dnahelper) DNA helper returns invalid reply, missing newline
    136 [PASS.] (dnahelper) DNA helper process takes too long to reply and is restarted
    137 [PASS.] (dnahelper) DNA helper spurious output after DONE is ignored
    138 [PASS.] (dnahelper) DNA helper process dies unexpectedly and is restarted
    139 [PASS.] (dnaprotocol) Lookup by wildcard
    140 [PASS.] (dnaprotocol) Lookup by empty string
    141 [PASS.] (dnaprotocol) Lookup non-existent phone number
    142 [PASS.] (dnaprotocol) Lookup local phone number
    143 [PASS.] (dnaprotocol) Lookup remote phone number
    144 [PASS.] (dnaprotocol) Resolve a remote identity
    145 [PASS.] (dnaprotocol) Lookup phone number three nodes reply
    146 [PASS.] (dnaprotocol) Lookup phone number two nodes reply
    147 [PASS.] (dnaprotocol) Lookup phone number one node replies
    148 [PASS.] (rhizomeops) Initial list is empty
    149 [PASS.] (rhizomeops) Add with no author and no manifest file
    150 [PASS.] (rhizomeops) Add with no manifest file
    151 [PASS.] (rhizomeops) Add with unsupported manifest field
    152 [PASS.] (rhizomeops) Add with unsupported manifest field argument
    153 [PASS.] (rhizomeops) Add with no author makes manifest without BK
    154 [PASS.] (rhizomeops) Add with invalid author fails
    155 [PASS.] (rhizomeops) Add encrypted payload with no author
    156 [PASS.] (rhizomeops) Add with non-existent manifest file
    157 [PASS.] (rhizomeops) Add with minimal manifest file
    158 [PASS.] (rhizomeops) Add with minimal manifest from arguments
    159 [PASS.] (rhizomeops) Add with empty payload
    160 [PASS.] (rhizomeops) List contains one file after one add
    161 [PASS.] (rhizomeops) Export manifest after one add
    162 [PASS.] (rhizomeops) Export bundle after one add
    163 [PASS.] (rhizomeops) Export bundle from external blob
    164 [PASS.] (rhizomeops) Export huge bundle after one add
    165 [PASS.] (rhizomeops) Corrupted payload fails to export
    166 [PASS.] (rhizomeops) Export manifest to standard output
    167 [PASS.] (rhizomeops) Export manifest after one add with no author
    168 [PASS.] (rhizomeops) Export non-existent manifest
    169 [PASS.] (rhizomeops) Export manifest using invalid ID
    170 [PASS.] (rhizomeops) Extract file after one add
    171 [PASS.] (rhizomeops) Extract and export non-existent file
    172 [PASS.] (rhizomeops) Extract and export file using invalid ID
    173 [PASS.] (rhizomeops) Add duplicate file does not create new bundle by default
    174 [PASS.] (rhizomeops) Add duplicate file with --force-new option
    175 [PASS.] (rhizomeops) Add mismatched manifest/payload fails
    176 [PASS.] (rhizomeops) Add new payload to existing manifest with same version fails
    177 [PASS.] (rhizomeops) Add new payload to existing manifest with new version
    178 [PASS.] (rhizomeops) Add new payload to manifest with author discovery
    179 [PASS.] (rhizomeops) Cannot add new payload to authorless manifest
    180 [PASS.] (rhizomeops) Add new payload to authorless manifest with bundle secret
    181 [PASS.] (rhizomeops) Add new payload to existing manifest with automatic version
    182 [PASS.] (rhizomeops) Update existing bundle using manifest args
    183 [PASS.] (rhizomeops) Add with invalid service fails
    184 [PASS.] (rhizomeops) Add with unsupported service succeeds
    185 [PASS.] (rhizomeops) Add and update authorless bundle with only secret passphrase
    186 [PASS.] (rhizomeops) Add and update bundle using secret passphrase
    187 [PASS.] (rhizomeops) Add and extract an encrypted payload
    188 [PASS.] (rhizomeops) Sender & recipient triggers encryption by default
    189 [PASS.] (rhizomeops) Broadcast recipients are not encrypted by default
    190 [PASS.] (rhizomeops) Add --bundle copies fields from existing manifest
    191 [PASS.] (rhizomeops) Create and append to a journal
    192 [PASS.] (rhizomeops) Journal append produces a shared payload
    193 [PASS.] (rhizomeops) Cannot create a journal using file add
    194 [PASS.] (rhizomeops) Cannot update a journal using file add
    195 [PASS.] (rhizomeops) Cannot append to a non-journal
    196 [PASS.] (rhizomeops) First add MeshMS creates manifest
    197 [PASS.] (rhizomeops) Subsequent add MeshMS updates manifest and removes old payload
    198 [PASS.] (rhizomeops) Add MeshMS without sender fails
    199 [PASS.] (rhizomeops) Add MeshMS without recipient fails
    200 [PASS.] (rhizomeops) Add MeshMS without author uses sender
    201 [PASS.] (rhizomeops) List manifests by filter
    202 [PASS.] (rhizomeops) List MeshMS manifests by filter
    203 [PASS.] (rhizomeops) Import a bundle created by another instance
    204 [PASS.] (rhizomeops) Import a bundle created by same instance
    205 [PASS.] (rhizomeops) Create and import combined bundle
    206 [PASS.] (rhizomeops) Import a journal bundle
    207 [PASS.] (rhizomeops) Delete a manifest from store
    208 [PASS.] (rhizomeops) Delete a payload from store
    209 [PASS.] (rhizomeops) Delete a bundle from store
    210 [PASS.] (rhizomeops) Delete a file from store
    211 [PASS.] (rhizomeops) Fail to insert a payload that is larger than the database
    212 [PASS.] (rhizomeops) Fail to insert a payload that is uninteresting
    213 [PASS.] (rhizomeops) Evict a large payload to make room for smaller payloads
    214 [PASS.] (rhizomeops) Reduce database size due to insufficient free space
    215 [PASS.] (rhizomeprotocol) New bundle and update transfer to one node
    216 [PASS.] (rhizomeprotocol) Encrypted payload can be opened by destination
    217 [PASS.] (rhizomeprotocol) Disabling fetching still allows pushing bundles
    218 [PASS.] (rhizomeprotocol) Disabling HTTP rhizome transports works
    219 [PASS.] (rhizomeprotocol) Rhizome over HTTP transport
    220 [PASS.] (rhizomeprotocol) Rhizome over MDP transport
    221 [PASS.] (rhizomeprotocol) Rhizome fails over to MDP transport
    222 [PASS.] (rhizomeprotocol) Rhizome over unicast MDP link
    223 [PASS.] (rhizomeprotocol) Transfer and update a journal bundle via MDP
    224 [PASS.] (rhizomeprotocol) Transfer and update a journal bundle via HTTP
    225 [PASS.] (rhizomeprotocol) Big new bundle transfers to one node via MDP
    226 [PASS.] (rhizomeprotocol) Big new bundle over unreliable MDP transport
    227 [PASS.] (rhizomeprotocol) Big new bundle transfers to one node via HTTP
    228 [PASS.] (rhizomeprotocol) Big new bundle transfers to one node via MDP, external blob file
    229 [PASS.] (rhizomeprotocol) Big new bundle transfers to one node via HTTP, external blob file
    230 [PASS.] (rhizomeprotocol) New bundle transfers to four nodes via HTTP
    231 [PASS.] (rhizomeprotocol) New bundle transfers to four nodes via MDP
    232 [PASS.] (rhizomeprotocol) New bundle transfers to four nodes via MDP, external blob files
    233 [PASS.] (rhizomeprotocol) New bundle transfers to four nodes via HTTP, external blob files
    234 [PASS.] (rhizomeprotocol) Payload deletion transfers to one node
    235 [FAIL.] (rhizomeprotocol) A corrupted payload should be re-fetched
    236 [PASS.] (rhizomeprotocol) A missing payload should be re-fetched
    237 [PASS.] (rhizomeprotocol) Enable and disable rhizome while fetching
    238 [PASS.] (rhizomeprotocol) Fetch a file range using HTTP GET
    239 [PASS.] (rhizomeprotocol) Import bundle using HTTP POST multi-part form.
    240 [PASS.] (rhizomeprotocol) Add file locally using HTTP, returns manifest
    241 [PASS.] (rhizomeprotocol) One way direct push bundles to configured peer
    242 [PASS.] (rhizomeprotocol) One way direct push bundles to given peer URL
    243 [PASS.] (rhizomeprotocol) One way direct pull bundle from configured peer
    244 [PASS.] (rhizomeprotocol) Two-way direct sync bundles with configured peer
    245 [PASS.] (rhizomeprotocol) MDP Transfer over simulated radio link (~90% packet arrival)
    246 [PASS.] (rhizomeprotocol) MDP Transfer over simulated radio link (~50% packet arrival)
    247 [PASS.] (meshms) Send messages, ack and read them in a 2 party conversation
    248 [PASS.] (meshms) Messages sent at the same time, thread differently
    249 [PASS.] (meshms) New incoming messages force the conversation to the top
    250 [PASS.] (meshms) List multiple conversations, with different numbers of messages
    251 [PASS.] (meshms) Send message from unknown identity
    252 [PASS.] (directory_service) Publish and retrieve a directory entry
    253 [PASS.] (directory_service) Ping via relay node
    254 [PASS.] (vomp) Attempt to dial a node with no phone
    255 [PASS.] (vomp) Hangup instead of answering
    256 [PASS.] (vomp) Call timeout
    257 [PASS.] (vomp) Successful call lifecycle
    258 [PASS.] (vomp) Multiple calls at once
    259 [PASS.] (vomp) Setup a unicast link during call establishment
    260 [PASS.] (keyringrestful) HTTP RESTful list keyring identities as JSON
    261 [FAIL.] (keyringrestful) HTTP RESTful list keyring identities as JSON, with PIN
    262 [PASS.] (keyringrestful) HTTP RESTful add keyring identity
    263 [FAIL.] (keyringrestful) HTTP RESTful add keyring identity with PIN
    264 [PASS.] (keyringrestful) HTTP RESTful set DID and name
    265 [PASS.] (keyringrestful) HTTP RESTful set DID and name with PIN
    266 [PASS.] (rhizomerestful) HTTP RESTful missing Basic Authentication credentials
    267 [PASS.] (rhizomerestful) HTTP RESTful incorrect Basic Authentication credentials
    268 [PASS.] (rhizomerestful) HTTP RESTful allow local cross site requests, and deny remote ones
    269 [FAIL.] (rhizomerestful) HTTP RESTful list 100 Rhizome bundles as JSON
    270 [ERROR] (rhizomerestful) HTTP RESTful list Rhizome bundles since token as JSON
    271 [PASS.] (rhizomerestful) HTTP RESTful fetch Rhizome manifest
    272 [PASS.] (rhizomerestful) HTTP RESTful fetch non-existent Rhizome manifest
    273 [PASS.] (rhizomerestful) HTTP RESTful fetch Rhizome raw payload
    274 [PASS.] (rhizomerestful) HTTP RESTful fetch Rhizome raw payload for non-existent manifest
    275 [PASS.] (rhizomerestful) HTTP RESTful fetch non-existent Rhizome raw payload
    276 [PASS.] (rhizomerestful) HTTP RESTful fetch Rhizome decrypted payload
    277 [PASS.] (rhizomerestful) HTTP RESTful cannot fetch foreign Rhizome decrypted payload
    278 [PASS.] (rhizomerestful) HTTP RESTful fetch Rhizome decrypted payload for non-existent manifest
    279 [PASS.] (rhizomerestful) HTTP RESTful fetch non-existent Rhizome decrypted payload
    280 [PASS.] (rhizomerestful) HTTP RESTful insert new Rhizome bundles
    281 [PASS.] (rhizomerestful) HTTP RESTful update anonymous Rhizome bundle
    282 [PASS.] (rhizomerestful) HTTP RESTful insert and update anonymous Rhizome bundle with passphrase secret
    283 [PASS.] (rhizomerestful) HTTP RESTful insert and update Rhizome bundle with passphrase secret
    284 [PASS.] (rhizomerestful) HTTP RESTful insert empty Rhizome bundle
    285 [PASS.] (rhizomerestful) HTTP RESTful insert 50 MiB Rhizome bundle
    286 [PASS.] (rhizomerestful) HTTP RESTful insert Rhizome bundle, missing 'manifest' form part
    287 [PASS.] (rhizomerestful) HTTP RESTful insert Rhizome bundle, incorrect 'manifest' content type
    288 [PASS.] (rhizomerestful) HTTP RESTful insert Rhizome bundle, incorrect 'manifest' content format
    289 [PASS.] (rhizomerestful) HTTP RESTful insert Rhizome bundle, duplicate 'manifest' form part
    290 [PASS.] (rhizomerestful) HTTP RESTful insert Rhizome bundle does not accept journals
    291 [PASS.] (rhizomerestful) HTTP RESTful insert Rhizome bundle, missing 'payload' form part
    292 [PASS.] (rhizomerestful) HTTP RESTful insert Rhizome bundle, duplicate 'payload' form part
    293 [PASS.] (rhizomerestful) HTTP RESTful insert Rhizome bundle, 'payload' form part before 'manifest'
    294 [PASS.] (rhizomerestful) HTTP RESTful insert Rhizome bundle, unsupported form part
    295 [PASS.] (rhizomerestful) HTTP RESTful insert Rhizome bundle, incorrect filesize
    296 [PASS.] (rhizomerestful) HTTP RESTful insert Rhizome bundle, incorrect filehash
    297 [PASS.] (rhizomerestful) HTTP RESTful Rhizome journal create and append
    298 [PASS.] (rhizomerestful) HTTP RESTful Rhizome journal append with shared payload
    299 [PASS.] (rhizomerestful) HTTP RESTful Rhizome cannot append to non-journal
    300 [PASS.] (meshmsrestful) HTTP RESTful missing Basic Authentication credentials
    301 [PASS.] (meshmsrestful) HTTP RESTful incorrect Basic Authentication credentials
    302 [FAIL.] (meshmsrestful) HTTP RESTful list MeshMS conversations as JSON
    303 [FAIL.] (meshmsrestful) HTTP RESTful list MeshMS messages in one conversation as JSON
    304 [PASS.] (meshmsrestful) HTTP RESTful list MeshMS messages from unknown identity
    305 [FAIL.] (meshmsrestful) HTTP RESTful list MeshMS messages in one conversation since token as JSON
    306 [ERROR] (meshmsrestful) HTTP RESTful list newly arriving MeshMS messages in one conversation as JSON
    307 [PASS.] (meshmsrestful) HTTP RESTful send MeshMS message
    308 [PASS.] (meshmsrestful) HTTP RESTful MeshMS send missing 'message' form part
    309 [PASS.] (meshmsrestful) HTTP RESTful MeshMS send duplicate 'message' form parts
    310 [PASS.] (meshmsrestful) HTTP RESTful MeshMS send 'message' form part missing Content-Type
    311 [PASS.] (meshmsrestful) HTTP RESTful MeshMS send 'message' form part unsupported Content-Type
    312 [PASS.] (meshmsrestful) HTTP RESTful MeshMS send 'message' form part missing charset
    313 [PASS.] (meshmsrestful) HTTP RESTful MeshMS send 'message' form part unsupported charset
    314 [PASS.] (meshmsrestful) HTTP RESTful MeshMS send from unknown identity
    315 [PASS.] (meshmsrestful) HTTP RESTful MeshMS mark all conversations read
    316 [PASS.] (meshmsrestful) HTTP RESTful MeshMS rejects unwanted content in POST request
    317 [PASS.] (meshmsrestful) HTTP RESTful MeshMS mark all conversations read
    318 [PASS.] (meshmsrestful) HTTP RESTful MeshMS mark a message as read
    318 tests, 305 pass, 10 fail, 3 error
    [root@localhost serval-dna-development]#

    <script>window._bd_share_config={"common":{"bdSnsKey":{},"bdText":"","bdMini":"2","bdMiniList":false,"bdPic":"","bdStyle":"0","bdSize":"16"},"share":{}};with(document)0[(getElementsByTagName('head')[0]||body).appendChild(createElement('script')).src='http://bdimg.share.baidu.com/static/api/js/share.js?v=89860593.js?cdnversion='+~(-new Date()/36e5)];</script>
    阅读(67) | 评论(0) | 转发(0) |
    给主人留下些什么吧!~~
    评论热议
  • 相关阅读:
    JAVA开发人员画图表总结(ECHARTS)
    Spring Validation 表单校验
    Java BIO、NIO、AIO 学习
    JAVA笔试题
    JAVA GC优化入门
    jstat 使用日志
    JAVA内存泄漏
    JAVA 线程池入门事例
    JAVA Semaphore
    Serializable 介绍
  • 原文地址:https://www.cnblogs.com/ztguang/p/12649204.html
Copyright © 2020-2023  润新知