首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

我已经使用java创建了一个portscanner,但是当我点击执行它时就冻结了

这个问题涉及到了Java编程、网络通信和多线程等方面的知识。

首先,我们需要了解什么是port scanner。port scanner是一种网络安全工具,用于扫描指定的IP地址或域名的开放端口。Java可以很好地实现这个功能,因为Java具有跨平台的特性,可以在不同的操作系统上运行。

然而,当你点击执行时,程序可能会冻结,这可能是因为你的程序在扫描端口时阻塞了主线程。为了解决这个问题,你可以使用多线程来实现。

在Java中,可以使用Thread类或ExecutorService类来实现多线程。Thread类是Java的内置类,可以创建新的线程并启动它。ExecutorService类是Java并发编程的一部分,可以更好地管理和调度线程。

以下是一个简单的Java port scanner示例,使用了多线程来避免阻塞主线程:

代码语言:java
复制
import java.io.*;
import java.net.*;
import java.util.concurrent.*;

public class PortScanner {
    public static void main(String[] args) {
        String host = "localhost";
        int port = 80;
        int timeout = 1000;

        try {
            InetAddress address = InetAddress.getByName(host);
            System.out.println("Scanning port " + port + " on " + address.getHostAddress());

            ExecutorService executor = Executors.newFixedThreadPool(10);
            for (int i = 0; i < 10; i++) {
                int finalPort = port + i;
                executor.execute(() -> {
                    try {
                        Socket socket = new Socket();
                        socket.connect(new InetSocketAddress(address, finalPort), timeout);
                        System.out.println("Port " + finalPort + " is open");
                        socket.close();
                    } catch (IOException e) {
                        System.out.println("Port " + finalPort + " is closed");
                    }
                });
            }
            executor.shutdown();

        } catch (UnknownHostException e) {
            System.err.println("Unknown host: " + host);
        }
    }
}

这个示例使用了ExecutorService来创建10个线程,每个线程负责扫描一个端口。这样,主线程就不会被阻塞,可以继续执行其他任务。

需要注意的是,这个示例仅供参考,实际的port scanner可能需要更多的功能和优化。例如,可以使用命令行参数来指定要扫描的IP地址、端口范围和超时时间等。此外,还需要考虑网络安全和法律法规等方面的问题。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

不幸言中,“核酸码”打不开.....那就聊聊为什么觉得要挂的原因吧!

当晚就有很多网友发现随申办上已经有入口了,但点进去是报错的: 但是因为还没投入真正使用,所以也没啥大的反馈,大家瞎讨论了技术栈和这个错误可能的原因啥的。...这个是否能做好,与我们对SQL、Java这些知识的掌握程度有关 而当我们用Spring Data JPA这样的框架时候,开发者在框架的帮助下,好多SQL都被隐藏了,喜欢些Java代码来替代SQL的开发过程是挺爽的...不然比较容易出现性能问题,但是MyBatis的话,对于国内开发者来说,因为直接写SQL,所以还是相对还是更容易理解和把控一些。...------ 我们创建了一个高质量的技术交流群,与优秀的人在一起,自己也会优秀起来,赶紧点击加群,享受一起成长的快乐。...另外,如果你最近想跳槽的话,年前花了2周间收集了一波大厂面经,节后准备跳槽的可以点击这里领取! 推荐阅读 适用于开发者的开源分布式即时通讯系统 为什么大厂们一边在疯狂裁员,一边又在大量招人?

73230

Java 18 新增@snipppet标签,注释中写样例代码更舒适了!

的时候,IDE已经可以支持高亮,更有利于编辑,对比下@code的 内容,编辑的时候没那么舒服了 代码编辑的IDE支持也有了很大的提升,以往使用@code来编辑代码的时候基本就是当纯文本来编辑的,而现在在使用...本篇内容对应视频已完成录制,点击查看: 我们创建了一个高质量的技术交流群,与优秀的人在一起,自己也会优秀起来,赶紧点击加群,享受一起成长的快乐。...另外,如果你最近想跳槽的话,年前花了2周间收集了一波大厂面经,节后准备跳槽的可以点击这里领取!...···················· 你好,是程序猿DD,10年开发老司机、阿里云MVP、腾讯云TVP、出过书过业、国企4年互联网6年。...点击领取2022最新10000T学习资料 点击 阅读原文,直达正在连载的 Java前沿系列教程

28030
  • Kotlin开发者眼中的Java缺少哪些特性?

    他在几年前开始学习 Kotlin,在此之后,每当他再使用 Java ,总会思考为什么自己写的 Java 代码看起来不如 Kotlin 那么优雅,并且发现 Java 缺少一些可以提升代码可读性、表现力和可维护性的功能...而且可供使用的库太多了,以至于经常有人会询问该使用一个。 最后,在 Java使用可空性库是可选的。而 Kotlin 则要求每种类型都可以为空或不可为空。...相关链接:https://blog.frankel.ch/miss-in-java-kotlin-developer/ 我们创建了一个高质量的技术交流群,与优秀的人在一起,自己也会优秀起来,赶紧点击加群...另外,如果你最近想跳槽的话,年前花了2周间收集了一波大厂面经,节后准备跳槽的可以点击这里领取! 推荐阅读 00后整顿职场?“专管00后部门”成立了......·································· 你好,是程序猿DD,10年开发老司机、阿里云MVP、腾讯云TVP、出过书过业、国企4年互联网6年。

    45420

    周末、ConcurrentHashMap、一个Bug

    所在的城市今天下着小雨,天气变得冷了起来。坐在电脑前,开着暖风机,不至于让敲代码的着(唉 ,真的但是还没到要开空调,忍忍~)。...写代码的时候,在调试的遇到了一个问题,真的很小的一个问题(就如标题所写的问题),但是还是想写一下,顺便扯扯淡。...于是一个debug了一下,发现一个null的数据存进去后,代码给我抛了这个异常。真的是高端了,使用HashMap存没有问题,这个就不行了。...的bug啊.png 但是不能到这里Stop了。...不是并发映射中,可以通过map.contains(key)在检查,而在并发映射中,两次调用之间的映射可能已经更改。 总结 好了就到这里了,要开始总结了。不会总结太多,因为人们总是喜欢遗忘。

    18730

    关于TensorFlow九件你非知不可的事

    想要学习更多的机器学习、深度学习知识,欢迎大家点击上方蓝字关注我们的公众号:磐AI。...于是于是今天早上呢,结了这段讲话里最喜欢的几个点。总结完以后,实在想不出有任何理由不与你们分享的超短摘要(如果你还没看过视频的话——你完全应该看看,演讲者讲得真是太好了)。...自己也是一个偏学术的人(而且很可能是一个外星人),但是自从出现以来对TF eager爱不释手。 三. 逐行构建神经网络 Keras + TensorFlow =更快捷的神经网络构建!...在下面的几行代码中,我们创建了一个顺序神经网络。看上去是不是如吹口哨那般轻松。 四. 不仅仅关于Python 好的,知道你一直在抱怨TensorFlow对Python的狂热。...你可以在浏览器中执行所有操作 说到JavaScript,你现在已经可以使用TensorFlow.js在浏览器中训练和运行模型。你可以先进入这个酷炫的demo里沉浸一会,当你回来时还会在这里。

    47810

    ChatGPT 生成的代码比你写的更不安全

    从论文的描述可知,研究人员让 ChatGPT 使用 C、C++、Python 和 Java 四种编程语言生成了 21 个程序和脚本。...他提到,最初 ChatGPT 对安全问题的回应是建议只使用有效的输入,这显然是不合理的。只有在之后被要求改进问题才提供了有用的指导。...不过既然向 ChatGPT 提示修复问题的时候需要熟悉特定的漏洞和编码技术,所以当我们知道让 ChatGPT 修复漏洞的正确 prompt ,可能已经了解如何解决问题。...------ 我们创建了一个高质量的技术交流群,与优秀的人在一起,自己也会优秀起来,赶紧点击加群,享受一起成长的快乐。...另外,如果你最近想跳槽的话,年前花了2周间收集了一波大厂面经,节后准备跳槽的可以点击这里领取! 推荐阅读 Java 17 采用率在一年内增长 430% !

    62340

    spring-configuration-metadata.json文件是做啥的?

    在前几天分享的关于Spring Boot Starter中的spring.factories文件不再推荐使用的视频下,看到有网友问了这样一个问题: 图 1 这个文件也是位于/META-INF/目录下面...的主要作用就是,当我们在配置文件中尝试编写配置信息的时候,IDE可以根据这个配置元数据给出了相关的提示信息,比如: 图 3 所以,要做一个体验良好的Starter,这个文件还是非常重要的,对于使用你封装的开发者来说.../     private String title = "";     /**      * 描述      **/     private String description = ""; 我们创建了一个高质量的技术交流群...另外,如果你最近想跳槽的话,年前花了2周间收集了一波大厂面经,节后准备跳槽的可以点击这里领取!...MVP、腾讯云TVP、出过书过业、国企4年互联网6年。

    2.2K20

    腾讯拿出超一亿资源,请你想个好创意

    今天,分享一个好消息: 腾讯将提供近1000万奖金、超1亿广告投放金等资源,鼓励大家想一个好的创意。 它与公益有关,是2018年“益人”公益广告大赛。 什么是“益人”?...等于创意+科技+公益。 他们三个未曾谋面,创意只是创意,公益只是公益。 三者结合,能碰撞出什么火花呢?看下面↓ 例如,城市中流浪猫的问题一直让人很揪心。 想领养不知道哪有正规渠道,又怕没精力照顾。...这样暖心的案例还有很多很多,去年,首届 “益人”大赛便聚集了 76 家创意公司、853 个团队、超过 3500位 “益人”。...2018“益人”报名中 今年腾讯公益慈善基金会联合腾讯社交广告发起的“益人”大赛将全面 “加码”: 提供近 1000 万奖金、超 1 亿广告投放金、4 大产品资源包,开放更多技术能力,全程助力优秀公益创意作品的落地...聚焦技术 今年大赛将鼓励参赛者使用如大数据、AI、AR、云技术、小程序等热点技术解决社会问题或提升项目效能。

    66230

    首位植入脑机接口的患者通过Twitter发布信息

    Synchron 首席执行官Thomas Oxley在推特上写道,“简短的推文,巨大的进步。”...O’Keefe 说,“当我第一次听说这项技术知道它能给我带来很多的独立性,这个系统令人惊讶,就像学习骑自行车一样——需要练习,但是一旦你开始滚动,它就会变得很自然。”...“现在,只需想我想点击电脑上的哪个位置,然后可以发送电子邮件、银行、购物,现在还可以通过 Twitter 向全世界发送消息。”...早在去年10月,Synchron已经进行了人体研究,并在两位渐症患者的身体内植入了其发明的脑机装置。...20人神秘公司获批美国首个「脑机接口」人体测试,无需开颅2小植入

    26620

    在制造业大厂当程序员是什么感受?

    ,当然也有给其他的公司的,但是不是主要的 如果要来的话,一定要问清楚,部门的主要业务和使用的语言,很重要,学的是Java web方面的知识,但是因为丫的之前决定去做游戏策划,甚至于已经准备签合同了,...另外,如果你最近想跳槽的话,年前花了2周间收集了一波大厂面经,节后准备跳槽的可以点击这里领取!...牛的,Java swing,瞬间人都不行了 在修理和配置的时候,还接了一个前端的活,对,一个Java工程师接了个前端的活,虽然可能很正常吧,但是是没想到,一个制造业做个前端干啥,带的师傅给我解释,...,就按照自己感受的说说,一说,您就一看 总结 如果要从事制造业的程序员的话,自己再结合大佬们的评论一起总结了几点: 问清楚部门的业务需求以及语言,是Java还是.net,可能制造业中.net比较普遍...,不好往互联网跳槽,毕竟技术更新的太慢,不过这就全看自己了,反正是不太乐意 ------ 我们创建了一个高质量的技术交流群,与优秀的人在一起,自己也会优秀起来,赶紧点击加群,享受一起成长的快乐。

    61820

    为了不被裁员,Twitter员工每天狂干12小

    据悉,马斯克在收购推特当天结了推特代码,并叫来特斯拉的工程师进场,对推特代码检查。 此外,还有爆料称,马斯克要求推特的程序员书面打印他们的代码,之后再撕掉代码,并让他们在电脑上默写出来。...而默写代码,仅仅是员工考核的一个开始。 据CNBC报道,自马斯克上任以来,推特内部的氛围已经变得十分紧张。...------ 我们创建了一个高质量的技术交流群,与优秀的人在一起,自己也会优秀起来,赶紧点击加群,享受一起成长的快乐。...另外,如果你最近想跳槽的话,年前花了2周间收集了一波大厂面经,节后准备跳槽的可以点击这里领取! 推荐阅读 掌握核心技术的程序员,会对行业市场带来什么影响?...你好,是程序猿DD,10年开发老司机、阿里云MVP、腾讯云TVP、出过书过业、国企4年互联网6年。

    29920

    注意!spring.factories 将被弃用,快来Get新写法!

    点击领取2022最新10000T学习资料 如果你是Spring Boot用户的话,一定有这样的开发体验,当我们要引入某个功能的时候,只需要在maven或gradle的配置中直接引入对应的Starter,...马上就可以使用了,而不需要像传统Spring应用那样写个xml或java配置类来初始化各种Bean。...我们创建了一个高质量的技术交流群,与优秀的人在一起,自己也会优秀起来,赶紧点击加群,享受一起成长的快乐。...另外,如果你最近想跳槽的话,年前花了2周间收集了一波大厂面经,节后准备跳槽的可以点击这里领取!...·································· 你好,是程序猿DD,10年开发老司机、阿里云MVP、腾讯云TVP、出过书过业、国企4年互联网6年。

    1.9K30

    IDEA新建项目的默认配置与模版配置

    昨天群里(点击加群)有小伙伴问了这样的一个问题: 在我们使用IDEA开发项目的时候,通常都会有很多配置项需要去设置,比如对于Java项目来说,一般包含:JDK配置、Maven配置等。...我们创建了一个高质量的技术交流群,与优秀的人在一起,自己也会优秀起来,赶紧点击加群,享受一起成长的快乐。...另外,如果你最近想跳槽的话,年前花了2周间收集了一波大厂面经,节后准备跳槽的可以点击这里领取! 推荐阅读 如何实现Word、PDF,TXT文件的全文内容检索?...·································· 你好,是程序猿DD,10年开发老司机、阿里云MVP、腾讯云TVP、出过书过业、国企4年互联网6年。...如果你看好一个事情,一定是坚持了才能看到希望,而不是看到希望才去坚持。相信我,只要坚持下来,你一定比现在更好!如果你还没什么方向,可以先关注,这里会经常分享一些前沿资讯,帮你积累弯道超车的资本。

    1.2K31

    Java之父偏爱函数式编程,称自己的代码风格被队友批评

    Gosling 在欣赏 Clojure 对函数式编程的高度重视,也分享了他自己的一个怪癖。Gosling 透露,他自己对函数式编程的偏爱导致一些人讨厌他的编码风格,比如他更喜欢使用递归而不是数组。...他介绍道:“在最近交付的项目中,当我完成自己负责的那部分工作后,队友直言的编码风格简直像是疯子。”...在被问到 “为什么许多研究和实验并不总能转化为人们最终实际使用的东西”,Gosling 指出最大的问题是工程师通常不知道如何解释他们在做什么。...v=Ynu9QEJSGX8 ------ 我们创建了一个高质量的技术交流群,与优秀的人在一起,自己也会优秀起来,赶紧点击加群,享受一起成长的快乐。...另外,如果你最近想跳槽的话,年前花了2周间收集了一波大厂面经,节后准备跳槽的可以点击这里领取! 推荐阅读 推荐一款拥有31.4k Star的后台管理系统!

    21120

    ​被封冻的人生,商汤用AI「暖

    整个系统使用多光谱成像传感器,不受光照条件影响,可以24小无间断工作。 其中就有一个功能,可以帮助病人实现无接触的主动呼叫。...那么,对于一个「非接触」式的设备,是如何准确获得生理指标的呢? 拿呼吸的一个维度来举例,一方面嘴巴或鼻子吸进去的气和呼出来的气温度不一样,另一方面人的胸腔在呼吸是会有起伏变化的。...比如病人需要监测体温的需求就是孙其功博士带领团队在医院调研发现的。 二是直接去患者家中采集数据。...比如,他亲自拜访了北京的一位患者——第一位使用系统看护的病人。 商汤研发团队甚至直接在患者家中长住7天,进行开发调试,其中有一天还观察了24个小时,因为需要覆盖不同光线、环境,以及背景情况。...另一个采集数据的来源比较有意思了,由于疫情,缺乏实际数据,研发团队自己模拟患者表情以及各种光线情况。 疫情期间,工作人员轮流上阵,模拟系统使用情况  为什么说有爱呢?

    47420

    浅谈脑机接口:传统神经学科的颠覆者

    带着对脑机接口领域的探索欲,笔者近期采访了国内脑机接口、人工智能、微纳传感领域的权威专家陶虎博士,现任中科院上海微系统所副所长的陶虎表示,目前团队开发可免开颅的微植入式柔性脑机接口技术,目标将瞄准渐症...图示:实验室里,一只头部植入芯片的小鼠正在笼子里愉快地跑来跑去,脑子里“想法”通过芯片传输到外面。...在较长的一段时间内,脑机接口的产品落地中主要的科技应用都应该是基于临床医生和病人等使用者的需求出发,解决他们现在或将会面临的问题。...这一观点直指目前脑机赛道里的有和无,由于脑体的复杂性,陶虎支持有脑机接口,他认为无脑机接口在情绪调控、认知评估等领域会起到重要的作用,但是真正意义上的脑机接口,只有通过和神经元细胞直接连接才能实现...彭雷表示,“我们从公司成立伊始考虑得很清楚,脑科学的研究必须是科研与产业双轨并行、相互促进的形式。” 正所谓,所守者道义,所行者忠信,所惜者名节。

    52220

    大数据扫黄,是怎样发现你的?

    法官斯图尔特曾有句名言,无法定义色情,但当我看到知道了。对色情内容的监测也有一定的主观性,AI 往往会根据特征对裸露身体的大卫塑像而“痛下杀手”,却对部分软色情轻松放过。...我们创建了一个高质量的技术交流群,与优秀的人在一起,自己也会优秀起来,赶紧点击加群,享受一起成长的快乐。...另外,如果你最近想跳槽的话,年前花了2周间收集了一波大厂面经,节后准备跳槽的可以点击这里领取! 推荐阅读 掌握这些 Spring Boot 启动扩展点,已经超过 90% 的人了!...·································· 你好,是程序猿DD,10年开发老司机、阿里云MVP、腾讯云TVP、出过书过业、国企4年互联网6年。...如果你看好一个事情,一定是坚持了才能看到希望,而不是看到希望才去坚持。相信我,只要坚持下来,你一定比现在更好!如果你还没什么方向,可以先关注,这里会经常分享一些前沿资讯,帮你积累弯道超车的资本。

    49610

    VBA新手教程:从入门到放弃(0)

    所以,请来了好友VBA大神200斤的老涛哥为大家介绍VBA常见使用套路啦~ 别装,你一定用得上VBA!...故事发生在某个月黑风高还有点儿脚的夜晚:一个中年少男正在浏览“无聊经济”相关的文章,被某鱼上的无聊给五雷轰顶了:“代喝奶茶”“代挨骂”“付费线上谈恋爱”……鄙人一直以为某鱼是一个收售二手物品的平台,...; 一个小哥让写彩票统计工具还问我“你们大学生有文化能不能帮我分析一下彩票到底能不能赚钱”; 一个已经用python把微博数据爬到excel中但是不会处理的神奇小哥; 一堆给我提英文需求让帮忙做作业的海外留学生...就像你问一个美国人英语里面什么是量词介词时态主格宾格定语单复数他可能会用一个word回击你! 有多少无辜的孩童是在java“面向对象”这一块搞不清啥是对象而放弃的。...点击运行按钮。(其实按F5也可以哦~) ? ? 啊哈哈哈哈哈这是程序猿届的梗了,所有程序语言第一个输出的肯定是这个!妥了,你已经成功向顶级程序猿挪动7纳米了!前面还有1光年等着你!

    1.1K30

    一文学会如何使用Java的交互式编程环境 JShell

    JShell快速入门 正在连载Java新特性学习专栏,欢迎关注公众号程序猿DD,第一间获得推送!...@4fca772d jshell> c.a = 1 $9 ==> 1 jshell> c.b = 2 $10 ==> 2 jshell> c.sum() $11 ==> 3 当然了,这种场景其实已经比较复杂了...当我们换了一个jshell环境后,可以通过打开之前保存的文件来快速还原之前的执行内容,比如: jshell> /open aaa.txt 重置jshell:/reset 当我们要换一个内容编写的时候,...另外,如果你最近想跳槽的话,年前花了2周间收集了一波大厂面经,节后准备跳槽的可以点击这里领取! 推荐阅读 2分钟学会Java中record关键字的用法 你知道 Java 中的隐藏类吗?...详解 Java 17中的“密封类” ·································· 你好,是程序猿DD,10年开发老司机、阿里云MVP、腾讯云TVP、出过书过业、国企4年互联网

    41320

    Mybatis中重要组件的生命周期

    点击上方蓝字关注!...Mybatis中重要组件的生命周期 在之前的章节中我们讲了Mybatis一些主要组件的基本用法和配置方式,但是掌握这些主要组件的生命周期也是非常重要的,不能只是单单了解基本的使用方法。...的作⽤用就是一个构建器一旦我们构建了SqlSessionFactory 的作用⼰经完结,失去了存在的意义,这时我们就应该毫不犹豫的废弃,将它回收。...此外,每次 建的SqlSession都必须及时关闭长期存在就会使数据库连接池的活动资源减少,对 系统性能的影响很大。...因此的生命周期应该在⼀个SqlSession事务⽅法之内,的最大范围和SqlSession是相同的 总结 有了上面的叙述后,我们已经清楚了 Mybatis各组件的生命周期和联系: ?

    36010
    领券