09 2019 档案

摘要:java.util.Optional是Java 8新增的类,作为一个持有实例的容器类,可以帮我们把判空的代码写得更优雅,并且该类还提供了一些实用的api,官方文档 "在这里" ,接下来我们通过实战来学习吧: 三种Optional构造方法 第一种. Optional.of(Object object) 阅读全文
posted @ 2019-09-30 09:23 程序员欣宸 阅读(3669) 评论(0) 推荐(0) 编辑
摘要:IntelliJ IDEA是广受Java开发者喜爱的工具,其商业版的价格十分昂贵,如下图: 现在有机会免费获取IntelliJ IDEA的正版License,您是否心动呢?我把自己成功申请License的步骤记录下来,咱们一起行动吧。 申请资格要求 本次申请必须的唯一要求,就是您要有自己的开源项目, 阅读全文
posted @ 2019-09-29 18:43 程序员欣宸 阅读(2339) 评论(0) 推荐(1) 编辑
摘要:问题简述 通过Jib插件将SpringBoot工程制作成Docker镜像成功,但是运行镜像的时候报错(Could not find or load main class ${start class}),今天来一起分析这个问题,希望能帮读者跳过小坑。 关于Jib插件 在Maven工程中可以使用Jib插 阅读全文
posted @ 2019-09-29 18:29 程序员欣宸 阅读(4338) 评论(0) 推荐(1) 编辑
摘要:通过上一章 "《Docker下实战zabbix三部曲之二:监控其他机器》" 的实战,我们了解了对机器的监控是通过在机器上安装zabbix agent来完成的,zabbix agent连接上zabbix server之后,将自己所在机器的信息定时给到zabbix server,这样就实现了机器的监控; 阅读全文
posted @ 2019-09-27 12:58 程序员欣宸 阅读(372) 评论(0) 推荐(0) 编辑
摘要:在上一章 "《Docker下实战zabbix三部曲之一:极速体验》" 中,我们快速安装了zabbix server,并登录管理页面查看了zabbix server所在机器的监控信息,但是在实际场景中,应该是对应用服务器做监控,所以今天我们来实战将应用服务器的监控加入到zabbix server中。 阅读全文
posted @ 2019-09-27 12:52 程序员欣宸 阅读(677) 评论(0) 推荐(1) 编辑
摘要:对于想学习和实践zabbix的读者来说,在真实环境搭建一套zabbix系统是件费时费力的事情,本文内容就是用docker来缩减搭建时间,目标是让读者们尽快投入zabbix系统的体验和实践; 环境信息 以下是本次操作的环境: 1. 操作系统:MacBook Pro 2. Docker:19.03.2 阅读全文
posted @ 2019-09-25 22:08 程序员欣宸 阅读(956) 评论(1) 推荐(0) 编辑
摘要:Java1.8环境下,我们在编写程序时会进行各种方法调用,虚拟机在执行这些调用的时候会用到不同的字节码指令,共有如下五种: 1. invokespecial:调用私有实例方法; 2. invokestatic:调用静态方法; 3. invokevirtual:调用实例方法; 4. invokeint 阅读全文
posted @ 2019-09-25 08:59 程序员欣宸 阅读(1290) 评论(0) 推荐(1) 编辑
摘要:除了基本的docker pull、docker image、docker ps,还有一些命令及参数也很重要,在此记录下来避免遗忘。 环境信息 以下是本次操作的环境: 1. 操作系统:CentOS Linux release 7.7.1908 2. Docker:19.03.2 假设当前环境正运行着两 阅读全文
posted @ 2019-09-22 23:50 程序员欣宸 阅读(363) 评论(0) 推荐(0) 编辑
摘要:本文是《Jenkins流水线(pipeline)实战》系列的第三篇,前面已对Jenkins流水线有了基本认识,也试过从GitHub下载pipeline脚本并执行,今天的实战是编写一段pipeline脚本,该脚本的作用是从GitHub下载一个Java项目(Maven构建的),然后编辑构建此项目,并将构 阅读全文
posted @ 2019-09-22 19:21 程序员欣宸 阅读(1715) 评论(0) 推荐(3) 编辑
摘要:关于Harbor Harbor是用于存储和分发Docker镜像的镜像仓库服务,相比Docker Registry,Harbor在安全、标识、管理等方面做了增强,更适合企业使用; 1. 官方网站:https://goharbor.io/ 2. 官方开源:https://github.com/gohar 阅读全文
posted @ 2019-09-22 09:13 程序员欣宸 阅读(1316) 评论(1) 推荐(1) 编辑
摘要:准备工作 树莓派4B已装好64位Linux,并且装好了19.03.1版本的Docker,具体的安装步骤请参考 "《树莓派4B安装64位Linux(不用显示器键盘鼠标)》" 安装docker compose的步骤 1. apt更新: 2. 安装python和pip: 3. 安装libffi dev: 阅读全文
posted @ 2019-09-21 15:09 程序员欣宸 阅读(3399) 评论(1) 推荐(0) 编辑
摘要:关于限流 常用的限流算法有漏桶算法和令牌桶算法,guava的RateLimiter使用的是令牌桶算法,也就是以固定的频率向桶中放入令牌,例如一秒钟10枚令牌,实际业务在每次响应请求之前都从桶中获取令牌,只有取到令牌的请求才会被成功响应,获取的方式有两种:阻塞等待令牌或者取不到立即返回失败,下图来自网 阅读全文
posted @ 2019-09-20 19:20 程序员欣宸 阅读(708) 评论(0) 推荐(0) 编辑
摘要:关于spring自定义属性(schema) 在开发Dubbo应用的时候,我们会在xml中做以下类似的配置: spring启动后,Dubbo的本地运行时环境就会获取到这些信息,根据这些信息完成注册服务,今天我们实战的内容就是开发一个类似的自定义属性,然后在spring项目中使用这个属性; 全文概览 整 阅读全文
posted @ 2019-09-19 19:25 程序员欣宸 阅读(1497) 评论(0) 推荐(0) 编辑
摘要:上周在定位问题时,发现Spring容器实例化Bean的时候抛出异常,为了查看更详细的信息,决定修改spring context 4.0.2.RELEASE.jar中的CommonAnnotationBeanPostProcessor类的代码,在里面打印出更详细的信息,以便我们分析和定位问题,下面我们 阅读全文
posted @ 2019-09-19 09:23 程序员欣宸 阅读(1749) 评论(0) 推荐(0) 编辑
摘要:web项目部署到tomcat上之后,有时需要打断点单步调试,如果用的是Intellij idea,可以通过如下方法实现: 开启debug端口,启动tomcat 以tomcat7.0.75为例,打开bin目录下的catalina.bat文件,如下图,可以看到默认的debug端口是8000,如果本地的8 阅读全文
posted @ 2019-09-19 09:18 程序员欣宸 阅读(1053) 评论(0) 推荐(0) 编辑
摘要:使用IntelliJ IDEA做为开发工具,对基于maven的java工程,如果要编写lambda表达式,先确保安装并使用了jdk1.8或者更高版本,然后再要做一些设置才能正常编译和执行,具体表现在maven支持和intellij idea工具支持两个方面,配置如下: maven支持 在pom.xm 阅读全文
posted @ 2019-09-19 09:05 程序员欣宸 阅读(17847) 评论(0) 推荐(1) 编辑
摘要:在前两章 "《Docker下dubbo开发,三部曲之一:极速体验》" 和 "《Docker下dubbo开发,三部曲之二:本地环境搭建》" 中,我们体验了dubbo环境搭建以及服务的发布和消费,对dubbo有了初步认识,本章我们来实战dubbo服务的发布和消费代码的编写,实战后的我们能将自己的服务发布 阅读全文
posted @ 2019-09-18 09:18 程序员欣宸 阅读(581) 评论(0) 推荐(0) 编辑
摘要:在上一章 "《 Docker下kafka学习,三部曲之一:极速体验kafka》" 中我们快速体验了kafka的消息分发和订阅功能,但是对环境搭建的印象仅仅是执行了几个命令和脚本,本章我们通过实战来学习如何编写这些脚本,搭建本地kafka环境; 本次实践会制作docker镜像,所用的材料请在此获取:h 阅读全文
posted @ 2019-09-18 09:14 程序员欣宸 阅读(540) 评论(0) 推荐(0) 编辑
摘要:Kafka是一种高吞吐量的分布式发布订阅消息系统,从本章开始我们先极速体验,再实战docker下搭建kafka环境,最后开发一个java web应用来体验kafka服务。 我们一起用最快的速度体验kafka的消息发布订阅功能: 新建一个docker compose.yml文件,内容如下: 打开终端, 阅读全文
posted @ 2019-09-18 09:10 程序员欣宸 阅读(388) 评论(1) 推荐(0) 编辑
摘要:jedis是redis的java版本的客户端实现,本文通过一些web请求&响应的实例展示了jedis的基本用法; 开始编码前我们先把环境准备好,总共两个server,对应两个docker容器: 1. redis,采用redis的3.2.8版本,本次实战用的是redis单机; 2. tomcat,采用 阅读全文
posted @ 2019-09-17 09:08 程序员欣宸 阅读(351) 评论(0) 推荐(0) 编辑
摘要:本文是《Jenkins流水线(pipeline)实战》系列的第二篇,上一篇搭建好了Jenkins环境并执行了一个简单的pipeline任务,当时我们直接在Jenkins网页上编写pipeline脚本,这种方式虽然简单,但是也有不足之处: 1. pipeline脚本内容复杂时,在网页上编辑和查找都不方 阅读全文
posted @ 2019-09-16 10:20 程序员欣宸 阅读(2286) 评论(0) 推荐(0) 编辑
摘要:关于Jenkins流水线(pipeline) Jenkins 流水线 (pipeline) 是一套插件,让Jenkins可以实现持续交付管道的落地和实施。 关于blueocean Blue Ocean是pipeline的可视化UI,本文中的demo暂时用不上blueocean,后续的文章中会用到; 阅读全文
posted @ 2019-09-16 10:11 程序员欣宸 阅读(4985) 评论(0) 推荐(0) 编辑
摘要:关于Docker Swarm Docker Swarm由两部分组成: 1. Docker集群:将一个或多个Docker节点组织起来,用户就能以集群的方式进行管理; 2. 应用编排:有一套API用来部署和管理容器; 官方资料:https://docs.docker.com/swarm/ 网络图 下图是 阅读全文
posted @ 2019-09-13 11:15 程序员欣宸 阅读(2013) 评论(0) 推荐(2) 编辑
摘要:Docker下的disconf实战全文链接 1. "《Docker搭建disconf环境,三部曲之一:极速搭建disconf》" ; 2. "《Docker搭建disconf环境,三部曲之二:本地快速构建disconf镜像》" ; 3. "《Docker搭建disconf环境,三部曲之三:细说搭建过 阅读全文
posted @ 2019-09-12 09:53 程序员欣宸 阅读(503) 评论(0) 推荐(0) 编辑
摘要:Docker下的disconf实战全文链接 1. "《Docker搭建disconf环境,三部曲之一:极速搭建disconf》" ; 2. "《Docker搭建disconf环境,三部曲之二:本地快速构建disconf镜像》" ; 3. "《Docker搭建disconf环境,三部曲之三:细说搭建过 阅读全文
posted @ 2019-09-12 09:50 程序员欣宸 阅读(288) 评论(0) 推荐(1) 编辑
摘要:Docker下的disconf实战全文链接 1. "《Docker搭建disconf环境,三部曲之一:极速搭建disconf》" ; 2. "《Docker搭建disconf环境,三部曲之二:本地快速构建disconf镜像》" ; 3. "《Docker搭建disconf环境,三部曲之三:细说搭建过 阅读全文
posted @ 2019-09-12 09:44 程序员欣宸 阅读(589) 评论(0) 推荐(0) 编辑
摘要:Docker下的disconf实战全文链接 1. "《Docker搭建disconf环境,三部曲之一:极速搭建disconf》" ; 2. "《Docker搭建disconf环境,三部曲之二:本地快速构建disconf镜像》" ; 3. "《Docker搭建disconf环境,三部曲之三:细说搭建过 阅读全文
posted @ 2019-09-12 09:40 程序员欣宸 阅读(328) 评论(0) 推荐(0) 编辑
摘要:Docker下的disconf实战全文链接 1. "《Docker搭建disconf环境,三部曲之一:极速搭建disconf》" ; 2. "《Docker搭建disconf环境,三部曲之二:本地快速构建disconf镜像》" ; 3. "《Docker搭建disconf环境,三部曲之三:细说搭建过 阅读全文
posted @ 2019-09-12 09:37 程序员欣宸 阅读(438) 评论(0) 推荐(0) 编辑
摘要:在用docker创建mysql容器的时,有时候我们期望容器启动后数据库和表已经自动建好,初始化数据也已自动录入,也就是说容器启动后我们就能直接连上容器中的数据库,使用其中的数据了。 其实mysql的官方镜像是支持这个能力的,在容器启动的时候自动执行指定的sql脚本或者shell脚本,我们一起来看看 阅读全文
posted @ 2019-09-10 09:21 程序员欣宸 阅读(3982) 评论(0) 推荐(1) 编辑
摘要:关于环境: 本文中的实战都是在docker容器中进行的,容器的出处请参照 "《在docker上编译openjdk8》" 一文,里面详细的说明了如何构造镜像和启动容器。 在上一篇文章 "《修改,编译,GDB调试openjdk8源码(docker环境下)》" 中,我们分析了虚拟机启动的代码,在阅读JLI 阅读全文
posted @ 2019-09-10 09:18 程序员欣宸 阅读(325) 评论(0) 推荐(0) 编辑
摘要:在上一章《在docker上编译openjdk8》里,我们在docker容器内成功编译了openjdk8的源码,有没有读者朋友产生过这个念头:“能不能修改openjdk源码,构建一个与众不同的jdk“,今天我们就来阅读一些openjdk的源码,再尝试做些小改动并验证。 我们先编译openjdk: 首先 阅读全文
posted @ 2019-09-10 09:12 程序员欣宸 阅读(1041) 评论(0) 推荐(0) 编辑
摘要:以前曾经试过在VMware上安装linux,再在linux上编译openjdk8,但是每次都不顺利,例如linux环境,预装依赖软件,openjdk源码的选择等环境都会遇到问题,一旦失败再重新开始挺费时间的,现在用docker就省事多了,镜像和容器的创建和删除都比较简单干净,专心做好Dockerfi 阅读全文
posted @ 2019-09-09 17:49 程序员欣宸 阅读(4148) 评论(0) 推荐(0) 编辑
摘要:"《Docker远程连接设置》" 一文讲述了开启Docker远程连接的方法,但那种方法不安全,因为任何客户端都可以通过Docker服务的IP地址连接上去,今天我们就来学习Docker官方推荐的安全的远程连接方式:TLS加密连接,通过证书来保证安全性。 官方文档 这里是官方的权威文档:https:// 阅读全文
posted @ 2019-09-07 20:25 程序员欣宸 阅读(992) 评论(0) 推荐(0) 编辑
摘要:入手了树莓派4B,我对它的定位是作为一个Docker实验环境,平时用到的镜像多为Java服务端常用的技术、以及自己作的Java应用镜像,因此宿主机需要64位操作系统,而树莓派官方操作系统只有32位的,只能去网上找第三方的了。 前提条件 本次安装需要您提前准备以下内容: 1. 树莓派4B; 2. 可用 阅读全文
posted @ 2019-09-07 14:28 程序员欣宸 阅读(15481) 评论(0) 推荐(1) 编辑
摘要:本文是《spring cloud kubernetes实战系列》的第六篇,主要内容是在kubernetes上部署一个java web应用,该应用使用了spring cloud kubernetes框架,可以使用kubernetes的configmap; 系列文章列表 1. "《spring clou 阅读全文
posted @ 2019-09-06 09:09 程序员欣宸 阅读(5537) 评论(2) 推荐(0) 编辑
摘要:本文是《spring cloud kubernetes实战系列》的第五篇,主要内容是在kubernetes上部署一个SpringCloud Gateway应用,该应用使用了spring cloud kubernetes框架,可以将请求转发到kubernetes环境中的其他服务上; 系列文章列表 1. 阅读全文
posted @ 2019-09-05 09:27 程序员欣宸 阅读(3150) 评论(0) 推荐(0) 编辑
摘要:Spring Cloud Gateway是Spring Cloud技术栈中的网关服务,本文实战构建一个SpringCloud环境,并开发一个SpringCloud Gateway应用,快速体验网关服务; 环境信息 1. 操作系统:win10(64位) 2. JDK:1.8.0_181 3. Mave 阅读全文
posted @ 2019-09-05 09:24 程序员欣宸 阅读(1337) 评论(0) 推荐(2) 编辑
摘要:本文是《spring cloud kubernetes实战系列》的第四篇,主要内容是在kubernetes上部署两个应用:Web Service和Account Service,通过spring cloud kubernetes提供的注册发现能力,实现Web Service调用Account Ser 阅读全文
posted @ 2019-09-04 09:35 程序员欣宸 阅读(2282) 评论(1) 推荐(2) 编辑
摘要:在 "《你好spring cloud kubernetes》" 一文中,对spring cloud kubernetes这个SpringCloud官方kubernetes服务框架有了基本了解,今天来小结此框架涉及的关键技术,为后面的深入学习做准备; 系列文章列表 本文是《spring cloud k 阅读全文
posted @ 2019-09-03 14:07 程序员欣宸 阅读(1605) 评论(2) 推荐(0) 编辑
摘要:关于spring cloud kubernetes spring cloud kubernetes是springcloud官方推出的开源项目,用于将Spring Cloud和Spring Boot应用运行在kubernetes环境,并且提供了通用的接口来调用kubernetes服务,GitHub上官 阅读全文
posted @ 2019-09-03 09:21 程序员欣宸 阅读(706) 评论(0) 推荐(0) 编辑
摘要:关于spring cloud kubernetes spring cloud kubernetes是springcloud官方推出的开源项目,用于将Spring Cloud和Spring Boot应用运行在kubernetes环境,并且提供了通用的接口来调用kubernetes服务,GitHub上官 阅读全文
posted @ 2019-09-02 11:52 程序员欣宸 阅读(1477) 评论(0) 推荐(1) 编辑

点击右上角即可分享
微信分享提示