java.net是什么包,java.net是什么,包括什么技术
大家好,今天来为大家分享java.net是什么包的一些知识点,和java.net是什么,包括什么技术的问题解析,大家要是都明白,那么可以忽略,如果不太清楚的话可以看看本篇文章,相信很大概率可以解决您的问题,接下来我们就一起来看看吧!
谁能给一个java.net包的介绍,谢谢!
软件包 java.net的描述
为实现网络应用程序提供类。
java.net包可以大致分为两个部分:
低级 API,用于处理以下抽象:
地址,也就是网络标识符,如 IP地址。
套接字,也就是基本双向数据通信机制。
接口,用于描述网络接口。
高级 API,用于处理以下抽象:
URI,表示统一资源标识符。
URL,表示统一资源定位符。
连接,表示到 URL所指向资源的连接。
地址
在整个 java.net API中,地址或者用作主机标识符或者用作套接字端点标识符。
InetAddress类是表示 IP(Internet协议)地址的抽象。它拥有两个子类:
用于 IPv4地址的 Inet4Address。
用于 IPv6地址的 Inet6Address。
但是,在大多数情况下,不必直接处理子类,因为 InetAddress抽象应该覆盖大多数必需的功能。
关于 IPv6
并非所有系统都支持 IPv6协议,而当 Java网络连接堆栈尝试检测它并在可用时透明地使用它时,还可以利用系统属性禁用它。在 IPv6不可用或被显式禁用的情况下,Inet6Address对大多数网络连接操作都不再是有效参数。虽然可以保证在查找主机名时 java.net.InetAddress.getByName之类的方法不返回 Inet6Address,但仍然可能通过传递字面值来创建此类对象。在此情况下,大多数方法在使用 Inet6Address调用时都将抛出异常。
套接字
套接字是在网络上建立机器之间的通信链接的方法。java.net包提供 4种套接字:
Socket是 TCP客户端 API,通常用于连接远程主机。
ServerSocket是 TCP服务器 API,通常接受源于客户端套接字的连接。
DatagramSocket是 UDP端点 API,用于发送和接收数据包
MulticastSocket是 DatagramSocket的子类,在处理多播组时使用。
使用 TCP套接字的发送和接收操作需要借助 InputStream和 OutputStream来完成,这两者是通过 Socket.getInputStream()和 Socket.getOutputStream()方法获取的。
接口
NetworkInterface类提供 API以浏览和查询本地机器的所有网络接口(例如,以太网连接或 PPP端点)。只有通过该类才可以检查是否将所有本地接口都配置为支持 IPv6。
高级 API
java.net包中的许多类可以提供更加高级的抽象,允许方便地访问网络上的资源。这些类为:
URI是表示在 RFC 2396中指定的统一资料标识符的类。顾名思义,它只是一个标识符,不直接提供访问资源的方法。
URL是表示统一资源定位符的类,它既是 URI的旧式概念又是访问资源的方法。
URLConnection是根据 URL创建的,是用于访问 URL所指向资源的通信链接。此抽象类将大多数工作委托给底层协议处理程序,如 http或 ftp。
HttpURLConnection是 URLConnection的子类,提供一些特定于 HTTP协议的附加功能。
建议的用法是使用 URI指定资源,然后在访问资源时将其转换为 URL。从该 URL可以获取 URLConnection以进行良好控制,也可以直接获取 InputStream。
下面是一个示例:
URI uri= new URI("http://java.sun.com/");
URL url= uri.toURL();
InputStream in= url.openStream();
协议处理程序
如上所述,URL和 URLConnection都依赖于协议处理程序,所以协议处理程序必须存在;否则将抛出异常。此为与 URI的主要不同点,URI仅标识资源,所以不必访问协议处理程序。因此,尽管可能利用任何种类的协议方案(例如,myproto://myhost.mydomain/resource/)创建 URI,但类似的 URL仍将试图实例化指定协议的处理程序;如果指定协议的处理程序不存在,则抛出异常。
默认情况下,协议处理程序从默认位置动态加载。但是,通过设置 java.protocol.handler.pkgs系统属性也可能增加搜索路径。例如,如果将其设置为 myapp.protocols,则 URL代码将首先尝试(对于 http而言)加载 myapp.protocols.http.Handler,然后,如果失败,则尝试从默认位置加载 http.Handler。
注意,处理程序类必须为抽象类 URLStreamHandler的子类。
java.net是什么,包括什么技术
java是一种跨平台的语言。.net是一种跨语言的平台。
java是sun公司的,目前oracle收购(不细谈这没用的)
.net是Microsoft的,是一个平台,在这个平台中有很多语言,典型的C,C++,C#,VB
为什么说是一个平台,原因他们编译后都底层兼容性很好,具有公共运行时。
java跨平台语言是说可以在不同的操作系统上执行同一代码,比如windows和linux
java之所以跨平台,是因为java源文件编译为class文件,java虚拟机(JVM)载入class运行,不同平台JVM是不同的,但是程序员不用管,写的源代码都是一样的,所以可以跨平台。
java.net的软件包
为实现网络应用程序提供类。
java.net包可以大致分为两个部分:
低级 API,用于处理以下抽象:
地址,也就是网络标识符,如 IP地址。
套接字,也就是基本双向数据通信机制。
接口,用于描述网络接口。
高级 API,用于处理以下抽象:
URI,表示统一资源标识符。
URL,表示统一资源定位符。
连接,表示到 URL所指向资源的连接。
地址
在整个 java.net API中,地址或者用作主机标识符或者用作套接字端点标识符。
InetAddress类是表示 IP(Internet协议)地址的抽象,它拥有两个子类:
用于 IPv4地址的 Inet4Address。
用于 IPv6地址的 Inet6Address。
但是,在大多数情况下,不必直接处理子类,因为 InetAddress抽象应该覆盖大多数必需的功能。关于
.net与java的区别是什么
1.相对C#,JSP的脚本语言JAVA也是面向对象的、分布式的、解释的语言。
2.与C#相似JAVA同样去掉了难以理解的指针等概念,取而代之的是类和对象。
3.
JSP有一项全新的技术――Servlet(服务器端程序)很好的节约
了服务器资源。
4.JAVABeans是针对ASP.NET的Server
Control的技术。只要
会JAVA,
JavaBeans就很容易写出。
5.再有就是JAVA的JDBC数据库连接技术。
6.JSP对XML同样有十分广泛的支持。
1)
面向对象性:
ASP+将C#作为一种面向对象语言,在很多方面来看,C#将成为微软的与Java相似的语言。
C#另一个有趣的地方是所有对象都自动变成为COM对象。如果C#能取得很大的市场份额,那么它将给ASP+带来类似于Java的功能,并且具备更快的性能,因为它可以和Windows环境紧密集成。
C#
是ASP+开发中一个最重要的功能,微软会将C#发展成为Java的强劲对手。这也是他们.Net框架的一个重要组成部分。我认为C#是微软在编程市场上击败对手的主要工具。我期待着微软能在这个产品后面倾注全力,这样,C#可以成为许多程序员的又一种选择。C#产生的结果是将进一步加固微软和Sun产品的战线。这对用户是有利的,他们可以选择两者之一来开发新的应用。
2)
数据库连接:
ASP另一个亮点是它使用ADO对象,ODBC,
OLE-DB和事务处理管理器。因此ASP
Web数据库应用开发特别简单。ASP+发展了更多的功能,因为有了ADO+!ADO+带来了更强大更快速的功能。JSP和JDBC目前在易用性和性能上同ASP/ADO相比已有些落后,当新版本ASP+/ADO+出现后这样的差别会更明显。我个人希望SUN应尽快能花大力气来追赶ASP+/ADO+的组合。
3)
大型站点应用:
ASP+将对大型站点(web
farms)有更好的支持。事实上,微软在这方面付出了巨大的努力。
ASP+可以让你考虑到多服务器(multiple
servers)的场合,当你需要更强大的功能时,仅仅只需要增加一台服务器。整个.Net框架已经充分地提供了这个方法。ASP+提供了外部会话状态(external
session
state)来提供内置式web
farm的支持。另外,由于请求的各组件相互间经过了充分的优化,所以速度很快。
于是ASP+现在可以在大型项目方面与JSP一样具有等同的能力。
而ASP+还有价格方面的优势,因为所有的组件将是服务器操作系统的一部分。对于JSP,你需要购买昂贵的应用服务器群来达到同样的目的。
4)
ASP+还提供更多的其它方面的新特性,例如:
*内置的对象缓存和页面结果缓存。
*内置的XML支持,可用于XML数据集的简单处理。
*服务器控制提供了更充分的交互式控制。
ASP+确实对ASP进行了较大的发展。
JSP同样是实现动态网页的一个利器。由于他的脚本语言是JAVA,所以继承了JAVA诸多优点。那么与ASP相比,应该可以说ASP和JSP基本不是一个档次上的。那么ASP.NET和JAVA却是可以抗衡的。
END,本文到此结束,如果可以帮助到大家,还望关注本站哦!