最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

解決java啟動(dòng)時(shí)報(bào)線(xiàn)程占用報(bào)錯(cuò):Exception?in?thread?“Thread-14“?java.net.BindException:?Address?already?in?use:?bind

 更新時(shí)間:2023年04月17日 15:51:06   作者:黑白極客  
這篇文章主要給大家介紹了關(guān)于解決java啟動(dòng)時(shí)報(bào)線(xiàn)程占用:Exception?in?thread?“Thread-14“?java.net.BindException:?Address?already?in?use:?bind的相關(guān)資料,文中將解決的辦法介紹的非常詳細(xì),需要的朋友可以參考下

前言

本文提供三種不同的解決方式,也是三種不同的情況和思路

我的問(wèn)題是在springboot整合了xxl-job一段時(shí)間后出現(xiàn)的。如果你程序里集成了xxl-job或者有需要配置其它端口的地方,這篇文章或許可以給你帶來(lái)啟發(fā)或者解決你的問(wèn)題。

1 異常

啟動(dòng)項(xiàng)目后拋出異常,但是奇怪的是執(zhí)行器在任務(wù)調(diào)度中心中注冊(cè)成功,也能成功執(zhí)行

  .   ____          _            __ _ _
 /\\ / ___'_ __ _ _(_)_ __  __ _ \ \ \ \
( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \
 \\/  ___)| |_)| | | | | || (_| |  ) ) ) )
  '  |____| .__|_| |_|_| |_\__, | / / / /
 =========|_|==============|___/=/_/_/_/
 :: Spring Boot ::        (v2.2.2.RELEASE)

2023-02-14 11:22:15.516  INFO 4436 --- [           main] com.jxj.SafetyWebserverApplication       : Starting SafetyWebserverApplication on abc with PID 4436 (C:\project\safetyproduction_collectdata\target\classes started by whx in C:\project\safetyproduction_collectdata)
2023-02-14 11:22:15.521  INFO 4436 --- [           main] com.jxj.SafetyWebserverApplication       : No active profile set, falling back to default profiles: default
2023-02-14 11:22:16.722  INFO 4436 --- [           main] .s.d.r.c.RepositoryConfigurationDelegate : Multiple Spring Data modules found, entering strict repository configuration mode!
....

2023-02-14 11:22:19.191  INFO 4436 --- [           main] o.s.s.c.ThreadPoolTaskScheduler          : Initializing ExecutorService 'taskScheduler'
2023-02-14 11:22:19.394  INFO 4436 --- [           main] com.jxj.config.XxlJobConfig              : >>>>>>>>>>> xxl-job config init.
2023-02-14 11:22:19.666  INFO 4436 --- [           main] o.s.s.concurrent.ThreadPoolTaskExecutor  : Initializing ExecutorService 'applicationTaskExecutor'
2023-02-14 11:22:20.271  INFO 4436 --- [           main] c.xxl.job.core.executor.XxlJobExecutor   : >>>>>>>>>>> xxl-job register jobhandler success, name:demoJobHandler, jobHandler:com.xxl.job.core.handler.impl.MethodJobHandler@c6bf8d9[class com.jxj.task.WarningTask#demoJobHandler]
2023-02-14 11:22:20.585  INFO 4436 --- [           main] o.s.i.endpoint.EventDrivenConsumer       : Adding {logging-channel-adapter:_org.springframework.integration.errorLogger} as a subscriber to the 'errorChannel' channel
2023-02-14 11:22:20.586  INFO 4436 --- [           main] o.s.i.channel.PublishSubscribeChannel    : Channel 'application.errorChannel' has 1 subscriber(s).
2023-02-14 11:22:20.586  INFO 4436 --- [           main] o.s.i.endpoint.EventDrivenConsumer       : started bean '_org.springframework.integration.errorLogger'
2023-02-14 11:22:20.586  INFO 4436 --- [           main] o.s.i.endpoint.EventDrivenConsumer       : Adding {message-handler:mqttPublisherConfig.mqttOutbound.serviceActivator} as a subscriber to the 'mqttOutboundChannel' channel
2023-02-14 11:22:20.586  INFO 4436 --- [           main] o.s.integration.channel.DirectChannel    : Channel 'application.mqttOutboundChannel' has 1 subscriber(s).
2023-02-14 11:22:20.600  INFO 4436 --- [           main] o.s.i.endpoint.EventDrivenConsumer       : started bean 'mqttPublisherConfig.mqttOutbound.serviceActivator'
2023-02-14 11:22:20.600  INFO 4436 --- [           main] o.s.i.endpoint.EventDrivenConsumer       : Adding {message-handler:mqttSenderConfig.mqttOutbound.serviceActivator} as a subscriber to the 'mqttOutboundChannel1' channel
2023-02-14 11:22:20.601  INFO 4436 --- [           main] o.s.integration.channel.DirectChannel    : Channel 'application.mqttOutboundChannel1' has 1 subscriber(s).
2023-02-14 11:22:20.601  INFO 4436 --- [           main] o.s.i.endpoint.EventDrivenConsumer       : started bean 'mqttSenderConfig.mqttOutbound.serviceActivator'
2023-02-14 11:22:20.601  INFO 4436 --- [           main] o.s.i.endpoint.EventDrivenConsumer       : Adding {message-handler:mqttSubscriberConfig.handler.serviceActivator} as a subscriber to the 'mqttInboundChannel' channel
2023-02-14 11:22:20.601  INFO 4436 --- [           main] o.s.integration.channel.DirectChannel    : Channel 'application.mqttInboundChannel' has 1 subscriber(s).
2023-02-14 11:22:20.601  INFO 4436 --- [           main] o.s.i.endpoint.EventDrivenConsumer       : started bean 'mqttSubscriberConfig.handler.serviceActivator'
2023-02-14 11:22:20.601  INFO 4436 --- [           main] ProxyFactoryBean$MethodInvocationGateway : started bean 'mqttGateway'
2023-02-14 11:22:20.601  INFO 4436 --- [           main] ProxyFactoryBean$MethodInvocationGateway : started bean 'mqttGateway'
2023-02-14 11:22:20.601  INFO 4436 --- [           main] ProxyFactoryBean$MethodInvocationGateway : started bean 'mqttGateway'
2023-02-14 11:22:20.601  INFO 4436 --- [           main] o.s.i.gateway.GatewayProxyFactoryBean    : started bean 'mqttGateway'
Exception in thread "Thread-17" java.net.BindException: Address already in use: bind
	at sun.nio.ch.Net.bind0(Native Method)
	at sun.nio.ch.Net.bind(Net.java:433)
	at sun.nio.ch.Net.bind(Net.java:425)
	at sun.nio.ch.ServerSocketChannelImpl.bind(ServerSocketChannelImpl.java:223)
	at io.netty.channel.socket.nio.NioServerSocketChannel.doBind(NioServerSocketChannel.java:134)
	at io.netty.channel.AbstractChannel$AbstractUnsafe.bind(AbstractChannel.java:551)
	at io.netty.channel.DefaultChannelPipeline$HeadContext.bind(DefaultChannelPipeline.java:1346)
	at io.netty.channel.AbstractChannelHandlerContext.invokeBind(AbstractChannelHandlerContext.java:503)
	at io.netty.channel.AbstractChannelHandlerContext.bind(AbstractChannelHandlerContext.java:488)
	at io.netty.channel.DefaultChannelPipeline.bind(DefaultChannelPipeline.java:985)
	at io.netty.channel.AbstractChannel.bind(AbstractChannel.java:247)
	at io.netty.bootstrap.AbstractBootstrap$2.run(AbstractBootstrap.java:344)
	at io.netty.util.concurrent.AbstractEventExecutor.safeExecute$$$capture(AbstractEventExecutor.java:163)
	at io.netty.util.concurrent.AbstractEventExecutor.safeExecute(AbstractEventExecutor.java)
	at io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:510)
	at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:518)
	at io.netty.util.concurrent.SingleThreadEventExecutor$6.run(SingleThreadEventExecutor.java:1050)
	at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74)
	at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
	at java.lang.Thread.run(Thread.java:748)
2023-02-14 11:22:21.444  INFO 4436 --- [           main] .m.i.MqttPahoMessageDrivenChannelAdapter : started bean 'inbound'; defined in: 'class path resource [com/jxj/config/MqttSubscriberConfig.class]'; from source: 'org.springframework.core.type.classreading.SimpleMethodMetadata@1d4664d7'
2023-02-14 11:22:21.446  INFO 4436 --- [           main] o.s.a.r.c.CachingConnectionFactory       : Attempting to connect to: [localhost:5672]
2023-02-14 11:22:25.537  INFO 4436 --- [           main] o.s.a.r.l.SimpleMessageListenerContainer : Broker not available; cannot force queue declarations during start: java.net.ConnectException: Connection refused: connect
2023-02-14 11:22:25.545  INFO 4436 --- [ntContainer#0-1] o.s.a.r.c.CachingConnectionFactory       : Attempting to connect to: [localhost:5672]

2 問(wèn)題定位

2.1 第一種情況

網(wǎng)上有的說(shuō)通過(guò)

在低版本的 xxl-job 中, 初始化XxlJobSpringExecutor執(zhí)行器需要在@Bean中加上 initMethod = "start", destroyMethod = "destroy",但是在高版本的 xxl-job(如 2.1.2)則需要?jiǎng)h除 initMethod = "start", destroyMethod = "destroy"

而我的問(wèn)題不是在bean上加(initMethod = “start”, destroyMethod = “destroy”),我加上之后會(huì)報(bào)兩遍線(xiàn)程被使用的異常。

Exception in thread "Thread-14" java.net.BindException: Address already in use: bind
	at sun.nio.ch.Net.bind0(Native Method)
	at sun.nio.ch.Net.bind(Net.java:433)
	at sun.nio.ch.Net.bind(Net.java:425)
	at sun.nio.ch.ServerSocketChannelImpl.bind(ServerSocketChannelImpl.java:223)
	at io.netty.channel.socket.nio.NioServerSocketChannel.doBind(NioServerSocketChannel.java:134)
	at io.netty.channel.AbstractChannel$AbstractUnsafe.bind(AbstractChannel.java:551)
	at io.netty.channel.DefaultChannelPipeline$HeadContext.bind(DefaultChannelPipeline.java:1346)
	at io.netty.channel.AbstractChannelHandlerContext.invokeBind(AbstractChannelHandlerContext.java:503)
	at io.netty.channel.AbstractChannelHandlerContext.bind(AbstractChannelHandlerContext.java:488)
	at io.netty.channel.DefaultChannelPipeline.bind(DefaultChannelPipeline.java:985)
	at io.netty.channel.AbstractChannel.bind(AbstractChannel.java:247)
	at io.netty.bootstrap.AbstractBootstrap$2.run(AbstractBootstrap.java:344)
	at io.netty.util.concurrent.AbstractEventExecutor.safeExecute$$$capture(AbstractEventExecutor.java:163)
	at io.netty.util.concurrent.AbstractEventExecutor.safeExecute(AbstractEventExecutor.java)
	at io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:510)
	at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:518)
	at io.netty.util.concurrent.SingleThreadEventExecutor$6.run(SingleThreadEventExecutor.java:1050)
	at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74)
	at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
	at java.lang.Thread.run(Thread.java:748)
2023-02-14 11:25:20.568  INFO 18140 --- [           main] c.xxl.job.core.executor.XxlJobExecutor   : >>>>>>>>>>> xxl-job register jobhandler success, name:demoJobHandler, jobHandler:com.xxl.job.core.handler.impl.MethodJobHandler@1618c98a[class com.jxj.task.WarningTask#demoJobHandler]
Exception in thread "Thread-20" java.net.BindException: Address already in use: bind
	at sun.nio.ch.Net.bind0(Native Method)
	at sun.nio.ch.Net.bind(Net.java:433)
	at sun.nio.ch.Net.bind(Net.java:425)
	at sun.nio.ch.ServerSocketChannelImpl.bind(ServerSocketChannelImpl.java:223)
	at io.netty.channel.socket.nio.NioServerSocketChannel.doBind(NioServerSocketChannel.java:134)
	at io.netty.channel.AbstractChannel$AbstractUnsafe.bind(AbstractChannel.java:551)
	at io.netty.channel.DefaultChannelPipeline$HeadContext.bind(DefaultChannelPipeline.java:1346)
	at io.netty.channel.AbstractChannelHandlerContext.invokeBind(AbstractChannelHandlerContext.java:503)
	at io.netty.channel.AbstractChannelHandlerContext.bind(AbstractChannelHandlerContext.java:488)
	at io.netty.channel.DefaultChannelPipeline.bind(DefaultChannelPipeline.java:985)
	at io.netty.channel.AbstractChannel.bind(AbstractChannel.java:247)
	at io.netty.bootstrap.AbstractBootstrap$2.run(AbstractBootstrap.java:344)
	at io.netty.util.concurrent.AbstractEventExecutor.safeExecute$$$capture(AbstractEventExecutor.java:163)
	at io.netty.util.concurrent.AbstractEventExecutor.safeExecute(AbstractEventExecutor.java)
	at io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:510)
	at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:518)
	at io.netty.util.concurrent.SingleThreadEventExecutor$6.run(SingleThreadEventExecutor.java:1050)
	at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74)
	at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
	at java.lang.Thread.run(Thread.java:748)
//原注解:
@Bean
public XxlJobSpringExecutor xxlJobExecutor() {
	...
	}
	
//修改后注解
@Bean(initMethod = "start", destroyMethod = "destroy")
public XxlJobSpringExecutor xxlJobExecutor() {
	...
	}

2.2 第二種情況

后來(lái)我發(fā)現(xiàn)我的問(wèn)題是 本地和線(xiàn)上的程序連接了相同的xxl-job,并且連接xxl-job的端口是一樣的,導(dǎo)致了這個(gè)問(wèn)題!

xxl:
  job:
    accessToken: xxx
    admin:
#       addresses: http://1xxxxx/xxl-job-admin
      addresses: http://39xxxxx/xxl-job-admin
    executor:
      address: 'xxx'
      appname: safexxxxxst #這個(gè)名字要和頁(yè)面配置的一致
      ip: ''
      logpath: /datxxxxjob/joxxxler
      logretentiondays: 30
      port: 9996

就是這個(gè) port端口重復(fù)導(dǎo)致的問(wèn)題修改一下即可

port: 9996

2.3 第三種情況

本來(lái)我是第二種情況已經(jīng)解決了,結(jié)果下午又報(bào)這個(gè)錯(cuò)了,因此有了第三種情況的解決。

啟動(dòng)報(bào)錯(cuò)時(shí)的 錯(cuò)誤關(guān)鍵日志:

2023-02-14 13:59:12.074  INFO 8364 --- [           main] o.s.a.r.c.CachingConnectionFactory       : Created new connection: rabbitConnectionFactory#131ba005:0/SimpleConnection@5981f2c6 [delegate=amqp://root@127.0.0.1:5673/, localPort= 5415]
Exception in thread "Thread-21" java.net.BindException: Address already in use: bind
	at sun.nio.ch.Net.bind0(Native Method)
	at sun.nio.ch.Net.bind(Net.java:433)
	at sun.nio.ch.Net.bind(Net.java:425)
	at sun.nio.ch.ServerSocketChannelImpl.bind(ServerSocketChannelImpl.java:223)
	at io.netty.channel.socket.nio.NioServerSocketChannel.doBind(NioServerSocketChannel.java:134)
	at io.netty.channel.AbstractChannel$AbstractUnsafe.bind(AbstractChannel.java:551)
	at io.netty.channel.DefaultChannelPipeline$HeadContext.bind(DefaultChannelPipeline.java:1346)
	at io.netty.channel.AbstractChannelHandlerContext.invokeBind(AbstractChannelHandlerContext.java:503)
	at io.netty.channel.AbstractChannelHandlerContext.bind(AbstractChannelHandlerContext.java:488)
	at io.netty.channel.DefaultChannelPipeline.bind(DefaultChannelPipeline.java:985)
	at io.netty.channel.AbstractChannel.bind(AbstractChannel.java:247)
	at io.netty.bootstrap.AbstractBootstrap$2.run(AbstractBootstrap.java:344)
	at 

由于我已經(jīng)解決過(guò)一次,所以我對(duì)端口比較敏感(大家看完后面的分析就可以知道我為什么敏感),就在yaml文件種搜了一下所有的 port 一共有五處。

排除項(xiàng)目的port(項(xiàng)目的接口沖突會(huì)直接報(bào)錯(cuò),停止運(yùn)行

排除xxl-job (第二種情況沖突已經(jīng)解決

剩下的是集成的 redis,elasticsearch,rabbitmq

redis和elasticsearch我都沒(méi)有開(kāi)啟,問(wèn)題就只在rabbitmq了。

rabbitmq我是本地起的docker,來(lái)連接測(cè)試的。

然后我有認(rèn)真看了一下日志,就是上面貼出來(lái)的第一行

[delegate=amqp://root@127.0.0.1:5673/, localPort= 5415]

也就是打印完這個(gè)日志后報(bào)的錯(cuò)誤,localPort= 5415,于是我又在本地查看了一下這個(gè)5415端口使用情況

netstat -aon|findstr 5415

果然 兩個(gè)不同的線(xiàn)程在用!

C:\Uxxxs\1xx0>netstat -aon|findstr 5415
  TCP    127.0.0.1:5415         127.0.0.1:5673         ESTABLISHED     8364
  TCP    127.0.0.1:5673         127.0.0.1:5415         ESTABLISHED     4136

然后我打開(kāi)任務(wù)管理器 詳細(xì)信息,找到4136是daocker

我重啟了一下電腦,,解決了

3 問(wèn)題原因

程序啟動(dòng)之后重新啟動(dòng)了一個(gè)線(xiàn)程去連接xxl-job的端口,但是這個(gè)端口已經(jīng)被占用了,所以程序就直接返回了一個(gè)這個(gè)線(xiàn)程被占用了。

4 思考學(xué)習(xí)

服務(wù)創(chuàng)建監(jiān)聽(tīng)的時(shí)候,如果端口有LISTENING、ESTABLISHED、TIME_WAIT等,好像都會(huì)報(bào)錯(cuò)。 可以研究下原理

TCP狀態(tài)轉(zhuǎn)移要點(diǎn)

TCP協(xié)議規(guī)定,對(duì)于已經(jīng)建立的連接,網(wǎng)絡(luò)雙方要進(jìn)行四次握手才能成功斷開(kāi)連接,如果缺少了其中某個(gè)步驟,將會(huì)使連接處于假死狀態(tài),連接本身占用的資源不會(huì)被釋放。網(wǎng)絡(luò)服務(wù)器程序要同時(shí)管理大量連接,所以很有必要保證無(wú)用連接完全斷開(kāi),否則大量僵死的連接會(huì)浪費(fèi)許多服務(wù)器資源。在眾多TCP狀態(tài)中,最值得注意的狀態(tài)有兩個(gè):CLOSE_WAIT和TIME_WAIT。

1、LISTENING狀態(tài)

  FTP服務(wù)啟動(dòng)后首先處于偵聽(tīng)(LISTENING)狀態(tài)。

2、ESTABLISHED狀態(tài)

  ESTABLISHED的意思是建立連接。表示兩臺(tái)機(jī)器正在通信。

3、TIME_WAIT

我方主動(dòng)調(diào)用close()斷開(kāi)連接,收到對(duì)方確認(rèn)后狀態(tài)變?yōu)門(mén)IME_WAIT。TCP協(xié)議規(guī)定TIME_WAIT狀態(tài)會(huì)一直持續(xù)2MSL(即兩倍的分段最大生存期),以此來(lái)確保舊的連接狀態(tài)不會(huì)對(duì)新連接產(chǎn)生影響。處于TIME_WAIT狀態(tài)的連接占用的資源不會(huì)被內(nèi)核釋放,所以作為服務(wù)器,在可能的情況下,盡量不要主動(dòng)斷開(kāi)連接,以減少TIME_WAIT狀態(tài)造成的資源浪費(fèi)。

目前有一種避免TIME_WAIT資源浪費(fèi)的方法,就是關(guān)閉socket的LINGER選項(xiàng)。但這種做法是TCP協(xié)議不推薦使用的,在某些情況下這個(gè)操作可能會(huì)帶來(lái)錯(cuò)誤。

總結(jié)

到此這篇關(guān)于解決java啟動(dòng)時(shí)報(bào)線(xiàn)程占用:Exception in thread “Thread-14“ java.net.BindException: Address already in use: bind的文章就介紹到這了,更多相關(guān)java啟動(dòng)時(shí)報(bào)線(xiàn)程占用內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • springmvc實(shí)現(xiàn)簡(jiǎn)單的攔截器

    springmvc實(shí)現(xiàn)簡(jiǎn)單的攔截器

    這篇文章主要為大家詳細(xì)介紹了springmvc實(shí)現(xiàn)簡(jiǎn)單攔截器的相關(guān)資料,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-05-05
  • java中抽象類(lèi)和接口的相同和不同點(diǎn)介紹

    java中抽象類(lèi)和接口的相同和不同點(diǎn)介紹

    大家好,本篇文章主要講的是java中抽象類(lèi)和接口的相同和不同點(diǎn)介紹,感興趣的同學(xué)趕快來(lái)看一看吧,對(duì)你有幫助的話(huà)記得收藏一下,方便下次瀏覽
    2021-12-12
  • springboot啟動(dòng)時(shí)沒(méi)有日志的原因分析

    springboot啟動(dòng)時(shí)沒(méi)有日志的原因分析

    這篇文章主要介紹了springboot啟動(dòng)時(shí)沒(méi)有日志的原因分析,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-07-07
  • 如何簡(jiǎn)單使用mybatis注解

    如何簡(jiǎn)單使用mybatis注解

    之前我們介紹了使用JDBC或者java框架mabatis來(lái)實(shí)現(xiàn)對(duì)數(shù)據(jù)庫(kù)的操作,現(xiàn)在為了簡(jiǎn)化代碼,提高程序的簡(jiǎn)潔性,我們探索如何使用注解進(jìn)行開(kāi)發(fā),需要的朋友可以參考下
    2021-06-06
  • Spring Security 強(qiáng)制退出指定用戶(hù)的方法

    Spring Security 強(qiáng)制退出指定用戶(hù)的方法

    本篇文章主要介紹了Spring Security 強(qiáng)制退出指定用戶(hù)的方法,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-03-03
  • Java 高并發(fā)四:無(wú)鎖詳細(xì)介紹

    Java 高并發(fā)四:無(wú)鎖詳細(xì)介紹

    本文主要介紹Java 高并發(fā)無(wú)鎖的知識(shí),這里整理了 1.無(wú)鎖類(lèi)的原理詳解 2.無(wú)鎖類(lèi)的使用的知識(shí),并講解其原理,有需要的小伙伴可以參考下
    2016-09-09
  • springboot+jwt實(shí)現(xiàn)token登陸權(quán)限認(rèn)證的實(shí)現(xiàn)

    springboot+jwt實(shí)現(xiàn)token登陸權(quán)限認(rèn)證的實(shí)現(xiàn)

    這篇文章主要介紹了springboot+jwt實(shí)現(xiàn)token登陸權(quán)限認(rèn)證的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-06-06
  • java通過(guò)snmp協(xié)議獲取物理設(shè)備信息

    java通過(guò)snmp協(xié)議獲取物理設(shè)備信息

    這篇文章主要介紹了java通過(guò)snmp協(xié)議獲取物理設(shè)備信息,snmp中文含義是簡(jiǎn)單網(wǎng)絡(luò)管理協(xié)議,可用完成對(duì)計(jì)算機(jī)、路由器和其他網(wǎng)絡(luò)設(shè)備的遠(yuǎn)程管理和監(jiān)視,本文我們是通過(guò)java程序來(lái)獲取,需要的朋友可以參考下
    2023-07-07
  • mybatis Example的Criteria用法:or與isNull詳解

    mybatis Example的Criteria用法:or與isNull詳解

    這篇文章主要介紹了mybatis Example的Criteria用法:or與isNull詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-12-12
  • Java 和 JavaScript 真正通用的Base64編碼詳解

    Java 和 JavaScript 真正通用的Base64編碼詳解

    這篇文章主要介紹了Java 和 JavaScript 真正通用的Base64編碼詳解的相關(guān)資料,附有Java和Javascript 的Base64編碼,需要的朋友可以參考下
    2016-11-11

最新評(píng)論

灌云县| 惠安县| 铅山县| 霸州市| 龙口市| 汝州市| 射洪县| 北安市| 光泽县| 公安县| 威海市| 五家渠市| 寿宁县| 介休市| 舟曲县| 台东市| 黄大仙区| 陆川县| 新乐市| 石嘴山市| 祥云县| 韶关市| 鄂伦春自治旗| 家居| 丰台区| 高唐县| 凉城县| 会理县| 凤城市| 靖远县| 彭山县| 大埔区| 施甸县| 洛阳市| 当雄县| 永春县| 雷波县| 汉沽区| 合肥市| 灌云县| 疏附县|