仓酷云 发表于 2015-1-18 11:44:09

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

再举这样一个例子:如果你想对一个数字取绝对值,你会怎么做呢?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而写的。
页: [1]
查看完整版本: JAVA编程:真巧, 我恰好做了一个扫描全部网段的多...