一、Java 7有什么新特性

几乎方方面面都有重大更新,举几个语法上的新特性,其他方面建议你去查找相关资料。

1、switch...case支持字符串。

java7 64 java 32位和64位的区别

2、数字字面量改进,加入二进制字面量表示:如0b001001(十进制数字9)或0B001001;

数字字面量中可以使用下划线分割,以使长数字便于阅读,如100000可以写成100_000,就好比现实生活中写成100,000便于阅读一样。

3、优化异常处理,Throable类增加addSuppressed和getSuppressed方法,用来记录被其他异常抑制而无法正常抛出的异常;

一个catch子句可以捕获多个异常,每个异常之间使用“|”分割,如catch(ClassNotFoundException cnfe| IOException ioe);

还有其他的一些优化,如异常类中包含更多信息,精确异常抛出等等。

java7 64 java 32位和64位的区别

4、Java 7之前通常在try里创建资源,finally里对资源进行关闭等操作,Java 7中可以使用try-with-resources语句,而不需要关心资源的关闭,如——

try(InputStream input= new FileInputStream("D:/test1.txt");

OutputStream output= new FileOutputStream("D:/test2.txt")){

byte[] buffer= new byte[1024];

int len=-1;

while((len= input.read(buffer)!=-1){

output.write(buffer, 0, len);

}

}

将资源的创建写在try后的括号里,这样就不需要使用finally语句来保证资源的正确关闭,由虚拟机自动完成,程序员只需要关心业务逻辑即可。

5、关于变长参数的优化,增加了@SafeVarargs注解,Java 7之前在使用可变长参数的方法时,如果参数传递的是不可具体化的类型(如泛型类型List<String>)会产生警告信息,如果希望进制该警告,需要使用@SuppressWarnings("unchecked")注解进行声明,Java 7中,如果开发人员确信某个使用了可变长参数的方法在与泛型类一起使用时不会出现类型安全问题,就可以使用@SafeVarargs注解来声明。注意该注解只能用于可变长参数的方法或者构造方法,并且方法必须声明为static或final。

二、java语言的所有数据类型分为哪几种

JAVA中一共有八种基本数据类型,分别是:byte、short、int、long、float、double、char、boolean。

1、byte:8位,最大存储数据量是255,存放的数据范围是-128~127之间。

2、short:16位,最大数据存储量是65536,数据范围是-32768~32767之间。

3、int:32位,最大数据存储容量是2的32次方减1,数据范围是负的2的31次方到正的2的31次方减1。

4、long:64位,最大数据存储容量是2的64次方减1,数据范围为负的2的63次方到正的2的63次方减1。

5、float:32位,数据范围在3.4e-45~1.4e38,直接赋值时必须在数字后加上f或F。

6、double:64位,数据范围在4.9e-324~1.8e308,赋值时可以加d或D也可以不加。

7、boolean:只有true和false两个取值。

8、char:16位,存储Unicode码,用单引号赋值。

扩展资料:

Java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。

Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程。

参考资料:JAVA_百度百科

三、java 32位和64位的区别

下面我跟你详细的分析下32位和64位下Myeclipse、Tomcat以及JDK三者关系详解。这样的话你更容易理解一些

Myeclipse从9.0企业版开始有64位的安装包,本人用的为10.7版本,安装过程中会有选择支持的版本信息,如下图1所示。

图1

JDK和Tomcat也分32位和64位。三者之间协同工作的关系,以本人开发环境作详细介绍。JDK和Tomcat分别配置了32位和64位环境,如下图2中从上至下分别对应的是32位以及64位JDK(注意是JDK安装的根目录),图3中从上至下分别对应的是64位,64混合32位以及32位的Tomcat。

图3

下面以64位配置举例说明,如图4中所示,JDK的环境变量为D:\dev\Java64\jdk;如图5中所示,Tomcat的环境变量为D:\dev\apache-tomcat-7.0.63-x64,如需要切换,修改相应的值即可。

图5

在myeclipse的菜单栏,通过Window->Java->installed JREs即可进入修改开发过程中支撑项目工程的JDK,操作过程如图6中序号表示,这里选择Name为jdk64的64位JDK,在项目JRE System Library下即可查看支撑的JDK信息。

图6

在myeclipse的菜单栏,通过Window->Myeclipse->Servers->Tomcat->Tomcat 7.x即可设置项目工程部署到的Tomcat服务器(如图7所示),这里选择64位的Tomcat,如图8所示,展开Tomcat7.x,选择JDK,即可设置Tomcat运行基于的JDK(在用Myeclipse开发过程中,此JDK可以不配置系统环境变量。原因是Myeclipse会将此JDK作为内置JDK,细心的码友可以发现Myeclipse安装过程中自带的JDK是没有配置环境变量的,但Tomcat照样能运行。),这里选择Name为jdk64的64位JDK。项目部署运行即可在Console控制台看到JDK的信息,如图9所示。

注意:再次强调,用myeclipse开发测试的过程中,所用JDK可以不配置环境变量,Myeclipse会把选用的JDK作为内置JDK,开发过程中无需依托于系统环境变量。项目在开发完毕,导出war包并关闭Myeclipse后,若将war包工程部署到Tomcat,则需要依托系统的环境变量指定的JDK

问题:在Myeclipse开发过程中系统能访问Access数据库,但相应war包部署在Tomcat中后无法访问。

原因:开发时,图8中选择的是32位的JDK(即jdk32,如图10所示),但部署war包的Tomcat依托的系统环境是64位的JDK,如图4所示。