精华内容
下载资源
问答
  • Hadoop Java对应版本号
    千次阅读
    2022-04-03 10:22:49

    Hadoop和Java的版本要一一对应,否则到时候会出现不支持的函数出现。下面这个是官方给出来的对应信息。

    Java 版本支持

    • Apache Hadoop 3.x 版本 现在只支持 Java 8
    • Apache Hadoop 从2.7.x 到 2.x 版本支持Java 7 and 8
    • Apache Hadoop 最新更新的2.7版本需要Java 7. 它在 OpenJDK 和Oracle (HotSpot)'s JDK/JRE下都已经通过编译和检测,早期的版本 (2.6 或更早版本) 则支持Java 6.
    • Java 11 现阶段部分支持:
      • trunk (3.3.0-SNAPSHOT) 支持 Java 11 运行时:HADOOP-15338-Java 11 运行时支持RESOLVED
      • Hadoop在使用 Java 11编译时不支持:HADOOP-16795-Java 11 编译时支持 OPEN

    JDKs/JVMs支持

    通过检验的JDK

    下表是已经已知在使用的 或已经通过检验的JDKs 版本:

    版本号

    状态

    报告来源

    oracle 1.7.0_15

    Good

    Cloudera

    oracle 1.7.0_21

    Good (4)

    Hortonworks

    oracle 1.7.0_45

    Good

    Pivotal

    openjdk 1.7.0_09-icedtea

    Good (5)

    Hortonworks

    oracle 1.6.0_16

    Avoid (1)

    Cloudera

    oracle 1.6.0_18

    Avoid

    Many

    oracle 1.6.0_19

    Avoid

    Many

    oracle 1.6.0_20

    Good (2)

    LinkedIn, Cloudera

    oracle1.6.0_21

    Good (2)

    Yahoo!, Cloudera

    oracle 1.6.0_24

    Good

    Cloudera

    oracle 1.6.0_26

    Good(2)

    Hortonworks, Cloudera

    oracle 1.6.0_28

    Good

    LinkedIn

    oracle 1.6.0_31

    Good(3, 4)

    Cloudera, Hortonworks

    如果是新项目的话,在没有项目包袱的情况下,建议尽量选用Hadoop3.X以上的版本会更加适合。如果是老项目的话,想进行项目升级的话,要注意了,因为Java版本的一些变化导致代码有些不兼容。

    下面是来自官网的JDK1.8版本修改导致的不兼容问题。

    Java 不兼容的变更

    下面表格文档供升级的Hadoop集群的Java版本的用户使用 . 它记录了影响Apache Hadoop的Java的变更.

    Java 8

    版本号

    不兼容的变更

    相关JDK bug系统 票证

    关联的JIRAs

    1.8.0_242

    The visibility of sun.nio.ch.SocketAdaptor is changed from public to package-private.TestIPC#testRTEDuringConnectionSetup is affected.

    JDK-8237177

    HADOOP-15787-[JDK11] TestIPC.testRTEDuringConnectionSetup failsRESOLVED

    1.8.0_242

    Kerberos Java client will fail by “Message stream modified (41)”

    when the client requests a renewable ticket and the KDC

    returns a non-renewable ticket. If your principal is not allowed to

    obtain a renewable ticket, you must remove “renew_lifetime”

    setting from your krb5.conf.

    JDK-8131051

    1.8.0_171

    In Apache Hadoop 2.7.0 to 2.7.6, 2.8.0 to 2.8.4, 2.9.0 to 2.9.1,

    3.0.0 to 3.0.2, and 3.1.0, KMS fails by java.security.

    UnrecoverableKeyException due toEnhanced KeyStore Mechanisms.

    You need to set the system property “jceks.key.serialFilter” to the

    following value to avoid this error:

    java.lang.Enum;java.security.KeyRep;java.security.
    KeyRep T y p e ; j a v a x . c r y p t o . s p e c . S e c r e t K e y S p e c ; o r g . a p a c h e . h a d o o p . c r y p t o . k e y . J a v a K e y S t o r e P r o v i d e r Type;javax.crypto.spec.SecretKeySpec; org.apache.hadoop.crypto.key.JavaKeyStoreProvider Type;javax.crypto.spec.SecretKeySpec;org.apache.hadoop.crypto.key.JavaKeyStoreProviderKeyMetadata;!*"

    HADOOP-15473-Configure serialFilter in KeyProvider to avoid UnrecoverableKeyException caused by JDK-8189997RESOLVED

    1.8.0_191

    All DES cipher suites were disabled. If you are explicitly using DEC cipher suites, you need to change cipher suite to a strong one.

    HADOOP-16016-TestSSLFactory#testServerWeakCiphers sporadically fails in precommit buildsRESOLVED

    更多相关内容
  • 简单java代码获取apk文件版本号,用于比较判断apk版本更新!
  • 展开全部首先还是不太明白你说的这636f70793231313335323631343130323136353331333431373261个“生成版本号”是什么意思,如果只是生成一个自增序列的话1、如果有oracle数据库的话可以利用它的序列生成。2、没有...

    展开全部

    首先还是不太明白你说的这636f70793231313335323631343130323136353331333431373261个“生成版本号”是什么意思,如果只是生成一个自增序列的话

    1、如果有oracle数据库的话可以利用它的序列生成。

    2、没有oracle,用redis也行。

    3、没有数据库,那就写个文件来存取吧:

    public class Test2 {

    public static void main(String[] args) throws IOException {

    System.out.println(getSequence("d:\\test\\sequence.txt"));

    setSequence("d:\\test\\sequence.txt", "");

    System.out.println(getSequence("d:\\test\\sequence.txt"));

    }

    //读取序列

    public static String getSequence(String sequenceFile) throws IOException {

    FileInputStream fileInputStream = null;

    InputStreamReader inputStreamReader = null;

    BufferedReader bufferedReader = null;

    try {

    File file = new File(sequenceFile);

    fileInputStream = new FileInputStream(file);

    inputStreamReader = new InputStreamReader(fileInputStream);

    bufferedReader = new BufferedReader(inputStreamReader);

    // 按行读取字符串

    String str;

    if ((str = bufferedReader.readLine()) != null) {

    return str;

    }

    return null;

    } catch (Exception e) {

    e.printStackTrace();

    return null;

    } finally {

    if (bufferedReader != null) {

    bufferedReader.close();

    }

    if (inputStreamReader != null) {

    inputStreamReader.close();

    }

    if (fileInputStream != null) {

    fileInputStream.close();

    }

    }

    }

    //设置序列,如果传入的序列号为空,则在原序列的基础上+1

    public static void setSequence(String sequenceFile, String sequence) throws IOException {

    if (sequence == null || sequence.isEmpty()) {

    String oriSequence = getSequence(sequenceFile);

    Objects.requireNonNull(oriSequence);

    sequence = String.format("%04d", Integer.valueOf(oriSequence) + 1);

    }

    FileOutputStream fileOutputStream = null;

    OutputStreamWriter outputStreamWriter = null;

    BufferedWriter bufferedWriter = null;

    try {

    File file = new File(sequenceFile);

    fileOutputStream = new FileOutputStream(file);

    outputStreamWriter = new OutputStreamWriter(fileOutputStream);

    bufferedWriter = new BufferedWriter(outputStreamWriter);

    bufferedWriter.write(sequence);

    } catch (Exception e) {

    e.printStackTrace();

    } finally {

    if (bufferedWriter != null) {

    bufferedWriter.close();

    }

    if (outputStreamWriter != null) {

    outputStreamWriter.close();

    }

    if (fileOutputStream != null) {

    fileOutputStream.close();

    }

    }

    }

    }

    代码又挤在一起了:

    bca0d6ca801e4afba67735b4c54032c8.png

    读序列:

    39112aebb781f6bb1b25b15684271a64.png

    写序列:

    02ae8339dfdc0012316aa3e82e812d6b.png

    运行结果:

    8711baa025e543e4e36fe20eb244c531.png

    先生成好这个文件:

    522e728d6d59ff891fb535cd8c6ccab6.png

    冲!:

    bf5b572700f2abd177f67e0a4ce24490.png

    5340266577dd539d746741fdf3ae95ef.png

    展开全文
  • java:版本号比较(compare version string)

    千次阅读 2022-03-31 10:35:31
    百度上用java 比较版本号关键字搜索了一下都找到的文章都要自己写代码做字符串分割,分段比较。。。好麻烦。 bing/google上搜索英文关键字java compare version,第二个就是这篇在stackoverflow上的文章 ...

    java中如何实现两个版本号(如5.7 vs 5.7.36)怎么比较大小?

    百度上用java 比较版本号关键字搜索了一下都找到的文章都要自己写代码做字符串分割,分段比较。。。好麻烦。
    bing/google上搜索英文关键字java compare version,第二个就是这篇在stackoverflow上的文章
    https://stackoverflow.com/questions/198431/how-do-you-compare-two-version-strings-in-java
    给出了最简单的现成的方案:使用org.apache.maven:maven-artifact:3.2.5库中的
    org.apache.maven.artifact.versioning.DefaultArtifactVersion,比较版本号就变得很简单:

    import org.apache.maven.artifact.versioning.DefaultArtifactVersion;
    
    DefaultArtifactVersion minVersion = new DefaultArtifactVersion("1.0.1");
    DefaultArtifactVersion maxVersion = new DefaultArtifactVersion("1.10");
    
    DefaultArtifactVersion version = new DefaultArtifactVersion("1.11");
    
    if (version.compareTo(minVersion) < 0 || version.compareTo(maxVersion) > 0) {
        System.out.println("Sorry, your version is unsupported");
    }
    

    下面是我基于org.apache.maven.artifact.versioning.DefaultArtifactVersion实现的用于JDBC检查数据库类型和版本号的方法:

    import static com.google.common.base.Preconditions.checkState;
    import org.apache.maven.artifact.versioning.DefaultArtifactVersion;
    /**
     * JDBC工具类
     * @author guyadong
     *
     */
    public class JDBCUtility {
    	/**
    	 * 检查数据库类型及版本是否满足要求,不满足则抛出异常
    	 * @param metaData
    	 * @param requiredProductName 要求的数据库名,such as 'MySQL'
    	 * @param requiredMinVersion     要求的数据最低版本号,such as '5.7.36'
    	 * @param requiredMaxVersion    要求的数据最高版本号,为{@code null}或空忽略
    	 * @throws SQLException  从DatabaseMetaData读取数据异常
    	 */
    	public static void checkDatatbaseVersion(DatabaseMetaData metaData,String requiredProductName,String requiredMinVersion,String requiredMaxVersion) throws SQLException{
    		String productName = checkNotNull(metaData,"metaData is null").getDatabaseProductName();
    		DefaultArtifactVersion minVersion = new DefaultArtifactVersion(checkNotNull(requiredMinVersion,"requiredMinVersion is null"));
    		DefaultArtifactVersion version = new DefaultArtifactVersion(metaData.getDatabaseProductVersion());
    		checkState(productName.equals(requiredProductName),"%s required",requiredMinVersion);
    		checkState(version.compareTo(minVersion) >= 0,"Sorry, %s min version %s is required",requiredProductName,minVersion);
    		if(!Strings.isNullOrEmpty(requiredMaxVersion)){
    			DefaultArtifactVersion maxVersion = new DefaultArtifactVersion(requiredMaxVersion);
    			checkState(version.compareTo(maxVersion) <= 0,"Sorry, %s max version %s is required",requiredProductName,maxVersion);
    		}
    	}
    }
    

    调用示例:

    import java.sql.Connection;
    // 创建数据库连接
    Connection con=........;
    JDBCUtility.checkDatatbaseVersion(con.getMetaData(),"MySQL","5.7",null);
    

    参考资料

    《How do you compare two version Strings in Java?》

    展开全文
  • java代码获取JDK的版本号和位数32位X86,64位X64   一、cmd 命令窗获取 1、查看 jdk 1.7 64位 x64 :java -version 2、查看 jdk 1.6 32位 x86 :java -version 二、java 代码获取 1、获取JDK的版本...

             java 用代码获取JDK的版本号和位数32位X86,64位X64

     

    一、cmd 命令窗获取

    1、查看 jdk 1.7 64位 x64 :java -version

    2、查看 jdk 1.6 32位 x86 :java -version

    二、java 代码获取

    1、获取JDK的版本号 (任选其一):

    • System.getProperty("java.version");

    • System.getProperty("java.specification.version");

     

    2、获取JDK的位数 (任选其一):

    • System.getProperty("java.vm.name");

    • System.getProperty("sun.arch.data.model");

    • System.getProperty("os.arch");

     

    3、测试:

    public static void main(String[] args) {
        // 获取JDK的版本号
    
            // 获取jdk的详细版本号, 例如:1.8.0_91 , 1.7.0_79,1.6.0
            System.out.println(System.getProperty("java.version"));
    
            // 获取 jdk的标准版本 ,例如: 1.8 , 1.7 , 1.6
            System.out.println(System.getProperty("java.specification.version"));
    
        // 获取JDK的位数
    
            // 包含 "64",即可64位 JDK , 否则 32位
            System.out.println(System.getProperty("java.vm.name"));
           
            // 64位JDK:amd64 ,32位JDK:x86
            System.out.println(System.getProperty("os.arch"));
    
            // 64位JDK:64 ,32位JDK:32
            System.out.println(System.getProperty("sun.arch.data.model"));
    }

     

    4、输出结果:

    1.6.0
    1.6
    Java HotSpot(TM) Client VM
    x86
    32

     

    5、结论:当前使用 JDK版本是1.6,32位JDK

     

    三、总结

    1、最简单的是用 cmd 命令窗直接查看,但是某些插件需要动态的根据 JDK的版本,位数进行加载时,就需要用到代码来进行获取和判断,再做进一步处理。

    2、例如: 加载 jacob 的 dll 文件 。

    3、可用 System.getProperties(); 方法获取全部的配置信息,进行查找 。

    4、 参考如下:

    private static void printInfo() {
        Properties properties = System.getProperties();
        Set<Entry<Object, Object>> entrySet = properties.entrySet();
        for(Entry<Object, Object> prop :entrySet){
            Object key = prop.getKey();
            Object value = prop.getValue();
            System.out.println(key + ":" + value);
        }
    }

     

     

    展开全文
  • Java实现比较APP版本号大小

    万次阅读 2018-09-17 16:58:28
    * 比较APP版本号的大小 * &lt;p&gt; * 1、前者大则返回一个正数 * 2、后者大返回一个负数 * 3、相等则返回0 * * @param version1 app版本号 * @param version2 app版本号 * @return int */ ...
  • linux shell 获取java版本号

    千次阅读 2019-08-05 11:50:37
    获取java版本号 $ java -version 2>&1 | sed '1!d' | sed -e 's/"//g' | awk '{print $3}' 1.8.0_222 获取java类型(openjdk)及版本号 $ java -version 2>&1 | sed '1!d' | sed -e 's/"//g' -e 's/...
  • Java局域网通信——飞鸽传书源代码 28个目标文件 内容索引:JAVA源码,媒体网络,飞鸽传书 Java局域网通信——飞鸽传书源代码,大家都知道VB版、VC版还有Delphi版的飞鸽传书软件,但是Java版的确实不多,因此这个Java...
  • java读取apk文件信息(包括版本号,包名等),欢迎下载
  • public class StandardAction extends ActionSupport implements SessionAware, ApplicationAware, RequestAware { ``` 在import java.util.Map时可以指定个版本号,好比说这样: ``` import java.util.Map 2.5.18;...
  • maven:读取程序版本号的三种方案

    千次阅读 2021-03-09 17:08:57
    方案1在应用项目中,如果应用程序需要获取当前程序的版本号,可以读取”/META-INF/maven/${groupId}/${artifactId}/pom.properties“,获取maven生成的版本信息。当然前提用应用程序在运行时得知道自己的groupId和...
  • JAVA环境获取APK信息:包名,版本,版本号,大小,权限... 代码讲解地址:http://blog.csdn.net/chillax_li/article/details/41850863
  • java写的代码生成工具源码

    热门讨论 2012-08-23 14:37:22
    目前该版本可以支持mysql,oracle数据库,生成的代码包含bean文件Service文件还有jsp文件 template文件夹里面有四个模版文件(可以修改生成你想要的代码)。 具体配置步骤如下: 一、配置数据库基本信息,如...
  • java版本查看

    千次阅读 2020-03-24 10:14:28
    我们应该如何查看我们当前使用的java版本的呢??? 我们可以使用 -version 来查看当前Java的运行版本,命令如下所示: java -version 详细步骤 1 . win+R然后输如 cmd 打开我们的控制台。 2 . 在控制台输入java -...
  • java检查版本_如何检查Java版本

    万次阅读 2020-07-12 09:34:52
    java检查版本Sometimes we need to check the Java version while executing a java program. We could be developing our project in local machine but deploying at a remote server, so we need to verify java ...
  • 在序列化对象时,为保证在被反序列化时仍然具有唯一性,就需要给每个参与序列化的类发一个唯一的“身份证号码”——序列化版本号,那么这个类在后期怎么修改,它的终身代码版本号都是这个序列化版本。如果不加,...
  • 如果使用的自动提交偏移量的模式,偏移量会给到kafka或者zk进行管理,其中kafka的偏移量重置给...该版本kafka不像其他版本一样,通过执行一句方便的命令就可以重置到指定的偏移量,本文给出了一种通过Java代码来重置偏
  • Java实现Android客户端版本号比较

    千次阅读 2015-03-04 15:30:13
    Java代码实现前言早上看了一下CSDN博客排名,本周最高排名的文章是:Java实现比较版本号。个人认为这篇文章写的不错,因为Android客户端系统中经常用到版本号比较功能,特别是在应用自升级的情况下。 原博主之所以...
  • Java根据SVN版本号生成H5游戏资源版本

    千次阅读 热门讨论 2017-09-30 10:45:34
    以及另外一篇关于版本号的文章:Java自动生成H5游戏资源版文件的版本号 这里大部分原理机制是一样,生成的文件基本一样,只是这里是采用同svn的版本号作为资源的版本号,代替了之前版本的日期时间。主要原因是采用...
  • gradle 修改java中的版本号

    千次阅读 2017-06-09 16:04:06
    在做SDK的时候,经常需要手动去修改版本号。比如public class Version{ //先注释掉之前的版本号 // public static final String VERSION = "1.0"; //再写上新的版本号 public static final String VERSION = "1.1...
  • 查看linux的java版本信息

    千次阅读 2021-05-20 01:48:46
    查看linux的java版本信息[2021-02-10 01:02:40]简介:linux系统查看jdk版本的方法是:可以通过【java -version】命令来查看。具体方法是:1、打开终端;2、输入【java -version】命令,回车即可。此时,终端中就会...
  • 本文主要是用java实现了读取所有的资源文件,并且根据文件的日期生成相应的版本号,保存在一个文件里面,最终生成全部文件的版本号(具备默认的日期),压缩成zip在H5游戏中使用。本文例子下载Java实现思路过程这种...
  • Java读取Apk的版本号,包名,权限信息,支持的最小系统版本等系统等。无论是做后台开发,或者是android开发。有时候需要获取apk文件的版本号,包名,权限,以及支持最小系统版本等信息。比如在做apk更新的时候,如果...
  • 全网最全的JAVA所有版本特性【JAVA 1.0 - JAVA 18】

    万次阅读 多人点赞 2018-08-30 14:48:13
    闲来想了解下各版本之间的特性,搜索没有最新的特性说明,故想写一份。废话不多说。 JDK Version 1.0 1996-01-23Oak(橡树) 初代版本,伟大的一个里程碑,...JDBC(Java DataBase Connectivity); 支持内部类; RM...
  • Java Web安全之代码审计

    千次阅读 2019-02-13 09:14:00
    通俗的说Java代码审计就是通过审计Java代码来发现Java应用程序自身中存在的安全问题,由于Java本身是编译型语言,所以即便只有class文件的情况下我们依然可以对Java代码进行审计。对于未编译的Java源代码文件我们...
  • java 获取浏览器名称及版本号

    万次阅读 2017-04-06 14:58:03
    java从后台获取浏览器名称及版本号代码如下: import eu.bitwalker.useragentutils.Browser; import eu.bitwalker.useragentutils.UserAgent; import eu.bitwalker.useragentutils.Version; import javax.servlet....
  • 阿里巴巴Java开发手册--各个版本汇总

    万次阅读 多人点赞 2022-01-01 11:26:36
    阿里巴巴Java开发手册--各个版本汇总,可查看,可下载。
  • JAVA代码注释规范

    千次阅读 2018-05-29 21:36:56
    JAVA代码注释规范一、 规范存在的意义1. 好的注释规范可以让人一眼看明白这是干什么的,特别是对于我们这种行业;共同合作完成一个项目需要分工明确,所以也需要有明了的注释规范。2. 正确的应用注释规范可以增加...
  • 现如今大量的Java开发者深度依赖着这款开发软件,正如网上的段子所言:“可以毫不夸张地说,多少Java程序员离开了IDEA就不会写代码了(狗头)”,由此可见其使用的广泛程度。 新版本一出来,我也迫不及待地想尝试...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 369,463
精华内容 147,785
关键字:

如何知道java代码的版本号

java 订阅