OpenJDK

您收到一封 2019 阿里云峰会 (北京) 邀请函

巧了我就是萌 提交于 2019-12-05 12:54:56
2019 年是阿里云成立的第 10 年,在过去的 10 年间,阿里云引领了国内云基础设施市场;在当下,我们希望可以和您一起分享阿里云的新战略和新思考。 2019 年将是云原生在中国爆发和落地的一年,在这样的背景下,阿里将如何探索实时计算新架构?数据库的研发流程将如何演进?我们在代码智能化上又有怎样的思考和实践?云原生又将如何赋能AI、基因等各行业? 【开发者专场三大亮点】 亮点一 阿里巴巴集团副总裁/达摩院首席数据科学家/数据库产品事业部负责人 李飞飞 联合 阿里云云智能战略与合作部总经理 刘湘雯 共同畅谈开发者与可见的云未来。 亮点二 阿里云智能基础产品事业部研究员 周经森 发布 OpenJDK 长期支持版本 Alibaba Dragonwell 亮点三 重磅发布:CNCF X Alibaba 云原生技术课程 免费报名 https://www.yunqi.org/goPage?page=bj_signup_mb&activeId=2&ticketTypeId=39&channelId=23 【开发者专场议题】 原文链接 本文为云栖社区原创内容,未经允许不得转载。 来源: oschina 链接: https://my.oschina.net/u/3889140/blog/3019259

多线程编程(3)——synchronized原理以及使用

笑着哭i 提交于 2019-12-05 07:34:32
一、对象头 通常在java中一个对象主要包含三部分: 对象头 主要包含GC的状态、、类型、类的模板信息(地址)、synchronization状态等,在后面介绍。 实例数据:程序代码中定义的各种类型的字段内容。 对其数据:对象的大小必须是 8 字节的整数倍,此项根据情况而定,若对象头和实例数据大小正好是8的倍数,则不需要对其数据,否则大小就是8的差数。 先看下面的实例、程序的输出以及解释。 /*需提前引入jar包 <!-- https://mvnrepository.com/artifact/org.openjdk.jol/jol-core 解析java对象布局 --> <dependency> <groupId>org.openjdk.jol</groupId> <artifactId>jol-core</artifactId> <version>0.9</version> </dependency> ​ */ //Java对象以8个字节对其,不够则使用对其数据 public class Student { private int id; // 4字节 private boolean sex; // 1字节 public Student(int id, boolean sex){ this.id = id; this.sex = sex; } } public class

System.exit is not thread-safe on Linux?

怎甘沉沦 提交于 2019-12-05 05:57:49
I've just switched from Oracle JDK 1.6, to Open JDK 1.7.0_03, and I've hit a rather remarkable deadlock on exit: java.lang.Thread.State: WAITING (on object monitor) at java.lang.Object.wait(Native Method) at java.lang.Thread.join(Thread.java:1258) - locked <0x8608dda0> (a sun.awt.X11.XToolkit$1$1) at java.lang.Thread.join(Thread.java:1332) at java.lang.ApplicationShutdownHooks.runHooks(ApplicationShutdownHooks.java:106) at java.lang.ApplicationShutdownHooks$1.run(ApplicationShutdownHooks.java:46) at java.lang.Shutdown.runHooks(Shutdown.java:123) at java.lang.Shutdown.sequence(Shutdown.java:167

深入分析String.intern和String常量的实现原理

瘦欲@ 提交于 2019-12-05 05:46:59
背景 字符串类型在实际应用场景中使用非常频繁,如果为每个字符串常量都生成一个对应的String对象,明显会造成内存的浪费,针对这一问题,虚拟机实现一个字符串常量池的概念,提供了如下实现: 1、同一个字符串常量,在常量池只有一份副本; 2、通过双引号声明的字符串,直接保存在常量池中; 3、如果是String对象,可以通过String.intern方法,把字符串常量保存到常量池中; 本文JVM源码版本 openjdk-7-fcs-src-b147-27 疑惑 在不同环境执行上述代码,会得到不同的结果,为什么? 1、JDK1.6的结果: false false 2、JDK1.7的结果: true false 解惑 其中 String.intern 在java中是native方法,JDK1.7的注释如下: 1、执行intern方法时,如果常量池中存在和String对象相同的字符串,则返回常量池中对应字符串的引用; 2、如果常量池中不存在对应的字符串,则添加该字符串到常量中,并返回字符串引用; HotSpot1.6实现 常量池的内存在永久代进行分配,永久代和Java堆的内存是物理隔离的,执行intern方法时,如果常量池不存在该字符串,虚拟机会在常量池中复制该字符串,并返回引用,使用intern方法时需要谨慎,避免常量池中字符串过多,导致性能变慢,甚至发生PermGen内存溢出。 显然 s

Ubuntu openjdk: Exception in thread "main" java.lang.NoClassDefFoundError

China☆狼群 提交于 2019-12-05 04:18:00
I wrote a small java program to test the postgreSql JDBC driver on X86_64 Ubuntu 12.04 LTS. Always it small program built successfully but always failed to run reporting "Exception in thread "main" java.lang.NoClassDefFoundError". Google results directed me that I had problem with the classpath but I tried every solutions, and no luck. Run the test without specifying JDBC jar file, it reports "java.lang.ClassNotFoundException: org.postgresql.Driver" which indicates me that the run time can't find locate the JDBC driver classes. So I added the jar file in the classpath in the command line, this

Exception in thread "main" java.lang.UnsupportedClassVersionError:Unsupported major.minor version 52

女生的网名这么多〃 提交于 2019-12-05 04:16:54
os:Ubuntu 最近在学习java的过程中,在eclipse中可以成功运行的程序,打包到linux环境中,jar包运行会报错。 遂上网查询资料。先开始说的可能因为安装的JDK和java的版本不一样,会导致此问题。但是通过java -version和javac -version查询后,发现均为1.8.0版本,遂排除此可能。 然后,又看到又解释说是因为eclipse等IDE默认的jdk版本与linux系统的jdk版本不一致导致,只需将eclipse项目的编译环境设置成当前jdk就行了。具体如下: 1. 右键项目—>Properties—> java Compiler–>Compiler Compliance level 2. 选择自己安装的当前的JDK环境即可 发现仍为1.8.0版本,又排除此问题。 后来,我通过下三条命令,弄清楚了问题所在 我打开配置文件bashrc,发现设置的JAVA_HOME路径的版本和我现在实际使用的并不一样,我现在使用的是openjdk-8-amd64,而配置文件中写的是openjdk-7-amd64.将这个修改过来后,问题得到解决。 来源: CSDN 作者: megasiren 链接: https://blog.csdn.net/cpa_821/article/details/82152282

CentOS 6.5 安装JDK(包含卸载原有默认JDK)

六月ゝ 毕业季﹏ 提交于 2019-12-05 04:13:36
卸载原有1.7 JDK 查看是否安装了JDK java -version 若有内容就进一步查看JDK信息 rpm -qa|grep java # 执行上述命令会显示下面内容 # tzdata-java-2013g-1.el6.noarch # java-1.6.0-openjdk-1.6.0.0-1.66.1.13.0.el6.x86_64 # java-1.7.0-openjdk-1.7.0.45-2.4.3.3.el6.x86_64 卸载 rpm -e --nodeps tzdata-java-2013g-1.el6.noarch rpm -e --nodeps java-1.6.0-openjdk-1.6.0.0-1.66.1.13.0.el6.x86_64 rpm -e --nodeps java-1.7.0-openjdk-1.7.0.45-2.4.3.3.el6.x86_64 安装jdk ===================================== 安装wget yum install wget 新建目录 mkdir -p /home/bkwa 进入目录 cd /home/bkwa 下载JDK wget --no-check-certificate --no-cookies --header "Cookie: oraclelicense=accept

Can Android Studio use OpenJDK or does it require Oracle JDK on Linux?

眉间皱痕 提交于 2019-12-05 02:49:04
Can Android Studio use OpenJDK 1.8 or does it require Oracle JDK on Linux? It would be easier to use OpenJDK because it comes installed on Fedora. I'm running 64 bit Fedora-23 linux with Android Studio 1.5.1.build AI-141.2456560 on an Intel Haswell i7 chip. $ java -version openjdk version "1.8.0_72" OpenJDK Runtime Environment (build 1.8.0_72-b15) OpenJDK 64-Bit Server VM (build 25.72-b15, mixed mode) $ ./java -version java version "1.8.0_73" Java(TM) SE Runtime Environment (build 1.8.0_73-b02) Java HotSpot(TM) 64-Bit Server VM (build 25.73-b02, mixed mode) $ uname -a Linux localhost

Linux上使用yum安装openjdk

孤街醉人 提交于 2019-12-05 02:48:48
来源: https://www.cnblogs.com/yaun1498078591/p/10368884.html 使用yum查找jdk: yum search java|grep jdk # yum search java|grep jdk ldapjdk-javadoc.noarch : Javadoc for ldapjdk java-1.6.0-openjdk.x86_64 : OpenJDK Runtime Environment java-1.6.0-openjdk-demo.x86_64 : OpenJDK Demos java-1.6.0-openjdk-devel.x86_64 : OpenJDK Development Environment java-1.6.0-openjdk-javadoc.x86_64 : OpenJDK API Documentation java-1.6.0-openjdk-src.x86_64 : OpenJDK Source Bundle java-1.7.0-openjdk.x86_64 : OpenJDK Runtime Environment java-1.7.0-openjdk-accessibility.x86_64 : OpenJDK accessibility connector java-1.7.0

Java, Apache HttpClient, TLSv1.2 & OpenJDK 7

心已入冬 提交于 2019-12-05 02:14:25
问题 We have a small group of Tomcat servers running OpenJDK v1.7.0_111. We have plans to upgrade them and migrate them this summer but we've found that a client API we interact with is moving to require TLSv1.2 in the near term. My ultimate desire is to find a configuration change to allow for this. The application hosted there creates it's SSL context in a pretty straight forward way: SSLContext sslContext = SSLContexts.createDefault() SSLConnectionSocketFactory sslsf = new