OpenJDK

iTOP-3399开发板搭建Android编译坏境

纵然是瞬间 提交于 2020-02-27 20:36:26
基于迅为iTOP-3399 开发板 2.1 装 安装 d android 源码依赖包 登录进 Ubuntu 系统,输入“ctrl+alt+t”,打开超级终端,使用“su root” 命令 ,切换到 root 用户,如下图: 2.1.1 安装 JDK Android8.1 系统编译依赖于 JAVA 8。编译之前需安装 OpenJDK。安装命令 如下: sudo apt-get install openjdk-8-jdk 执行结果,如下图: 2.1.2 装 安装 d android 源码依赖包 使用如下命令安装所需的软件包: sudo apt-get update sudo apt-get install git-core gnupg flex bison gpe RF libsdl1.2-dev libwxgtk3.0-dev build-essen ti alzip curl zlib1g-dev gcc-multilib g++-multilib genromfs libc6-dev-i386 libncurses5-devx11proto-core-dev libx11-dev ccache libgl1-mesa-dev libxml2-utils xsltproc unzip lsb-corelib32z1-dev lib32ncurses5-dev texinfo

Java中,一个存在了十几年的bug...

醉酒当歌 提交于 2020-02-27 20:29:27
【推荐】2020年最新Java电子书集合.pdf(吐血整理) >>> 今天,分享一个JDK中令人惊讶的BUG,这个BUG的神奇之处在于,复现它的用例太简单了,人肉眼就能回答的问题,JDK中却存在了十几年。经过测试,我们发现从JDK8到14都存在这个问题。 大家可以在自己的开发平台上试试这段代码: public class Hello { public void test () { int i = 8 ; while ((i -= 3 ) > 0 ); System. out .println( "i = " + i); } public static void main ( String[] args ) { Hello hello = new Hello(); for ( int i = 0 ; i < 50 _000; i++) { hello.test(); } } } 再使用以下命令执行: java Hello 然后,就会看到这样的输出: 当然,在程序的开始阶段,还是能打印出正确的"i = -1"。 这个问题最终Huawei JDK的两名同事解决掉了,并且回合到社区。我这里大概讲一下分析的思路。 首先,使用解释执行可以发现,结果都是正确的,这就说明,这基本上是JIT编译器的问题,然后通过-XX:-TieredCompilation关闭C1编译,问题同样复现,但是使用-XX

CentOS7安装JDK1.8详细步骤

有些话、适合烂在心里 提交于 2020-02-27 15:06:55
之前一直在自己电脑上通过Vmware Workstation软件来安装CentOS7,最近斥巨资自己组装了一个小电脑,安装CentOS7系统,模拟真实的服务器环境。同时也实现了异地远程开机和访问,并且可以通过ssh连接,这样便相当于拥有了小型服务器(阿里云同等配置的服务器太贵啦,摸摸我干瘪的钱包,哭瞎在厕所…)。既然搞Java,那第一步当然是安装Java的环境。写下这边文章做记录,下次再部署,便可以快乐的CV了… 注意:有可能安装的Linux操作系统本身已经安装了OpenJDK,最好安装之前查看一下,如果系统自身带有OpenJDK可以卸载后重新安装 查看并卸载已安装的JDK 通过 rpm -qa|grep java 的命令查看已安装的JDK 图中可以看到系统自带的OpenJDK的版本等相关信息。下面我们进行卸载,使用 rpm -e --nodeps 命令进行卸载,如下图所示: 把OpenJDK相关的都进行卸载完成后,再通过 rpm -qa|grep java 命令进行查看,发现OpenJDK相关的已经卸载完成。 2.下载Oracle JDK8 百度Java8下载,可以看到第一个就是我们下载的地址,貌似新版的JDK下载都要登录账号了,嫌麻烦的也可以通过其他平台去下载。 JDK8下载Linux的版本,笔者下载的是 jdk-8u211-linux-x64.tar.gz 版本。 3

Java中的原生关键字是什么?

狂风中的少年 提交于 2020-02-27 08:59:04
在玩 这个谜题 (这是Java关键字琐事游戏)时,我遇到了 native 关键字。 Java中的native关键字用于什么? #1楼 实现本机代码的函数被声明为本机。 Java本机接口(JNI)是一个编程框架,使在Java虚拟机(JVM)中运行的Java代码能够调用本机应用程序(特定于硬件和操作系统平台的程序)和编写的库,并由它们进行调用。其他语言,例如C,C ++和汇编语言。 http://en.wikipedia.org/wiki/Java_Native_Interface #2楼 native是java中的关键字,它用于使未实现的结构(方法)像抽象的一样,但是它将依赖于平台(例如本机代码)并从本机堆栈而不是java堆栈执行。 #3楼 NATIVE是非访问修饰符。它只能应用于METHOD。 它指示方法或代码的PLATFORM-DEPENDENT实现。 #4楼 最小的可运行示例 Main.java public class Main { public native int square(int i); public static void main(String[] args) { System.loadLibrary("Main"); System.out.println(new Main().square(2)); } } Main.c #include <jni.h>

《工具人系列》centos 7.x 下安装 JDK,超详细总结一看就会

白昼怎懂夜的黑 提交于 2020-02-27 04:46:07
第一步 检查 JDK 查看JDK版本,在命令行输入:java -version [root@test ~]# java -version bash: java: command not found 如上,证明你的linux非常干净,请直接进入 第二步 或者出现下面这种结果 [root@test ~]# java -version openjdk version "1.8.0_102" OpenJDK Runtime Environment (build 1.8.0_102-b14) OpenJDK 64-Bit Server VM (build 25.102-b14, mixed mode) Linux一般自带OpenJDK,如果明确知晓OpenJDK就是你所需要的,那么恭喜。您可以直接关掉本文啦~如果您不确定,请百度 Oracle JDK 和 OpenJDK的区别 嫌麻烦的,请直接跟着大炮老哥安装Oracle JDK(又名Sun JDK,后Sun公司被Oracle收购),也就是我们通常意义上讲的最常用的JDK 移除OpenJDK,在命令行输入:rpm -qa|grep java [root@test ~]# rpm -qa|grep java tzdata-java-2016g-2.el7.noarch java-1.7.0-openjdk-headless-1.7.0.111

Raspberry Pi 树莓派 搭建java8环境

馋奶兔 提交于 2020-02-27 04:31:50
更新软件源 apt-get upgrade apt-get update 移除自带的openjdk(如果有的话) apt-get remove openjdk* 安装oracle jdk,地址: https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html 注意下载linux arm 32位版本,当前使用的系统还是32位的Raspberry Pi 4,可以本地下载之后上传,也可以直接在服务器wget下载。 mv jdk-8u111-linux-arm32-vfp-hflt.tar.gz /usr/local/ cd /usr/local/ tar -zxvf jdk-8u111-linux-arm32-vfp-hflt.tar.gz #配置环境变量 vi /etc/profile #在文件最后添加 export JAVA_HOME=/usr/local/jdk1.8.0_241 export CLASSPATH=.:%JAVA_HOME%/lib/dt.jar:%JAVA_HOME%/lib/tools.jar export PATH=$PATH:$JAVA_HOME/bin #使环境变量生效 source /etc/profile #退出编辑,查看java版本 java

mac下编译openjdk1.9及集成clion动态调试

倖福魔咒の 提交于 2020-02-27 03:47:50
晚上被小伙伴问道如何使用ide进行jvm源码的调试,刚好前段时间花了点时间折腾了一下,mac最新版本下jvm9顺利编译通过,并且可以完美集成clion进行调试(支持windows),下面记录一下全过程,如果想看效果的话,可以直接拉到 集成到clion进行调试 小节末尾 mac下openjdk源码编译过程 准备编译环境准备 我的mac的版本如下 image.png 由于openjdk1.9之前的版本对mac下编译支持得不是很流畅,所以这篇文章选择openjdk1.9 编译之前,首先你需要准备 homebrew,homwbrew是mac下的包管理器,如果你的mac上没有安装,可以按照下面的方式来安装 /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" homwbrew下载完成之后,接下来准备编译环境 首先安装openjdk的版本管理工具mercurial 然后安装ccache和freetype,ccache用来加速编译,freetype在编译过程也会依赖到 上述准备编译环境的脚本为 brew install mercurial brew install ccache brew install freetype

Spring Boot 2.x 实战--什么是 Spring Boot?

北慕城南 提交于 2020-02-27 03:30:34
Spring Boot 是 Pivotal 团队开发的、用于简化 Spring 应用的开发的开源框架。其通过自动配置和习惯优于配置的理念,使得 Spring Boot 应用程序几乎不需要繁琐的 Spring 配置,极大的提高开发效率。 源代码仓库: https://github.com/zhshuixian/learn-spring-boot-2 1、Spring Boot Spring Boot 是快速创建、开发、运行 Spring 应用的开发框架,目的是让开发者尽可能地减少 Spring 应用的配置,更加注重实际业务代码的编写。 Spring Boot 具有如下的特点 无需太多的手动配置,开箱即用,能够快速创建、运行项目 内嵌 Tomcat 等,可以打包成 jar ,部署运行方便 为许多第三方开发库提供了几乎可以零配置的开箱即用的能力,如 Mybatis 提供了指标、健康检查和外部化配置等特性 1.1 、Spring Boot 2.X 新特性 Spring Boot 2.X 依赖于 Spring Framework 5 框架,因此需要 JDK 8 及以上的版本,同时对 Kotlin 语言有了更好的支持。 基于 Spring Framework 5,Spring 5 的新特性均可以使用 支持 Java 8+、Kotlin、Groovy 支持 Web Flux 和嵌入式 Netty

HotSpot和OpenJDK入门

故事扮演 提交于 2020-02-27 01:56:34
在本文中,我们将会介绍如何开始使用HotSpot Java 虚拟机以及它在OpenJDK开源项目中的实现——我们将会从两个方面进行介绍,分别是虚拟机和虚拟机与Java类库的交互。 HotSpot源码介绍 首先让我们看看JDK源码和它所包含的相关Java概念的实现。检查源码的方式主要有两种: 现代IDE能够附加src.zip(在$JAVA_HOME目录),能够从IDE中访问 使用OpenJDK的源码并导航到文件系统 这两种方式都非常有用,但是重要的是哪种方式比较舒适一点。OpenJDK的源码存储在Mercurial(一个分布式的 版本控制 系统,与流行的 Git 版本控制系统相似)中。如果你不熟悉Mercurial,可以查看这本名为“ 版本控制示例 ”的免费书,该书介绍了相关的基础内容。 为了检出OpenJDK 7的源码,你需要安装Mercurial命令行工具,然后执行以下命令: hg clone http://hg.openjdk.java.net/jdk7/jdk7 jdk7_tl 该命令会在本地生成一个OpenJDK仓库的副本。该仓库含有项目的基础布局,但是并没有包含所有的文件——因为OpenJDK项目分别分布在几个子仓库中。 完成克隆之后,本地仓库应该有类似于下面的内容: ariel-2:jdk7_tl boxcat$ ls -l total 664 -rw-r--r-- 1

Linux下安装JDK

纵然是瞬间 提交于 2020-02-27 01:50:20
01-卸载OpenJDK CentOS版的Linux系统中,含有默认的jdk,若需要安装其他版本的jdk,可以先卸载默认的jdk。 执行命令查看 查看命令:rpm –qa | grep java 卸载OpenJDK 卸载命令:rpm -e --nodeps 要卸载的包名称 02-创建JDK安装路径 在/usr/local/ 创建文件夹java 创建命令 :mkdir java 03-下载上传工具 **上传工具:**FileZilla 或 其他 百度网盘 **工具下载:**链接: https://pan.baidu.com/s/1Bbu6BhvZrjHxEqaVqmat1Q **提取码:**zjpy 官网 https://filezilla-project.org/ 04-上传JDK到linux并解压 下载Linux版jdk 百度网盘:链接: https://pan.baidu.com/s/1q9OADKF2hiwKmhRBsN0JEw 提取码:ztse 官网: https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html 安装依赖 (需要联网) 安装命令:yum install glibc.i686 解压到指定目录 解压命令:tar –xvf jdk8-8u241-linux