Unsupported major.minor version 52.0

开发中遇到 Unsupported major.minor version 52.0 的问题,查了一下资料,对这个问题的解决记录一下。 这个问题是由于编译的jdk(jre)为高版本1.8的,但是运行时的jvm是1.6的或1.7的,所有导致了这个问题。 解决办法就是在编译的时候切换低版本的jdk(jre)。 major.minor version(主次版本号) JavaSE 8 = 52 (0x34 hex),JavaSE 7 = 51 (0x33 hex),JavaSE 6 = 50 (0x32 hex),JavaSE 5 = 49 (0x31 hex)…

JDK,JRE和JVM之间的区别

JVM         (Java虚拟机)是一个抽象机器。它是一个提供可以执行Java字节码的运行时环境的规范。JVM可用于许多硬件和软件平台。JVM,JRE和JDK是平台相关的,因为每个OS的配置不同。 但是,Java代码是平台无关的。 JVM执行以下任务 加载代码 验证代码 执行代码 提供运行环境 JRE         JRE是Java Runtime Environment的缩写。它用于提供运行时环境。它是JVM的实现。它是实际存在的。它包含一组库和J…

POI导出Excel文件与JVM内存的关系

最近的一个项目需要导出大数据量的Excel文件,我使用了POI做为底层的Excel导出API。在实际使用中得到一点小小体会,与大家分享一下。测试数据:数据记录长度:24字段/记录字段大小:2个中文字/字段JVM内存实际支持导出的记录数:11000条记录/64MJVM内存配置到1024M时,可以导出此类数据10W条以上,大家可以参考此数据来配置自己的Excel数据量和JVM内存,以达到效果最优。附:JVM内存配置说明查看当前J…

Java堆外内存排查小结

Java , 发表评论
简介JVM堆外内存难排查但经常会出现问题,这可能是目前最全的JVM堆外内存排查思路。通过本文,你应该了解:pmap 命令gdb 命令perf 命令内存 RSS、VSZ的区别java NMT起因这几天遇到一个比较奇怪的问题,觉得有必要和大家分享一下。我们的一个服务,运行在docker上,在某个版本之后,占用的内存开始增长,直到docker分配的内存上限,但是并不会OOM。版本的更改如下:升级了基础软件的版本将docker的内存…

Servlet Specification V2.4——SRV.2 The Servlet Interface

SRV.2 The Servlet Interface         Servlet接口是Java Servlet API的核心抽象。所有servlet都直接或者间接地实现了这个接口,更为普遍的是,继承自一个实现了此接口的类。在Java Servlet API中有两个类,GenericServlet和HttpServlet,它们继承了Servlet接口。通常,开发者会继承HttpServlet来实现他们的servlet。   SRV.2.1 Request Handling Methods         基础的Servlet接口定义了一个service…

Servlet的生命周期

当Servlet被容器加载时,容器可以在同一个JVM上执行所有的Servlet,所以Servlet之间可以有效的共享数据,但是Servlet本上的私有数据是手Java语言机制保护的。        Servlet从产生到结束的过程如下:       (1)容器的Servlet Engine加载Servlet,将Servlet实例化,然后调用init( )方法来进行初始化工作。       (2)Servlet是以多线程的方式来处理客户端的请求。       (3)调用destroy( )来销毁…

servlet生命周期–1

Servlet周期 Servlet的生命周期一般分为四个阶段,Servlet的产生,初始化,调用Servlet方法,最后是对Servlet的销毁.标志这个Servlet生命周期的结束. 1.Servlet的产生. 一个Servlet的产生是因为客户端有一个request请求的过来.这样服务器会生产一个Servlet.而且一个Servlet只生成一次.即服务器只加载对于一种Servlet只会加载一次. 在服务起内部首先会判断服务器的JVM是否已经加载了这个Servlet(内部是以这…

hibernate的one-to-many中set的sort与order-by

從資料庫的觀點來看,Set、Map、Bag是無序的,而List是有序的,這邊所謂的無序或有序,是指將容器中物件儲存至資料庫時,是否依容器物件中的順序來儲存。然而從資料庫取得資料之後,您也許會希望Set、Map等容器中的物件可以依一定的順序來排列,您可以從兩個層次來容器中的物件排序,一是在載入資料後於JVM中排序,另一是在資料庫中直接使用order by子句來排序。以 Set 這篇文章中的範例來作說明,要…

-jar参数运行应用时classpath的设置方法

最近发现了一个比较好的解决方案,先写在前边 可以设置java.ext.dirs 参数,如 %JAVA_HOME%/bin/java -Djava.ext.dirs=%JAVA_HOME%/jre/lib/ext;./lib -jar test.jar 将lib目录都列上去。   或者在manifest.mf 文件中,写入classpath项目 Class-Path: . lib/log4j-1.2.12.jar 冒号和各项目用空格隔开。   以下是转载内容。 ------------------------------------------------------分割线------------…

JAVA基础(2)—JRE、JDK与JVM

JDK---JRE---JVM   JDK(java develpment kit) Java开发工具包  提供给开发人员来使用的开发Java程序,包含了Java开发常用的一些工具类、依赖包和类库,也包括了JRE。所以安装了JDK,就不用再单独安装JRE了。其中的开发工具包包括编译工具(javac.exe)打包工具(jre.exe)等。 JRE (Java runtime  environment ) Java 运行时环境 光有JVM还不能成class的执行,因为在解释class的时候JVM需要调用解…

JDK、JRE、JVM的关系

Java , , 发表评论
首先上图,清晰展示三者关系 JVM:将字节码文件转成具体系统平台的机器指令。 JRE:JVM+JAVA语言的核心类库 JDK:JRE+JAVA的开发工具 各自在什么时候起作用? JDK是java开发工具包,在其安装目录下面有六个文件夹、一些描述文件、一个src压缩文件。bin、include、lib、 jre这四个文件夹起作用,demo、sample是一些例子。可以看出来JDK包含JRE,而JRE包含JVM。 bin:最主要的是编译器(javac.exe) include:j…

关于 jdk 和 jre 区别 ?

Jre 是java runtime environment, 是java程序的运行环境。既然是运行,当然要包含jvm,也就是大家熟悉的虚拟机啦, 还有所有java类库的class文件,都在lib目录下打包成了jar。大家可以自己验证。至于在windows上的虚拟机是哪个文件呢? 学过MFC的都知道什么是dll文件吧,那么大家看看jre/bin/client里面是不是有一个jvm.dll呢?那就是虚拟机。 Jdk 是java development kit,是java的开发工具包,里面…

Java ClassLoader原理分析

一、JDK默认提供的三个ClassLoader JDK 默认提供了如下几种ClassLoader 1. Bootstrp loader Bootstrp加载器是用C++语言写的,它是在Java虚拟机启动后初始化的,它主要负责加载%JAVA_HOME%/jre/lib,-Xbootclasspath参数指定的路径以及%JAVA_HOME%/jre/classes中的类。 2. ExtClassLoader   Bootstrp loader加载ExtClassLoader,并且将ExtClassLoader的父加载器设置为Bootstrp loader.ExtClassLoader是…

jdk与jre的区别

对于java初学者来说,往往不懂区分jdk和jre的区别,实际上这两个东西差别很大的,有必要了解一下:简单的说JDK是面向开发人员使用的SDK,它提供了Java的开发环境和运行环境。SDK是Software Development Kit 一般指软件开发包,可以包括函数库、编译程序等。   JDK就是Java Development KitJRE是Java Runtime Enviroment是指Java的运行环境,是面向Java程序的使用者,而不是开发者。如果安装了JDK,会…
下一页 »