/*
* Copyright 2002-2004 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.springframework.core;
/**
* Helper class used to find the current Java/JDK version.
* Usually we want to find if we're in a 1.4 or higher JVM.
* (Spring does not support 1.2 JVMs.)
*
* @author Rod Johnson
* @author Juergen Hoeller
*/
public class JdkVersion {
public static final int JAVA_13 = 0;
public static final int JAVA_14 = 1;
public static final int JAVA_15 = 2;
public static final int JAVA_16 = 3;
public static final int JAVA_17 = 4;
private static String javaVersion;
private static int majorJavaVersion = JAVA_13;
static {
javaVersion = System.getProperty("java.version");
// should look like "1.4.1_02"
if (javaVersion.indexOf("1.4.") != -1) {
majorJavaVersion = JAVA_14;
} else if (javaVersion.indexOf("1.5.") != -1) {
majorJavaVersion = JAVA_15;
} else if (javaVersion.indexOf("1.6.") != -1) {
majorJavaVersion = JAVA_16;
} else if (javaVersion.indexOf("1.7.") != -1) {
majorJavaVersion = JAVA_17;
}
// else leave as 1.3 default
}
/**
* Return the full Java version string, as returned by
* <code>System.getProperty("java.version")</code>.
*/
public static String getJavaVersion() {
return javaVersion;
}
/**
* Get the major version code. This means we can do things like
* <code>if (getMajorJavaVersion() < JAVA_14)</code>.
*
* @return a code comparable to the JAVA_XX codes in this class
* @see #JAVA_13
* @see #JAVA_14
* @see #JAVA_15
*/
public static int getMajorJavaVersion() {
return majorJavaVersion;
}
}
相关推荐
C++11并发与多线程笔记(2) 线程启动、结束,创建线程多法、join,detach
第二节 线程启动、结束,创建线程多法、join,detach 一、范例演示线程运行的开始 程序运行起来,生成一个进程,该进程所属的主线程开始自动运行;当主线程从main()函数返回,则整个进程执行完毕 主线程从main()开始执行,那么我们自己创建的线程,也需要从一个函数开始运行(初始函数),一旦这个函数运行完毕,线程也结束运行 整个进程是否执行完毕的标志是:主线程是否执行完,如果主线程执行完毕了,就代表整个进程执行完毕了,此时如果其他子线程还没有执行完,也会被强行终止【此条有例外,以后会解释】 创建
org.springframework.beans.factory.BeanDefinitionStoreException
整合Spring时报错如下: org.springframework.beans.factory.BeanDefinitionStoreException: Unexpected exception parsing XML document from class path resource [applicationContext.xml]; nested exception is java.la
Seedance2.5本地部署指南:从环境配置到生产优化的完整实践
在 AI 内容生成领域,本地部署方案正逐渐成为开发者和技术团队关注的焦点。Seedance2.5 作为一款支持图像和视频生成的 AI 工具,其完全离线运行的能力解决了云端服务在数据隐私、使用成本和访问稳定性方面的痛点。对于需要处理敏感内容、频繁生成素材或希望完全掌控生成流程的技术人员来说,掌握本地部署方法具有实际价值。 本文将以 Seedance2.5 的本地部署为例,详细介绍从环境准备、依赖配置到运行验证的完整流程,同时深入分析关键参数配置、常见问题排查方法以及生产环境下的优化建议。通过实际部署过程,理解
Context namespace element 'component-scan' and its parser class [org.springframework.context.annotat...
异常信息如下: 错误: Unexpected exception parsing XML document from class path resource [spring/applicationContext-db.xml]; nested exception is java.lang.IllegalStateException: Context namespace element 'co...
Sigrity Power DC Package Multi-Resistor Compact ET Model Extraction模式提取封装基板电热阻模型
DIE(定义DIE的参数):material设置为silicon(硅),Attach material(贴片的材料,设置为Die Attach),Attach thickness(贴片的材料的厚度,厚度设置为0.001mm,点击ok。Cap为覆盖材料,Material定义材料类型,thickness定义厚度,length和width定义长宽,Adhesive Material为胶的材料,Adhesive Material为胶的厚度,本例不定义,跳过即可。
YOLO26优化:注意力魔改 | SKAttention注意力,自适应地调整其感受野大小,效果优于SENet
SKAttention输入自适应地调整其感受野大小的能力
项目启动遇到一个新问题Context namespace element 'component-scan' and its parser class [org.springframework.cont...
org.springframework.beans.factory.BeanDefinitionStoreException: Unexpected exception parsing XML document from class path resource [applicationContext.xml]; nested exception is java.lang.IllegalS...
AgentScope Java 2.0 项目实战:从零构建企业级自主Coding Agent
本文基于 AgentScope Java 框架,完整拆解两个生产级 AI Agent 项目的从零开发全过程。其一是企业级自主编码机器人(agentscope-codingagent),支持 Issue→PR 自动实现、PR Code Review、Docker 沙箱隔离执行与多通道接入;其二是个人 AI 助手管理平台(agentscope-paw),采用 Spring Boot + React 全栈架构,支持多 Agent、技能市场与多 IM 通道。
Context namespace element ‘component-scan‘ and its parser class
检查了 spring 版本、jdk版本 都没有问题、最后检查pom依赖 、发现duboo依赖中也会依赖spring 相关jar包 、导致jar冲突。
OceanBase容量统计:租户、数据库、表大小
🍎 数据库版本:OceanBase V4。
【打卡帖】7日玩转ESP32——(第4日) 串口的输入输出
【福利帖】7日玩转ESP32——(第4日) 串口的输入输出
Spring源码阅读1 AOP如何判定是否可以使用JDK动态代理
Spring DefaultAopProxyFactory源码 或许大家会奇怪了,不就是判断是不是代理的接口就可以了吗?其实并不是这么简单。 直接上代码。 @Override public AopProxy createAopProxy(AdvisedSupport config) throws AopConfigException { if (config.isOptimize() || config.isProxyTargetClass() || hasNoUserSuppliedProxyIn
商用车重型多挡位机械式变速器(AMT)结构设计与仿真分析
本文针对商用车重型AMT变速器开展结构设计与仿真分析。设计采用12挡双中间轴结构,匹配400kW柴油发动机,最大扭矩2000Nm。通过等比级数分配传动比(头挡14.5,最高挡0.78),采用主副箱组合实现多挡位。双中间轴结构可抵消径向力,提升承载能力。关键设计包括:235mm中心距、4.5-5.0mm齿轮模数、锁环式同步器和复合润滑系统。通过Python参数化建模进行强度校核,计算显示中间轴在2000Nm工况下等效应力满足安全系数要求(屈服强度850MPa,安全系数≥2)。该设计解决了传统MT变速器操作强度
IntelliJ IDEA导入Spring源码
工欲善其事,必先利其器,研究spring源码,从导入源码开始吧。本文记录自己 Windows下 IDEA 导入源码折腾的过程。 spring源码构建参见 官方文档https://github.com/spring-projects/spring-framework/wiki/Build-from-Source 1、下载spring源码 安装git,Spring源码现在在github托管,s......
C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片
基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正
pscad IEEE标准系统搭建说明
pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。
spring与jdk对应版本关系
文章目录前言版本对应 前言 最近在搭建spring源码环境,一直提示使用jdk17,翻看官方文档介绍,发现最新的spring已经到了spring6.0,为此查找了下spring与jdk对应版本关系 版本对应 Spring Framework 6.0.x:JDK 17-21(预期) Spring Framework 5.3.x:JDK 8-19(预期) Spring 框架 5.2.x:JDK 8-15 Spring 框架 5.1.x:JDK 8-12 Spring 框架 5.0.x:JDK 8-10 Spri
IDEA的使用指南
IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.
Spring源码学习环境搭建(详细版本)
spring框架源码学习环境搭建教程
蓝牙模块HM-10手册
蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。
Java_JDK8到JDK21各版本发行时间及重要特性
一直以来,Java8 都是 Java 社区心头的痛,Java8提供了很多特性,比如Lambda 表达式、Optional 类,加上Java8超长的支持时间,都导致了JDK8的使用至今。因为 Java 届的霸主框架 SpringBoot,选择了最小支持的 Java lts 版本,就是最新的 Java17。从 JDK 诞生到现在,还在长期支持的版本主要有 JDK 7、JDK 8 、JDK 11以及 JDK 1,JDK 17 将是继 Java 8 以来最重要的LTS版本,是 Java 社区八年努力的成果。
Spring:Spring源码下载、保存、编译
Spring源码下载、编译Spring源码下载Spring源码编译1、新增下载源地址2、修改依赖地址三级目录 Spring源码下载 注意:Spring源码使用的是Gradle,而不是Maven。因此下载Spring源码之前可以先安装Gradle,参考:Gradle的下载、安装和配置环境。 Spring源码gitee地址:https://gitee.com/mirrors/Spring-Framework。 Spring源码gitee仓库地址: https://gitee.com/mirrors/Spring
eclipse导入JDK源码
1.一直想好好看看jdk的源码,虽然可以直接解压jdk安装目录下的src.zip文件后看,但是终究不方便;后来知道使用eclipse开发时可以直接查看底层源码,这里就总结了一下网上找到的 方法,下面就和大家分享: 相信很多朋友遇到过这样的问题:开发过程中会经常查看所引用的类(接口或方法)的源码,但是往往在查看JDK中的类(接口或方法)时出现提示页面“Source not found”,这是因为
Spring源码之idea导入Spring源码
idea导入Spring源码
JDK1.8及Spring5.0.x源码环境搭建
源码阅读是程序员进阶必不可少的一环,对于源码的阅读我的建议是按需加载,日积月累,准备长期作战,就像数据结构和算法一样,刷题学习可能是一个需要长期坚持的事情,不仅仅是为了面试更是为了提升基本功。但是凡事不可急功近利,一口吃不成胖子,源码阅读在初期应该是先看自己工作中用到的一小部分,感兴趣或者有疑惑的一小部分,然后随着工作经验的增加,基础知识的夯实,再逐渐系统化学习。好的源码能给我们带来很多启发,也能让我们不仅是会用工具或框架,更能用好,能解决疑难。阅读源码需要一定的知识储备,比如设计模式,数据结构和算法,操作
Spring源码搭建-踩坑之后的详细方案
Spring源码构建过程真的是太坑了。对于没学过gradle的同学一点都不友好接下来就是我踩坑了无数遍才成功的构建过程。希望可以帮助到大家,少走一点弯路。构建不成功也就容易放弃研究Spring源码了
[Spring源码]——Spring源码环境搭建
带你从头搭建Spring源码环境
spring源码学习 八:代理之JDK
上一篇文章我们介绍了spring中用的两种代理技术:JDK和Cglib,这篇文章我们就深入学习JDK的代理是如何实现的,下一篇文章我们再深入学习Cglib的代理。
IDEA搭建最新Spring源码环境基于Gradle、JDK11
Spring的地位不言而喻,很多牛逼的大佬都研究过它,相信在面试中大家也不止一次被问到说说IOC、AOP、Spring的启动流程、Bean的初始化流程、循环依赖等问题。光看别人写的八股文,没看过源码,看着看着就不知道讲什么了,只有自己去研究下才知道别人在说什么,就算不能理解的很透彻,起码死记硬背应该容易点了。所以搭建spring源码环境是很有必要的,很早就想过搭建,但是一直没有时间(忙着玩了),Spring能搭建好,也可以搭建SpringBoot,面试中基本上离不开这两个东西。 废话不多说开干。 最新版的S
springboot依赖springframework版本关系&springframework各版本框架源码及与jdk版本的对应关系
springboot依赖springframework版本关系&springframework各版本框架源码及与jdk版本的对应关系
1万+



被折叠的 条评论
为什么被折叠?



