OpenJDK

Gradle build runs forever on a clean install and an empty project

泄露秘密 提交于 2019-12-09 08:06:03
问题 Gradle builds run forever and I can't figure out why. I have installed Android Studio on Ubuntu 15.04. It is set up with all of the default options from the wizard. I have created an empty project and I have not added any code. When I attempt to build the project a gradle process starts up but never terminates. I have tried letting it run for an hour but there was no progress. I end up having to manually kill gradle in order to close Android Studio. (via "ps aux | grep gradle; kill -9 ") I am

Why does OpenJDK place private methods into vtable?

﹥>﹥吖頭↗ 提交于 2019-12-08 17:32:04
问题 It seems that openJDK 8 places private methods which are not final nor static into vtable. Why is it so when dynamic binding is not used for private methods (since they're invoked with invokespecial) or is it used? 回答1: This is done to handle some rare situations when an overridable method with the same name and signature exists in a superclass. Though there is definitely a place for improvement, may be, targeted for JDK 9. See https://bugs.openjdk.java.net/browse/JDK-8024368 Private methods

Eclipse: LD_LIBRARY_PATH, OpenJDK and libjpeg

ⅰ亾dé卋堺 提交于 2019-12-07 22:16:53
问题 On my development machine (Linux) I have not set LD_LIBRARY_PATH at all, as the libraries I'm using are either in default directories or I've added them to ld.conf . But when I'm using Eclipse, my LD_LIBRARY_PATH is set to: "/usr/lib/jvm/java-6-openjdk/jre/lib/i386/client: /usr/lib/jvm/java-6-openjdk/jre/lib/i386: /usr/lib/xulrunner-1.9.2.17: /usr/lib/xulrunner-1.9.2.17" (added line breaks for readability). I don't mind xulrunner ones, but the OpenJDK causes my apps to load /usr/lib/jvm/java

Java reflection to set static final field fails after previous reflection

戏子无情 提交于 2019-12-07 17:43:36
问题 In Java, it turns out that field accessors get cached, and using accessors has side-effects. For example: class A { private static final int FOO = 5; } Field f = A.class.getDeclaredField("FOO"); f.setAccessible(true); f.getInt(null); // succeeds Field mf = Field.class.getDeclaredField("modifiers" ); mf.setAccessible(true); f = A.class.getDeclaredField("FOO"); f.setAccessible(true); mf.setInt(f, f.getModifiers() & ~Modifier.FINAL); f.setInt(null, 6); // fails whereas class A { private static

LKT5103A Hid接口LINUX系统下JNI开发流程

时间秒杀一切 提交于 2019-12-07 14:33:26
一、什么是JNI Java以其跨平台的特性深受人们喜爱,而又正由于它的跨平台的目的,使得它和本地机器的各种内部联系变得很少,约束了它的功能。解决Java对本地操作的一种方法就是JNI。JNI是Java native interface的简写,意为Java本地调用,它允许Java代码和其他语言写的代码进行交互,从Java1.1开始,JNI标准成为Java平台的一部分。 使用Java与本地已编译的代码交互,通常会丧失平台可移植性。但是,有些情况下这样做是可以接受的,甚至是必须的。例如,与硬件、操作系统进行交互,或者为了提高程序的性能。 二、平台以及环境 (1)开发平台 Linux系统或者虚拟机。 注意:因为涉及到LINUX下的HID接口,所以保证开发的系统内核在2.6版本以上。 (2)开发包 1):安装gcc和g++,保证两个版本一致。 安装指令: yum install gcc yum install gcc-c++ 查版本指令: g++ --version gcc --version 2):安装jdk环境。具体可以上网上找资料。 以debian系统为例,在终端运行的安装指令如下: sudo apt-get update sudo apt-get install default-jre sudo apt-get install default-jdk 三、开发步骤 1)

System.exit is not thread-safe on Linux?

两盒软妹~` 提交于 2019-12-07 03:56:31
问题 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

Why Was java.util.Arraylist#clear implemented the way it was in OpenJDK?

旧时模样 提交于 2019-12-07 01:40:33
问题 http://grepcode.com/file/repository.grepcode.com/java/root/jdk/openjdk/6-b14/java/util/ArrayList.java#473 public void clear() { modCount++; // Let gc do its work for (int i = 0; i < size; i++) elementData[i] = null; size = 0; } My question is, why did they have to do an cycle through the backing array { O(n) } to make each element eligible for garbage collection when they could just have reinitialized the backing array, discarding references to the entire array as a whole { O(1) } and making

学习笔记:微服务-20 docker中运行spring boot

假如想象 提交于 2019-12-07 01:28:54
docker 中部署spring cloud项目是比较流行的搭配,以下是配置过程记录 1. 先把spring boot项目打包 我这以我前面建立的microservice-eureka-server-8101项目为例 cd /home/linbin/workspace/microservice-eureka-server-8101 mvn install 注意打包的项目pom.xml有如下的内容才能自动生成打包清单 <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> </plugins> </build> 打包完成后会在目录下多了个target目录,里面有了打包后jar文件 microservice-eureka-server-8101-0.0.1-SNAPSHOT.jar 2. 在该目录下新建Dockerfile文件 [root@centos7 microservice-eureka-server-8101]# cat Dockerfile FROM openjdk:8-jdk-alpine VOLUME /tmp ADD microservice-eureka

Encoding of file names in Java

a 夏天 提交于 2019-12-06 22:32:39
问题 I am running a small Java application on an embedded Linux platform. After replacing the Java VM JamVM with OpenJDK, file names with special characters are not stored correctly. Special characters like umlauts are replaced by question marks. Here is my test code: import java.io.File; import java.io.IOException; public class FilenameEncoding { public static void main (String[] args) { String name = "umlaute-äöü"; System.out.println("\nname = " + name); System.out.print("name in Bytes: "); for

CentOS 7 配置Java环境变量

女生的网名这么多〃 提交于 2019-12-06 18:09:46
在windows上面,很多配置 Java 环境变量的时候,可能都没有注意到是要配置到系统环境变量还是配置到用户环境变量里面。但是在CentOS下,配置环境变量的时候,尤其要注意是配置系统环境变量还是用户环境变量,因为配置到系统环境变量的话,稍微不注意,可能就把系统搞崩了。要是刚接触CentOS系统,建议还是先学习配置用户环境变量。因为真正部署项目的时候,也不会用root用户来部署项目的。在CentOS 下配置Java环境变量比windows下简单多了。 一、在普通用户下配置Java环境变量 打开命令终端,需要切换到root用户,根据以下步骤执行操作,当然我的安装目录和存放软件包的目录可能和你的不一样,修改为自己相应的目录即可。 cp jdk-8u74-linux-x64.tar.gz /home/chenzl/server/ #复制java安装包到安装目录下 cd /home/chenzl/server/ #切换到安装目录下 tar -zxvf jdk-8u74-linux-x64.tar.gz #解压安装包 vi /home/chenzl/.bashrc #配置环境变量 在文件末尾添加如下代码 export JAVA_HOME=/home/chenzl/server/jdk1.8.0_74 #安装目录如果不同,则改为自己的安装目录 export PATH=$JAVA_HOME