OpenJDK

问题:OpenJDK 64-Bit Server VM warning: If the number of processors is expected to increase from one...

≯℡__Kan透↙ 提交于 2020-10-02 00:37:52
问题:OpenJDK 64-Bit Server VM warning: If the number of processors is expected to increase from one, then you should configure the number of parallel GC threads appropriately using -XX:ParallelGCThreads=N 报错原因:    某些软件包启动的时候默认启用 -XX:+AssumeMP导致 解决办法:    在jvm.optipons配置文件添加 -XX:-AssumeMP 操作如下(示例): vim / usr / local / logstash - 6 . 6 . 0 / config / jvm . options - XX: - AssumeMP 解决后的效果图: 如需下载logstash-6.6.0可在此路径下载: https://download.csdn.net/download/weixin_40268588/12740496 口号:看懂的点赞,不懂的抠眼珠子。 来源: oschina 链接: https://my.oschina.net/u/4383141/blog/4534198

Kafka强大监控工具Kafka Eagle

匆匆过客 提交于 2020-09-30 02:53:16
kafka投入生产使用后,需要借助一些管理(监控)工具。目前这类工具有很多种,具体如下表: 监控工具 特点 备注 Kafka Web Console 实现brokers、topic列表等监控,展示生产和消费流量图。 存在bug,会与生产者、消费者和zookeeper建立大量的连接,导致网络阻塞。 Kafka Manager 实现broker级常见的jmx监控,可以对consumer消费进度进行监控,可以web对多个集群进行管理。 编译安装耗时,不能设置访问控制,不能配置告警,非常耗内存。 Kafka Eagle 实现broker级常见的jmx监控,可以对consumer消费进度进行监控,可以web对多个集群进行管理。 安装简单(二进制包解压即用), 可以配置告警(钉钉、微信、email均可),需要数据库(mysql或sqlite)。 Kafka Offset Monitor 如果场景是偏重集群管理,则不要选择 该项目已经近2年未维护。 JmxTool 结合Influxdb和Grafana使用 比较繁琐 我们这里选择Kafka Eagle 基础环境准备: 时区调整,时间校准: # date -R # timedatectl set-timezone Asia/Shanghai # yum -y install ntp # ntpdate ntp1.aliyun.com 安装wget:

docker 镜像制作(自定义 jdk、centos 版本)

℡╲_俬逩灬. 提交于 2020-09-27 13:08:53
准备好 Docker 环境(基于Centos 7,Docker version 19.03.12) 拉取一个 centos 7 作为基础镜像: docker pull centos:7 启动镜像: docker run -ti centos:7 bash ,直接进入到了容器中 替换容器中的 centos 源,参考: 阿里镜像地址 ,能使下载更快 容器中安装常用 linux 命令,安装JDK(参考: OPENJDK官网 )并配置环境变量 打成新的镜像:docker commit -m ‘提交描述’ CONTAINER ID 新镜像名 (使用docker ps 查看刚运行的镜像对应的 CONTAINER ID) 登录阿里云镜像仓库: sudo docker login --username=xxxxx@qq.com registry.cn-shenzhen.aliyuncs.com docker tag ff62f1b94af3 registry.cn-shenzhen.aliyuncs.com/ oyc /centos7_openjdk8:1.0.0 阿里仓库上已经创建了oyc的命名空间,之前打tag的时候是写的 registry.cn-shenzhen.aliyuncs.com/ francis /,此命名空间属于别人的,所以push镜像时报 denied: requested

How to avoid `EC parameters error` using the openjdk:7 Docker image and a Gradle wrapper?

牧云@^-^@ 提交于 2020-08-26 04:48:16
问题 This Dockerfile: FROM openjdk:7 WORKDIR /restdocs/ RUN git clone https://github.com/spring-projects/spring-restdocs.git /restdocs RUN git checkout v1.1.2.RELEASE RUN ./gradlew build built with docker build . -t rest-notes results in the following error: Exception in thread "main" javax.net.ssl.SSLException: java.security.ProviderException: java.security.InvalidKeyException: EC parameters error . What can I do in the Dockerfile to avoid this and make the Gradle wrapper work? 回答1: I was able to

【JavaSE 并发CAS】原理层面:CAS(AtomicInteger类compareAndSet()方法到底干了什么?)

社会主义新天地 提交于 2020-08-18 14:33:00
文章目录 一、前言 二、CAS操作 2.1 CAS三步操作+CAS与阻塞同步的对比+三种锁 2.1.1 CAS三步操作 2.1.2 CAS与内建锁比较 2.1.3 三种锁 2.2 CAS的应用:AtomicInteger类中的compareAndSet()方法使用for+if(cas)保证线程安全 2.2.1 从AtomicInteger类incrementAndGet()方法的源码出发,开启底层探索 2.2.2 继续深入AtomicInteger类的compareAndSet方法 2.2.3 继续深入native compareAndSwapInt()方法 2.2.4 继续深入UNSAFE_ENTRY()方法 2.2.5 继续深入的Atomic::cmpxchg() 三、CAS的ABA问题 3.1 什么是ABA问题(理论解释,一图就好了) 3.2 代码重现ABA问题(代码,面试没用) 3.3 ABA问题:原因、突破口、解决方式、源码支持 3.3.1 ABA问题的产生原因(背诵) 3.3.2 ABA问题:从原因到突破口再到解决方式(背诵) 3.3.3 ABA问题两个类的源码:不仅比较数值,还有比较当前的数值是否被修改过 1、AtomicStampedReference类 2、AtomicMarkableReference类 3.4 代码解释ABA问题两个类处理 3.4.1

如何使用nginxWebUI图形化gui界面配置nginx

删除回忆录丶 提交于 2020-08-17 16:37:24
功能特点 nginxWebUI是一款图形化管理nginx配置得工具, 可以使用网页来快速配置nginx的各项功能, 包括http协议转发, tcp协议转发, 反向代理, 负载均衡, 静态html服务器, ssl证书自动申请、续签、配置等, 最终生成nginx.conf文件并覆盖nginx的默认配置文件, 控制nginx的启动与重载入, 完成nginx的功能配置. 被覆盖的conf文件都会被备份, 方便出现问题后随时进行替换. nginxWebUI也可管理多个nginx服务器集群, 随时一键切换到对应服务器上进行nginx配置, 也可以一键将某台服务器配置同步到其他服务器, 方便集群管理. nginx本身功能复杂, nginxWebUI并不能涵盖nginx所有功能, 但能覆盖nginx日常90%的功能使用配置, 更高级的功能配置仍然需要在最终生成的nginx.conf中进行手动编写。 部署此项目后, 配置nginx再也不用上网各种搜索, 再也不用手动申请和配置ssl证书, 只需要在本项目中进行增删改查就可方便的配置nginx。 开源页面: https://gitee.com/cym1102/nginxWebUI 注意事项 本系统通过Let's encrypt申请证书, 使用acme.sh脚本进行自动化申请和续签, 开启续签的证书将在每天凌晨2点进行续签,

从jvm源码看synchronized

情到浓时终转凉″ 提交于 2020-08-17 03:47:45
synchronized的使用 synchronized关键字是Java中解决并发问题的一种常用方法,也是最简单的一种方法,其作用有三个:(1)互斥性:确保线程互斥的访问同步代码(2)可见性:保证共享变量的修改能够及时可见(3)有序性:有效解决重排序问题,其用法也有三个: 修饰实例方法 修饰静态方法 修饰代码块 修饰实例方法 public class Thread1 implements Runnable{ //共享资源(临界资源) static int i=0; //如果没有synchronized关键字,输出小于20000 public synchronized void increase(){ i++; } public void run() { for(int j=0;j<10000;j++){ increase(); } } public static void main(String[] args) throws InterruptedException { Thread1 t=new Thread1(); Thread t1=new Thread(t); Thread t2=new Thread(t); t1.start(); t2.start(); t1.join();//主线程等待t1执行完毕 t2.join();//主线程等待t2执行完毕 System.out

CentOS7与CentOS8的区别

匆匆过客 提交于 2020-08-17 03:34:02
8版本的 Python 3 PHP 7.2 Ruby 2.5 Node.js 10 java::OpenJDK 11、OpenJDK 8、IcedTea-Web和各种Java工具,如Ant、Maven或Scala。 7支持以下编辑语言 Python 2 ( 2.7.X) PHP 5.4 Ruby 2.0.0 OpenJDK8用作默认的Java开发工具包(JDK),而Java 8用作默认的Java版本。 数据库方面区别: 8默认支持的数据库: MySQL 8.0 MariaDB 10.3 PostgreSQL 10 and PostgreSQL 9.6 Redis 5.0 MariaDB是Red Hat Enterprise Linux 7中MySQL的默认实现 来源: oschina 链接: https://my.oschina.net/u/4267707/blog/4400084

【JVM之内存与垃圾回收篇】JVM与Java体系结构

大兔子大兔子 提交于 2020-08-16 12:18:52
JVM与Java体系结构 前言 作为 Java 工程师的你曾被伤害过吗?你是否也遇到过这些问题? 运行着的线上系统突然卡死,系统无法访问,甚至直接 OOM(out of memory)! 想解决线上 JVM GC 问题,但却无从下手。 新项目上线,对各种 JVM 参数设置一脸茫然,直接默认吧然后就 GG 了 每次面试之前都要重新背一遍 JVM 的一些原理概念性的东西,然而面试官却经常问你在实际项目中如何调优 VM 参数,如何解决 GC、OOM 等问题,一脸懵逼。 大部分 Java 开发人员,除会在项目中使用到与 Java 平台相关的各种高精尖技术,对于 Java 技术的核心 Java 虚拟机了解甚少。 一些有一定工作经验的开发人员,打心眼儿里觉得 SSM、微服务等上层技术才是重点,基础技术并不重要,这其实是一种本末倒置的“病态”。如果我们把核心类库的 API 比做数学公式的话,那么 Java 虚拟机的知识就好比公式的推导过程。 计算机系统体系对我们来说越来越远,在不了解底层实现方式的前提下,通过高级语言很容易编写程序代码。但事实上计算机并不认识高级语言 架构师每天都在思考什么? 应该如何让我的系统更快? 如何避免系统出现瓶颈? 知乎上有条帖子:应该如何看招聘信息,直通年薪 50万+? 参与现有系统的性能优化,重构,保证平台性能和稳定性 根据业务场景和需求,决定技术方向,做技术选型

Docker 安装tomcat

点点圈 提交于 2020-08-16 10:29:15
这里来记录下tomcat的安装 拉取镜像 https://hub.docker.com/_/tomcat?tab=tags 这里有各种版本的 docker pull tomcat: 8.5 -jdk14-openjdk-oracle 本地安装: docker run --name tomcat-test -d -p 8080 : 8080 tomcat: 8.5 . 55 -jdk14-openjdk-buster 这里安装后,一般会访问不了, 因为进来发现其实webapps目录里面是空的,什么都没有 docker exec -it tomcat- test bash root@61a753d0ed78: /usr/local/ tomcat# cd webapps root@61a753d0ed78: /usr/local/tomcat/webapps# ls 这里把webapp.dist的文件拷贝过来 root@61a753d0ed78:/usr/local/tomcat# cp -r webapps.dist /* webapps root@61a753d0ed78:/usr/local/tomcat# cd webapps root@61a753d0ed78:/usr/local/tomcat/webapps# ls ROOT docs examples host