初学java的朋友很可能碰到很多问题,下面收集整理了一些供参考。
摘?自:java俱乐部
1。[问]application和applet各自指什么?在使用中有区别吗?
[答]application和applet是利用java语言生成的可运行代码中最常用的两种,两 者都必须在java虚拟机上运行。简单来讲,
application更象我们平常用vb,vc等编写 的桌面程序,多以控制台(console)方式运行,当然也很容易实现窗口应用。
而applet可以嵌入web页面中,在支持java虚拟机的浏览器上运行。在使用时应该区别应用。
2。[问]我编写了一个简单的application,也通过了编译,得到了一个class文件,可是我使用jdk的java命令运行它时,却报告class找不到的错误。
[答]这是初学java时常遇到的问题,其实很简单,你看看自己在程序中定义的主类
名和你对程序的命名(*.java)是不是相同?如果两个名称不相同,就会出现这个错误。
3。[问]我想学习java语言,可是面对很多java的开发工具,不知道用什么好?
[答]目前出现了很多java开发工具,各自有自己的特色。对于初学者,建议使用sun公司的jdk开始学习,注意利用jdk的文档资料,这对打好java的基本功很有帮助。将来正式使用java开发项目时,可以选择一些工程化的可视化工具,如microsoft的vj++,等。实际上,经常是在开发中综合利用jdk和其他可视化工具。
4。[问]经常会看见还有一个javascript这样的东西,它和java有区别吗?
[答]对比java来讲,javascript并不能说是一套完整的语言,它定义了一套方法,事件处理等,主要用于web页面开发中增加页面效果,进行数据有效性检查等。在开发microsoft asp时也可以作为一种编程脚本。它有一个基本对等的东西就是vbscript.
常见中文问题的解决方法:
1.jdk的中文问题:
不要使用datainputstream与dataoutputstream,而要用 bufferedreader与bufferedwriter。
3.数据库中文问题: access + javaodbc驱动程序不能支持中文(用getbyte()也 不行),目前我还没有找到解决方法。 mysql + javaodbc驱动程序也有中文问题,目前我还没有找 到解决方法。 mysql + mm.mysql.jdbc没有任何中文问题,但是建立数据 表,有中文输入的域,最好设成bianry,否则因为mysql的 varchar、char、text等属性的域在查询时是不分大小写时, 这样中文查询时会出现问题。
4.jsp的中文问题。 setpropotery时的中文问题,使用urldecoder.decode()进行 转换即可。
如何设置java 2(jdk1.2)的环境变量?
答:
java 2安装后,需要设置path和java_home环境变量.与jdk1.1不同的是:设置好java_home环境变量后,jvm将自动搜索系统类库以及用户的当前路径.
solaris平台: setenv java_home java2的安装路径
setenv path $java_home/bin:${path}
windows平台: set java_home=java2的安装路径
set path=$java_homebin;%path%
问: 使用jdbc编程,应如何控制结果集resultset的指针,使之能够上下移动,以及移动到结果集的第一行和最后一行?
答:
在jdk1.1中,resultset类中只定义了next()方法支持数据指针的下移.但在java 2中,resultset类增加了如下方法支持数据指针的移动,包括:
resultset.first():将数据指针移到结果集的第一行
resultset.last(): 将数据指针移到结果集的最后一行
resultset.previous(): 将数据指针上移一行
以上的方法定义在jdbc2.0的规范中,所有支持jdbc 2.0的jdbc驱动程序都可以支持上述方法.目前intersolv和openlink等jdbc驱动程序厂商均有产品支持jdbc 2.0 .
java advanced imaging api
tomcat
tomcat是一个带有jsp环境的servlet容器.servlet容器是一个根据用户的行为可以管理和激活servlet的运行时的shell.
粗略地可以将servlet容器分为如下几类:
独立的servlet容器
内置有web服务器的一部分.指当使用基于java的web服务器的情形,例如servlet容器是javawebserver的一个部分. 独立的servlet容器是tomcat的默认模式.
大多数的web服务器并非基于java,因此,我们可以得出如下两种容器的模式.
进程内的servlet容器
servlet容器作为web服务器的插件和java容器的实现.web服务器插件在内部地址空间打开一个jvm(java virtual machine)使java容器得以在内部运行.如有某个需要调用servlet的请求,,插件将取得对此请求的控制并将他传递(使用jni)给java容器.进程内容器对于多线程,单进程的服务器非常合适并且提供很好的运行速度,但伸缩性有所不足.
进程外的servlet容器
servlet容器运行于web服务器之外的地址空间且作为web服务器的插件和java容器的实现的结合.web服务器插件和java容器 jvm使用ipc机制(通常是tcp/ip)进行通讯.当一个调用servlet的请求到达时,插件将取得对此请求的控制并将其传递(使用ipc等)给java容器,进程外容器的反应时间或进程外容器引擎不如进程内容器,但进程外容器引擎在许多其他可比的范围内更好(伸缩性,稳定性等).
tomcat既可作为独立的容器(主要是用于开发与调试)又可作为对现有服务器的附加(当前支持apache,iis和netscape服务器).即任何时候配置tomcat你都必须决定如何应用他,如选择第二或第三种模式,你还需要安装一个web服务器接口.
tomcat与jserv有何区别?tomcat是jserv吗?
这是个常见的误解.jserv是servlet api2.0兼容并与apache一起使用的容器.tomcat是一个完全重写的并与servlet api2.2和jsp1.1兼容的容器.
2) cookie
l 在java servlet中,如果你光 cookie cookie = new cookie(name,value)
那么当用户退出browser时,cookie会被删除掉,而不会被存储在客户端的硬盘上。
如果要存储 cookie,需加一句 cookie.setmaxage(200)
l cookie是跟某一个server相关的,运行在同一个server上的servlet共享一个cookie.
未完待续………………….
