OpenJDK

JMH java基准测试

一曲冷凌霜 提交于 2020-11-06 06:30:42
Measure, don’t guess! JMH适用场景   JMH只适合细粒度的方法测试 原理   编译时会生成一些测试代码,一般都会继承你的类 maven依赖 < dependencies > < dependency > < groupId > org.openjdk.jmh </ groupId > < artifactId > jmh-core </ artifactId > < version > ${jmh.version} </ version > </ dependency > < dependency > < groupId > org.openjdk.jmh </ groupId > < artifactId > jmh-generator-annprocess </ artifactId > < version > ${jmh.version} </ version > < scope > provided </ scope > </ dependency > </ dependencies > < properties > < project.build.sourceEncoding > UTF-8 </ project.build.sourceEncoding > < jmh.version > 1.0 </ jmh.version > < javac

jmh 微基准测试

三世轮回 提交于 2020-11-06 05:03:04
选择依据:对某段代码的性能测试。 1.运行方法 mvn clean install java -jar target/benchmarks.jar JMHSample_02 -f 1 2.maven 配置 < dependency > < groupId > org.openjdk.jmh </ groupId > < artifactId > jmh-core </ artifactId > < version > ${jmh.version} </ version > </ dependency > < dependency > < groupId > org.openjdk.jmh </ groupId > < artifactId > jmh-generator-annprocess </ artifactId > < version > ${jmh.version} </ version > < scope > provided </ scope > </ dependency > < dependency > < groupId > org.slf4j </ groupId > < artifactId > slf4j-api </ artifactId > < version > 1.7.7 </ version > </ dependency > <!--

Java 在Ubuntu 安装

你离开我真会死。 提交于 2020-11-01 08:43:50
安装Java 8 ( 支持 Ubuntu 10.04 - Ubuntu 16.04 ) 1、如果你在 Ubuntu 软件中心安装过 OpenJDK,请先使用如下命令将其删除: sudo apt-get purge openjdk* 2、添加 PPA 源 sudo add-apt-repository ppa:webupd8team/java 3、更新下源数据库 sudo apt-get update 4、安装 Oracle Java 8 sudo apt-get install oracle-java8-installer 5、查看版本: java -version 6、设置 Java 8 环境变量: sudo apt-get install oracle-java8-set-default 7、java版本切换 sudo update-java-alternatives -s java-8-oracle 8、卸载jdk sudo apt-get remove oracle-java8-installer 参考:https://my.oschina.net/jimilee/blog/914075 更新:2019.4开始oracle java 需要licence,改用openjdk apt-get install software-properties-common add-apt

手动编译 open jdk8

故事扮演 提交于 2020-10-31 06:23:44
源码下载 地址: http://jdk.java.net/ 以jdk8为例,下载位置: https://download.java.net/openjdk/jdk8u41/ri/openjdk-8u41-src-b04-14_jan_2020.zip 该压缩包,大小约100来M 打包与编译 解压第一步骤得到的zip包。解压后,如下图: 待后续 来源: oschina 链接: https://my.oschina.net/u/3136014/blog/4496397

Java基础知识

北慕城南 提交于 2020-10-29 20:41:21
1. 面向对象和面向过程的区别 面向过程 面向对象 2. Java 语言有哪些特点 3. 关于 JVM JDK 和 JRE 最详细通俗的解答 JVM JDK 和 JRE 4. Oracle JDK 和 OpenJDK 的对比 5. Java和C++的区别 6. 什么是 Java 程序的主类 应用程序和小程序的主类有何不同 7. Java 应用程序与小程序之间有那些差别 8. 字符型常量和字符串常量的区别 9. 构造器 Constructor 是否可被 override 10. 重载和重写的区别 11. Java 面向对象编程三大特性: 封装 继承 多态 封装 继承 多态 12. String StringBuffer 和 StringBuilder 的区别是什么 String 为什么是不可变的 13. 自动装箱与拆箱 14. 在一个静态方法内调用一个非静态成员为什么是非法的 15. 在 Java 中定义一个不做事且没有参数的构造方法的作用 16. import java和javax有什么区别 17. 接口和抽象类的区别是什么 18. 成员变量与局部变量的区别有那些 19. 创建一个对象用什么运算符?对象实体与对象引用有何不同? 20. 什么是方法的返回值?返回值在类的方法里的作用是什么? 21. 一个类的构造方法的作用是什么 若一个类没有声明构造方法,该程序能正确执行吗 ?为什么?

Hacker News 简讯 2020-08-03

。_饼干妹妹 提交于 2020-10-24 20:15:35
最后更新时间: 2020-08-03 23:01 Launch HN: Stacker (YC S20) – Create Apps from Airtable or Google Sheets 启动HN:Stacker(YC S20)–从Airtable或Google Sheets创建应用程序 得分:108 | 评论:29 Google to buy 6.6% stake in ADT in home security push - (reuters.com) 谷歌将收购ADT公司6.6%的股份,以推动家庭安全 得分:101 | 评论:122 OpenJDK Comes to Windows 10 on ARM - (infoq.com) OpenJDK在ARM上使用Windows10 得分:102 | 评论:23 The rise, fall, and rise of the status pineapple - (bbc.com) 菠萝地位的上升、下降和上升 得分:89 | 评论:53 Thomas Sowell, the Nonconformist - (city-journal.org) 托马斯·索厄尔,不墨守成规者 得分:330 | 评论:131 Why aren’t we talking more about airborne transmission? -

Linux虚拟机环境初始化设置

北战南征 提交于 2020-10-24 06:53:08
在我们实际的工作中一台物理机会分割成多台虚拟机,无论是测试环境还是生产环境都是部署在虚拟机上。应用服务则是在虚拟机上运行的,即使使用容器技术也是在虚拟机上面部署容器。 以下介绍如何快速初始化Linux虚拟机设置。 版本:CentOS7.5 + 安装过程略,建议选择最小安装。 基础组件安装 修复主机名,笔者这里改成 centos-linux hostnamectl set-hostname centos-linux 查看Linux系统时区 date -R +0800表示东八区,如果时区不正确则使用以下命令指定时区。 ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime 如果安装虚拟机时选择的是英文,则系统区域语言默认为 LANG=en_US.UTF-8 。 # 查看区域语言设置 locale 修改区域语言 LANG="zh_CN.UTF-8" # 修改区域语言设置 vi /etc/locale.conf 然后重启系统使用 reboot 或者 shutdown -r now 命令均可。 重启后再次查看区域语言为 zh_CN 。 备份yum源然后更换为阿里云的源,提升下载速度。 # 备份源 mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo

为什么大部分程序员还在用Java 8?

喜欢而已 提交于 2020-10-23 05:38:11
不说 Android,Java 本身都很碎片化。尽管 Java 升级换代,但于开发者来说,还是紧紧地抱着 Java 8 不放,这是为什么呢?一起来看下吧。 以下为译文: 近日的调查结果显示,绝大多数开发人员的主要应用程序中使用的还是 Java 8。 数据来源: https://snyk.io/blog/jvm-ecosystem-report-2018/ 在Java 8之前,用户接受更高版本的Java的过程非常缓慢,特别是在企业中,因为在生产环境中接受新版本Java非常困难。 而引入了Lambda表达式和流的Java 8对许多开发人员来说都非常有吸引力。同时,微服务、持续发布实践和更好的自动化测试也让接受新版本语言变得更容易,风险比以前更小。 那么,鉴于这些因素,为什么从Java 9开始每年两次发布新版本的情况下,开发人员还在坚持使用Java 8呢?目前Java最新的版本是Java 12,然而很少有人使用9~12的版本。推荐: Java 12 正式发布,8大新特性! 估计你能猜到这其中的原因:“很复杂”。Java 8之后的版本发生了很多变化,这可能会导致各个公司在Java升级上举棋不定。 6 个月一次的发布节奏 从2017年9月发布Java 9开始,Oracle每六个月就会发布一个新版本的JDK,具体来说是每年的三月和九月。现在持续发布大行其道