上海某网络技术有限公司java面试题

119 篇文章 0 订阅
114 篇文章 0 订阅

1. jdk与jre的区别
jdk用于源码编译成类文件 jre负责解释类文件类运行 , 默认jdk包含了一份jre
参考文章:http://www.cnblogs.com/myitm/archive/2011/05/03/2035942.html

2. jdk bin下各命令有什么用途
Javac.exe: Java编译器, 将Java源代码转换成字节码。
Java.exe: Java解释器, 直接从类文件执行Java应用程序字节代码。
appletviewer.exe: 小程序浏览器, 一种执行HTML文件上的Java小程序的Java浏览器。
Javadoc.exe: 根据Java源码及说明语句生成HTML文档。
Jdb.exe:Java调试器,可以逐行执行程序,设置断点和检查变量。
Javah.exe:产生可以调用Java过程的C过程,或建立能被Java程序调用的C过程的头文件。
Javap.exe:Java反汇编器,显示编译类文件中的可访问功能和数据,同时显示字节代码含义。
Jar.exe:将Java类文件和其他资源文件捆绑成一个一的jar文件
apt.exe :SolarisTM 操作系统和 Linux上用于处理注释的工具
extcheck.exe: extcheck 检测目标 jar 文件与当前安装方式扩展 jar 文件间的版本冲突。
HtmlConverter.exe : Java 插件 HTML 转换器是一种实用程序,可用于将任一包含小程序的 HTML 页面,转换为使用 Java插件的格式。
idlj.exe : 对idl文件进行解析,生成所需的java文件
jarsigner.exe: 为 Java 归档 (JAR) 文件产生签名,并校验已签名的 JAR 文件的签名
java-rmi: Java远程方法调用。即Java RMI(Java Remote Method Invocation)是Java编程语言里,一种用于实现远程过程调用的应用程序编程接口。它使客户机上运行的程序可以调用远程服务器上的对象。远程方法调用特性使Java编程人员能够在网络环境中分布操作。RMI全部的宗旨就是尽可能简化远程接口对象的使用。
javaws:用于启动和控制Web上的java是程序
JConsole:是一个基于JMX的GUI工具,用于连接正在运行的JVM,不过此JVM需要使用可管理的模式启动。
jhat:是一个Java堆复制浏览器。这个工具分析Java堆复制文件(例如,由上面的"jmap -dump"所产生的)。Jhat启动一个允许堆中的对象在web浏览器中进行分析的web服务器。这个工具并不是想用于应用系统中而是用于"离线"分 析。“jhat工具是平台独立的”,其意思是,它可以被用来观察在任何平台上所产生的堆复制。例如,我们有可能在Linux系统上使用jhat来观察一个 在Solaris OS上所产生的堆复制。
jinfo:打印一个给定的Java进程或核心文件或一个远程调试服务器的Java配置信息。配置信息包括Java系统属性和JVM命令行标志
jps:相当于Solaris进程工具ps。不象"pgrep java"或"ps -ef grep java",jps并不使用应用程序名来查找JVM实例。因此,它查找所有的Java应用程序,包括即使没有使用java执行体的那种(例如,定制的启动 器)。另外,jps仅查找当前用户的Java进程,而不是当前系统中的所有进程。
jrunscript:一个JS解释器
jstack:等价于Solaris的pstack工具。jstack打印所有的Java线程的堆栈跟踪信息(可选地包括本机帧信息)
jstat :显示一个测量(instrumented)Java HotSpot虚拟机的性能统计信息
jstatd是一个Java远程方法调用 (RMI)服务器应用程序-它监控测量Java HotSpot虚拟机的创建和终止并且提供一个接口来允许远程监控工具依附到运行于本地主机的JVM
Keytool:是安全钥匙与证书的管理工具,它管理一个存储了私有钥匙和验证相应公共钥匙的与它们相关联的X.509 证书链的keystore
kint,klist,ktab:实现Kerberos用到的一些工具
native2ascii:用于转换字符或者文件的编码格式
orbd:用于实现corba接口(分布式应用)
pack200:对jar文件进行高效的压缩
packager: 将Jar文件包装成其他格式的文件
policytool:java中的策略管理
rmic:为远程调用编译生成远程调用时所需的文件
rmid:用于启动激活系统守护进程,以便远程对象可以在JVM中注册和激活
rmiregistry:启动一个远程对象注册表中指定的端口
schemagen: 命令行工具,可以根据表示 Java 应用程序的数据元素的现有 Java 应用程序来创建 XML 模式文档
serialver:用于返回一个类的serialverUID
servertools:为程序员提供了一个命令行接口,用于注册,取消注册,启动,关闭一个服务
tnameserv:
unpack200:对pack200进行压缩的jar文件进行解压
wsgen:是一个命令行功能用来生成合适的JAX-WS。它读取WebService的终端类文件,同时生成所有用于WebService发布的源代码文件和经过编译过的二进制类文件。它还随意生成WSDL和符合规范的HelloServer类WebService。wsgen从资源文件生成一个完整的操作列表是合法的。
wsimport:这个工具依据wsdl文件生成相应的类文件,然后用这些类文件,就可以像调用本地的类一样调用WebService提供的方法了
参考文章:http://blog.csdn.net/syl469/article/details/7746932

3. tcp协议
http://blog.csdn.net//article/details/37902503

4. http协议
客户端与服务器建立TCP连接
域名–>找到对应IP–>三次握手(syn,ack)后建立连接;
http://blog.csdn.net//article/details/38058063
HTTP请求
客户端连上服务器后,向服务器请求某个web资源,称之为客户端向服务器发送了一个HTTP请求。
一个完整的HTTP请求包括:一个请求行、若干消息头、以及实体内容
请求行用于描述客户端的请求方式、请求的资源名称,以及使用的HTTP协议版本号
消息头用于描述客户端请求哪台主机,以及客户端的一些环境信息等
常用的请求方式有: GET、 POST
HTTP响应
一个HTTP响应代表服务器向客户端回送的数据,它包括:
一个状态行、若干消息头、以及实体内容 。
状态行用于描述服务器对请求的处理结果。
状态行
格式: HTTP版本号 状态码 原因叙述
举例:HTTP/1.1 200 OK
状态码用于表示服务器对请求的处理结果,它是一个三位的十进制数。响应状态码分为5类
100~199 :表示成功接收请求,要求客户端继续提交下一次请求才能完成整个处理过程
200~299 :表示成功接收请求并已完成整个处理过程,常用200
300~399 :为完成请求,客户需进一步细化请求。例如,请求的资源已经移动一个新地址,常用302、307和304
400~499 :客户端的请求有错误,常用404
500~599 :服务器端出现错误,常用 500
响应状态码:
1、客户方错误:
100 客户必须继续发出请求
101 客户要求服务器根据请求转换HTTP协议版本
2、成功:
200 OK
201 已创建
202 接收
203 非认证信息
204 无内容
205 重置内容
206 部分内容
3、重定向:
300 多路选择
301 永久转移
302 暂时转移
303 参见其它
304 未修改(Not Modified)
305 使用代理
4、客户方错误:
400 错误请求(Bad Request)
401 未认证
402 需要付费
403 禁止(Forbidden)
404 未找到(Not Found)
405 方法不允许
406 不接受
407 需要代理认证
408 请求超时
409 冲突
410 失败
411 需要长度
412 条件失败
413 请求实体太大
414 请求URI太长
415 不支持媒体类型
5、服务器错误:
500 服务器内部错误
501 未实现(Not Implemented)
502 网关失败
503 服务器过载或暂停维修
504 网关超时
505 HTTP版本不支持

5. java8新特性
http://www.oschina.net/translate/everything-about-java-8

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值