OpenJDK

linux安装jdk(非openjdk)

我怕爱的太早我们不能终老 提交于 2019-11-29 17:10:16
1.官网下载压缩包,这里我下载的是解压版不是rpm版本,现在可能需要你登陆才可以下载,自己去注册个账户吧,或者用其他方式得到压缩包 oracle下载jdk8的网址 2.解压压缩包 tar -zxvf 你压缩包的名字.tar.gz 3.安装vim,这是个文本编辑器,你可以把它理解为记事本这种东西,至少我的ubuntu18.04是不自带vim的你可以使用 sudo apt install vim这条命令安装,也可以在命令行输入vim按照他的提示安装 3.修改配置文件,原理跟window一样,只要将路径添加到配置文件中,操作系统就可以检测到我们想要安装的东西 vim /etc/profile(这里需要注意了,要用root权限进行,前面加sudo) 4.打开配置文件后,我们在尾部追加如下内容,vim的操作方式请自行搜索 export JAVA_HOME=你的jdk目录,注意是根目录,不是bin目录 export CLASSPATH=$JAVA_HOME/lib/ export PATH=$JAVA_HOME/bin:$PATH 5.使操作系统重新加载配置文件,注意需要root权限 source /etc/profile 6.输入java -version出现java版本信息即我们配置成功了 来源: https://blog.csdn.net/qq_39835588/article

Is it safe to distribute tools.jar along with a Java application bundle?

你离开我真会死。 提交于 2019-11-29 15:48:53
Although tools.jar is not a component in JRE, but it comes with all major implementations of JDK such as Oracle JDK and OpenJDK. Not being standard component of JRE means that when I distribute a Java application which uses tools.jar , I have to distribute it along with the application bundle OR include it in classpath. My questions are: Does tools.jar contain platform-dependent components that prevent it from being distributed across different platforms (Windows/Linux/OSX)? We already know that Oracle JDK does not allow distribution of tools.jar , but what about OpenJDK, can we distribute

安装 openjdk

☆樱花仙子☆ 提交于 2019-11-29 15:46:58
#安装 openjdk: http://jdk.java.net/ 下载地址 wget https://download.java.net/java/GA/jdk12.0.2/e482c34c86bd4bf8b56c0b35558996b9/10/GPL/openjdk-12.0.2_linux-x64_bin.tar.gz tar -zxvf openjdk-12.0.2_linux-x64_bin.tar.gz -C /usr/ #添加环境变量:/etc/profile #openjdk env export JAVA_HOME=/usr/jdk-12.0.2 export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar export PATH=$PATH:$JAVA_HOME/bin source /etc/profile #使环境变量生效 验证 openjdk: java -version javac java 来源: https://blog.csdn.net/yaoshixian/article/details/100847480

在Linux上编译OpenJDK7源码 | Compile OpenJDK7 source code on CentOS 6.5

喜你入骨 提交于 2019-11-29 15:38:16
# 软件环境丨Software Environment OS:CentOS 6.5 JDK: OpenJDK-7u40 # 准备工作丨Preparation 下载源码包 | Download source code package OpenJDK Source Releases 解压源码包 | Decompress the package # unzip openjdk-7u40-fcs-src-b43-26_aug_2013.zip hotspot 虚拟机实现,大部分是C/C++代码 jdk Java核心类库目录,位于 jdk/src/share/classes langtools 一些编译工具 安装依赖 | Install dependence # yum -y install gcc gcc-c++ alsa-lib alsa-lib-devel libXrender libXrender-devel libXi-devel libXt-devel libXtst-devel cups cups-devel 安装freetype | install freetype # ./configure && make && make install 安装ant | install ant # ln -s /usr/local/apache-ant-1.9.4/bin/ant /usr

Enabled ciphers on Ubuntu OpenJDK 7

浪尽此生 提交于 2019-11-29 14:25:56
问题 I wrote the following Java program to dump the enabled ciphers in the JVM: import java.security.KeyStore; import javax.net.ssl.KeyManagerFactory; import javax.net.ssl.SSLContext; import javax.net.ssl.SSLSocket; import javax.net.ssl.TrustManagerFactory; public class ListCiphers { public static void main(String[] args) throws Exception { SSLContext ctx = SSLContext.getInstance("TLSv1"); // Create an empty TrustManagerFactory to avoid loading default CA KeyStore ks = KeyStore.getInstance("JKS");

Is the OpenJDK JVM the same as the Oracle Java SE JVM?

烈酒焚心 提交于 2019-11-29 11:20:33
问题 I understand that the Oracle Java SE contains closed source extensions and tools that are not part of the OpenJDK however is the Oracle Java SE JVM identical to the OpenJDK JVM or does Oracle make changes to the OpenJDK JVM before releasing it as a Java SE JVM? Update 1: I found some info from the JDK7 updates projects: http://openjdk.java.net/projects/jdk7u/qanda.html Will the 7 Update Project receive security fixes from Oracle? Yes. As with OpenJDK 6, security fixes are first kept

在docker上编译openjdk8

余生长醉 提交于 2019-11-29 08:18:34
以前曾经试过在VMware上安装linux,再在linux上编译openjdk8,但是每次都不顺利,例如linux环境,预装依赖软件,openjdk源码的选择等环境都会遇到问题,一旦失败再重新开始挺费时间的,现在用docker就省事多了,镜像和容器的创建和删除都比较简单干净,专心做好Dockerfile就行,下面我们一起来实践一下吧。 本次实战用到的所有文件,已经打包到github上,路径是:https://github.com/zq2599/centos7_build_openjdk8 ,欢迎您来使用(git clone git@github.com:zq2599/centos7_build_openjdk8.git) 本次编译实战的基本步骤如下: 编写的Dockerfile中要做的如下的事情: 安装依赖的软件; 把openjdk的源码复制到镜像中; 在编写Dockerfile之前要做三个重要的选择,如下: linux:我选择了centos7,之前试过ubuntu16.04,但是在configure的时候提示"freetype"没有安装,我按照提示去装了,再次configure的时候继续提示"freetype"没有安装......(此问题现在还没解决,如果您解决过相同问题,请您告诉一下解决方法,谢谢了!) openjdk源码,这次要编译的是openjdk8,源码的下载地址在 这里

Slow Java2D bilinear interpolation in Java 7 on Mac OS X

拟墨画扇 提交于 2019-11-29 08:12:58
I've been testing my app in Java 7 on Mac OS X. It's running noticeable sluggish. I used VisualVM to try and track down where the bottleneck was and found linear interpolation to be the culprit: g2d.setRenderingHint(RenderingHints.KEY_INTERPOLATION, RenderingHints.VALUE_INTERPOLATION_BILINEAR); To some degree this makes sense of course. Using interpolation will slow things down. But I do not see this kind of dramatic difference between using and not using interpolation in Java 6 on OS X. In Java 6, the difference was almost negligible. (The images below represent the VisualVM profile of

Java垃圾收集的相关知识点索引

怎甘沉沦 提交于 2019-11-29 07:43:04
前言 最近研究Java的垃圾收集.但看网上的文章.很多说的是java6的事情.若是下工夫不深,很容易被坑.因此,想自己写一篇垃圾收集的教程. 但是惭愧惭愧.最近时间并不多.因此只有时间,写一个知识点索引,希望读到的人,根据这个知识点,查找相关的内容.不要被网上乱七八糟的网文误导.等我有时间,也会填充这些内容.把这个索引,变成真正的文章. 基本概念 垃圾收集的概念以及必要性. 查找垃圾的策略:引用计数,可达性分析 清理垃圾的策略:复制,标记-清除,标记-整理 垃圾回收器 Java的内存分代以及管理策略: 新生代(伊甸园,生存者0,生存者1),老年代 可以关注他们的size分配比例(默认值,以及通过什么参数配置),以及何时进入下一代. Java7之前: 新生代回收器 :Serial、ParNew、Parallel Scavenge 老年代回收器 :Serial Old、Parallel Old、CMS 重点关注各种垃圾收集器的使用场景,优缺点. 各种垃圾回收器的搭配情况: Java7之后: Java7 整堆回收器 :G1 G1收集器,不再将整块内存分为新生代和老年代.而是分为不同的Region,每个Region都有可能是伊甸园,生存者区,老年代. Java11: ZGC Java12: Shenandoah 其它 查看当前JVM用的是什么垃圾回收器: java -XX:

ArrayList、LinkedList和Vector的源码解析,带你走近List的世界

不羁的心 提交于 2019-11-29 06:26:23
java.util.List 接口是Java Collections Framework的一个重要组成部分,List接口的架构图如下: 本文将通过剖析List接口的三个实现类—— ArrayList 、 LinkedList 和 Vector 的源码,带你走近List的世界。 ArrayList ArrayList是List接口 可调整数组大小 的实现。实现所有可选列表操作,并允许放入包括空值在内的所有元素。每个ArrayList都有一个容量(capacity,区别于size),表示 底层数组 的实际大小,容器内存储元素的个数不能多于当前容量。 底层实现 java.util.ArrayList 类的继承关系如下: public class ArrayList<E> extends AbstractList<E> implements List<E>, RandomAccess, Cloneable, java.io.Serializable 其中需要注意的是 RandomAccess 接口,这是一个标记接口,没有定义任何具体的内容,该接口的意义是随机存取数据。在该接口的注释中有这样一段话: /** for (int i=0, n=list.size(); i < n; i++) { list.get(i); } runs faster than this loop: for