仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 2630|回复: 19

[学习教程] JAVA编程:真巧, 我恰好做了一个扫描全部网段的多...

[复制链接]
发表于 2015-1-18 11:44:09 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
再举这样一个例子:如果你想对一个数字取绝对值,你会怎么做呢?java的做法是intc=Math.abs(-166);而ruby的做法是:c=-166.abs。呵呵,这就看出了java与ruby的区别。程序|多线程扫描500个IP10秒钟摆布,一个IP守候0.3秒
说来内疚,我以为是用java写的历程编程,少贴一点仅供参考:
packagesteeven;

importjava.sql.*;
importjava.io.*;
importjava.util.*;
importjava.text.*;
importjavax.servlet.http.*;

publicclassIpextendsCommonimplementsRunnable{

publicStringip;//IP,用户名,主机名

ResultSetlist;//分页显现的纪录集
publicIpcur;//分页显现确当前纪录

staticpublicHashtableping=newHashtable();//ping后的了局集
staticintthreadCount=0;//以后线程的数目,避免过量线程摧毁电脑


publicIp(){}
publicIp(Stringip){
this.ip=ip;
Threadr=newThread(this);
r.start();
}

publicstaticvoidPing(Stringip)throwsException{
//最多30个线程
while(threadCount>30)
Thread.sleep(50);
threadCount+=1;
Ipp=newIp(ip);
}
publicvoidPingAll()throwsException{
threadCount=0;
ping=newHashtable();
while(next())//next()对一切局域网Ip放到cur
Ping(cur.ip);
//等着一切Ping停止
while(threadCount>0)
Thread.sleep(50);
}
publicvoidrun(){
try{
Processp=Runtime.getRuntime().exec("ping"+ip+"-w300-n1");
InputStreamReaderir=newInputStreamReader(p.getInputStream());
LineNumberReaderinput=newLineNumberReader(ir);
//读取了局行
for(inti=1;i<7;i++)
input.readLine();
Stringline=input.readLine();

if(line.length()<17||line.substring(8,17).equals("timedout"))
ping.put(ip,newBoolean(false));
else
ping.put(ip,newBoolean(true));
//线程停止
threadCount-=1;
}catch(IOExceptione){}
}
publicstaticvoidmain(String[]args)throwsException{
Ipip=newIp();
ip.PingAll();
java.util.Enumerationkey=ping.keys();
Stringk;
while((k=(String)key.nextElement())!=null)
System.out.println(k+":"+ping.get(k));
}
}

1.使用Ping对照愚昧,可是绝对复杂些
2.假如Ping乐成后,用nbtstat还能够失掉主机名,以后用户名,MAC地点...统统尽在把握中:)
Java编译的是字节码,跟C++相反,启动不够快,效率不够高,难以精确控制内存,但是优点是编程比C++容易,代码比较安全但是容易留下性能隐患,跨平台靠字节码在各个平台复制(一处编译到处调试)
灵魂腐蚀 该用户已被删除
发表于 2015-1-20 22:02:47 | 显示全部楼层
你一定会高兴地说,哈哈,原来成为Java高手就这么简单啊!记得Tomjava也曾碰到过一个项目经理,号称Java很简单,只要三个月就可以学会。
乐观 该用户已被删除
发表于 2015-1-30 06:23:45 | 显示全部楼层
一般学编程语言都是从C语开始学的,我也不例外,但还是可能不学过程语言而直接学面向对象语言的,你是刚接触语言,还是从C开始学比较好,基础会很深点,如果你直接学习JAVA也能上手,一般大家在学语言的时候都记一些语言的关键词,常有的包和接口等。再去做逻辑代码的编写,以后的学习过程都是从逻辑代码编写中提升的,所以这方面都是经验积累的。你要开始学习就从
透明 该用户已被删除
发表于 2015-2-6 07:40:25 | 显示全部楼层
Java自面世后就非常流行,发展迅速,对C++语言形成了有力冲击。Java 技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于个人PC、数据中心、游戏控制台
活着的死人 该用户已被删除
发表于 2015-2-8 00:16:44 | 显示全部楼层
至于JDBC,就不用我多说了,你如果用java编过存取数据库的程序,就应该很熟悉。还有,如果你要用Java编发送电子邮件的程序,你就得看看Javamail 了。
爱飞 该用户已被删除
发表于 2015-2-9 05:04:40 | 显示全部楼层
是一种突破用户端机器环境和CPU
再见西城 该用户已被删除
发表于 2015-2-21 21:33:06 | 显示全部楼层
如果要向java web方向发展也要吧看看《Java web从入门到精通》学完再到《Struts2.0入门到精通》这样你差不多就把代码给学完了。有兴趣可以看一些设计模块和框架的包等等。
愤怒的大鸟 该用户已被删除
发表于 2015-3-2 20:40:55 | 显示全部楼层
至于JDBC,就不用我多说了,你如果用java编过存取数据库的程序,就应该很熟悉。还有,如果你要用Java编发送电子邮件的程序,你就得看看Javamail 了。
飘灵儿 该用户已被删除
发表于 2015-3-7 07:48:44 | 显示全部楼层
一直感觉JAVA很大,很杂,找不到学习方向,前两天在网上找到了这篇文章,感觉不错,给没有方向的我指了一个方向,先不管对不对,做下来再说。
admin 该用户已被删除
发表于 2015-3-11 23:38:00 | 显示全部楼层
你就该学一学Servlet了。Servlet就是服务器端小程序,他负责生成发送给客户端的HTML文件。JSP在执行时,也是先转换成Servlet再运行的。虽说JSP理论上可以完全取代Servlet,这也是SUN推出JSP的本意,可是Servlet用来控制流程跳转还是挺方便的,也令程序更清晰。接下来你应该学习一下Javabean了,可能你早就看不管JSP在HTML中嵌Java代码的混乱方式了,这种方式跟ASP又有什么区别呢?
小魔女 该用户已被删除
发表于 2015-3-19 16:10:41 | 显示全部楼层
Pet Store.(宠物店)是SUN公司为了演示其J2EE编程规范而推出的开放源码的程序,应该很具有权威性,想学J2EE和EJB的朋友不要 错过了。
小妖女 该用户已被删除
发表于 2015-3-27 20:10:45 | 显示全部楼层
Java语言支持Internet应用的开发,在基本的Java应用编程接口中有一个网络应用编程接口(java net),它提供了用于网络应用编程的类库,包括URL、URLConnection、Socket、ServerSocket等。Java的RMI(远程方法激活)机制也是开发分布式应用的重要手段。
莫相离 该用户已被删除
发表于 2015-4-1 20:10:10 | 显示全部楼层
吧,现在很流行的Structs就是它的一种实现方式,不过Structs用起来实在是很繁,我们只要学习其精髓即可,我们完全可以设计自己的MVC结构。然后你再研究一下软件Refactoring (重构)和极限XP编程,相信你又会上一个台阶。 做完这些,你不如整理一下你的Java代码,把那些经典的程序和常见的应用整理出来,再精心打造一番,提高其重用性和可扩展性。你再找几个志同道合的朋友成立一个工作室吧
海妖 该用户已被删除
发表于 2015-5-5 13:54:13 | 显示全部楼层
J2SE开发桌面应用软件比起 VC,VB,DEPHI这些传统开发语言来说,优势好象并不明显。J2ME对于初学者来说,好象又有点深奥,而且一般开发者很难有开发环境。
柔情似水 该用户已被删除
发表于 2015-5-10 04:06:01 | 显示全部楼层
Java是一种计算机编程语言,拥有跨平台、面向对java
若相依 该用户已被删除
发表于 2015-6-28 05:42:38 | 显示全部楼层
另外编写和运行Java程序需要JDK(包括JRE),在sun的官方网站上有下载,thinking in java第三版用的JDK版本是1.4,现在流行的版本1.5(sun称作J2SE 5.0,汗),不过听说Bruce的TIJ第四版国外已经出来了,是专门为J2SE 5.0而写的。
第二个灵魂 该用户已被删除
发表于 2015-7-4 01:03:16 | 显示全部楼层
吧,现在很流行的Structs就是它的一种实现方式,不过Structs用起来实在是很繁,我们只要学习其精髓即可,我们完全可以设计自己的MVC结构。然后你再研究一下软件Refactoring (重构)和极限XP编程,相信你又会上一个台阶。 做完这些,你不如整理一下你的Java代码,把那些经典的程序和常见的应用整理出来,再精心打造一番,提高其重用性和可扩展性。你再找几个志同道合的朋友成立一个工作室吧
因胸联盟 该用户已被删除
发表于 2015-7-7 02:56:47 | 显示全部楼层
Java是一种计算机编程语言,拥有跨平台、面向对java
冷月葬花魂 该用户已被删除
发表于 2015-7-7 23:32:50 | 显示全部楼层
应用在电视机、电话、闹钟、烤面包机等家用电器的控制和通信。由于这些智能化家电的市场需求没有预期的高,Sun公司放弃了该项计划。随着1990年代互联网的发展
精灵巫婆 该用户已被删除
发表于 2015-7-12 01:24:58 | 显示全部楼层
另外编写和运行Java程序需要JDK(包括JRE),在sun的官方网站上有下载,thinking in java第三版用的JDK版本是1.4,现在流行的版本1.5(sun称作J2SE 5.0,汗),不过听说Bruce的TIJ第四版国外已经出来了,是专门为J2SE 5.0而写的。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-3-29 01:55

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表