草庐IT

记录一下对jdk8后的接口的一些理解

对于jdk8后的接口,接口中加入了可以定义默认方法和静态方法。为什么要这样设计呢?是为了在给接口扩展方法的时候,不会影响已经实现了该接口的类加入默认方法可以解决:在添加方法的同时,不影响现有的实现类下面演示了一下默认方法和静态方法的使用:interfaceA{/***jdk8之后接口中可以加入默认、静态方法。*是为了在给接口扩展方法的时候,不会影响已经实现了该接口的类。*加入默认方法可以解决:在给接口添加方法的同时,不影响现有的实现类*//***jdk1.8前,接口中只能定义抽象方法和全局常量*接口中抽象方法只能是publicabstarct修饰,不能是protected修饰*接口中只能定义全

下载的Jenkins只支持jdk11,但是项目是用的jdk1.8,怎么配置多个jdk

我的Jenkins用的是2.375,支持java-11-openjdk,不支持java-1.8.0-openjdk。在按照官网安装jenkinsJenkins能够正常启动。现在项目要用jdk1.8,所以为了方便在jenkins中新添加jdk,我在服务器上使用yuminstalljava-1.8.0-openjdk*-y安装open-1.8.0-openjdk,重启Jenkins,结果报错:同时,使用命令journalctl-xe显示Jenkins启动使用了java-1.8.0-openjdk,导致jenkins启动失败。解决办法:使用压缩包的形式下载安装jdk1.8。1.官网下载:jdk-8u

下载的Jenkins只支持jdk11,但是项目是用的jdk1.8,怎么配置多个jdk

我的Jenkins用的是2.375,支持java-11-openjdk,不支持java-1.8.0-openjdk。在按照官网安装jenkinsJenkins能够正常启动。现在项目要用jdk1.8,所以为了方便在jenkins中新添加jdk,我在服务器上使用yuminstalljava-1.8.0-openjdk*-y安装open-1.8.0-openjdk,重启Jenkins,结果报错:同时,使用命令journalctl-xe显示Jenkins启动使用了java-1.8.0-openjdk,导致jenkins启动失败。解决办法:使用压缩包的形式下载安装jdk1.8。1.官网下载:jdk-8u

Centos 7 / Linux下安装jdk1.8并配置环境变量的教程

一.下载jdk1.8jdk1.8的安装包可以去Oracle(甲骨文)官网下载,请自行根据电脑选择32位或者64位。地址:https://www.oracle.com/java/technologies/javase/javase-jdk8-downloads.html注意:1.现在的Oracle官网下载需要登陆以后才可以下载,提前准备好Oracle官网账号2.复制上方连接到浏览器自行打开即可二.使用工具上传到Linux系统如果你是MobaXterm终端工具,我们只需要把压缩包直接拖到/usr/local/目录下进行解压缩即可,如果你不是MobaXterm终端工具请上网搜索怎么放到文件里。步入正

Centos 7 / Linux下安装jdk1.8并配置环境变量的教程

一.下载jdk1.8jdk1.8的安装包可以去Oracle(甲骨文)官网下载,请自行根据电脑选择32位或者64位。地址:https://www.oracle.com/java/technologies/javase/javase-jdk8-downloads.html注意:1.现在的Oracle官网下载需要登陆以后才可以下载,提前准备好Oracle官网账号2.复制上方连接到浏览器自行打开即可二.使用工具上传到Linux系统如果你是MobaXterm终端工具,我们只需要把压缩包直接拖到/usr/local/目录下进行解压缩即可,如果你不是MobaXterm终端工具请上网搜索怎么放到文件里。步入正

Java代理之jdk动态代理+应用场景实战

本文将先介绍jdk动态代理的基本用法,并对其原理和注意事项予以说明。之后将以两个最常见的应用场景为例,进行代码实操。这两个应用场景分别是拦截器和声明性接口,它们在许多开发框架中广泛使用。比如在spring和mybatis中均使用了拦截器模式,在mybatis中还利用动态代理来实现声明性接口的功能。因此,掌握动态代理的原理和代码书写方式,对阅读理解这些开源框架非常有益。文中的示例代码基于jdk8编写,且都经过验证,但在将代码迁移到博客的过程中,难免存在遗漏。如果您将代码复制到自己的IDE后无法运行,或存在语法错误,请在评论中留言指正?小示例先来看一个jdk代理的最小demo点击查看代码packa

Java代理之jdk动态代理+应用场景实战

本文将先介绍jdk动态代理的基本用法,并对其原理和注意事项予以说明。之后将以两个最常见的应用场景为例,进行代码实操。这两个应用场景分别是拦截器和声明性接口,它们在许多开发框架中广泛使用。比如在spring和mybatis中均使用了拦截器模式,在mybatis中还利用动态代理来实现声明性接口的功能。因此,掌握动态代理的原理和代码书写方式,对阅读理解这些开源框架非常有益。文中的示例代码基于jdk8编写,且都经过验证,但在将代码迁移到博客的过程中,难免存在遗漏。如果您将代码复制到自己的IDE后无法运行,或存在语法错误,请在评论中留言指正?小示例先来看一个jdk代理的最小demo点击查看代码packa

SpringCloud (五) - 云服务器Centos7.6,安装JDK,Maven,Mysql,Redis

1、购买云服务器购买地址:https://cloud.tencent.com/act/pro/2022double11_warmup后面的环境都是基于此环境Centos7.6;2、安装SecureCRT和SecureFX2.1SecureCRT教程SecureCRT8.0破解教程:https://www.jb51.net/softjc/571800.html2.2连接2.2.1公网ip+用户名2.2.2密码2.2.3连接成功2.3SecureFXSecureFX激活教程:https://blog.csdn.net/zwd926/article/details/84641001连接与CRT类似。

SpringCloud (五) - 云服务器Centos7.6,安装JDK,Maven,Mysql,Redis

1、购买云服务器购买地址:https://cloud.tencent.com/act/pro/2022double11_warmup后面的环境都是基于此环境Centos7.6;2、安装SecureCRT和SecureFX2.1SecureCRT教程SecureCRT8.0破解教程:https://www.jb51.net/softjc/571800.html2.2连接2.2.1公网ip+用户名2.2.2密码2.2.3连接成功2.3SecureFXSecureFX激活教程:https://blog.csdn.net/zwd926/article/details/84641001连接与CRT类似。

京东云开发者|深入JDK中的Optional

概述:Optional最早是Google公司Guava中的概念,代表的是可选值。Optional类从Java8版本开始加入豪华套餐,主要为了解决程序中的NPE问题,从而使得更少的显式判空,防止代码污染,另一方面,也使得领域模型中所隐藏的知识,得以显式体现在代码中。Optional类位于java.util包下,对链式编程风格有一定的支持。实际上,Optional更像是一个容器,其中存放的成员变量是一个T类型的value,可值可Null,使用的是Wrapper模式,对value操作进行了包装与设计。本文将从Optional所解决的问题开始,逐层解剖,由浅入深,文中会出现Optioanl方法之间的对