首页
专栏 icon
Java各版本特性 Kubernetes in Action笔记
链接 icon
国内常用镜像地址 在线学习资源
关于
  • Java 9新特性 - (5)Optional类中新增几个方法

    Jun 24, 2021 java java 9 optional

    相关文章: Java 8引入Optional类 Optional 类在 Java 8 中引入,Optional 类的引入很好的解决空指针异常。。在 java 9 中, 添加了三个方法来改进它的功能. stream() 方法 语法 1public Stream<T> stream() stream 方法的作用就是将 Optional 转为一个 Stream,如果该 Optional 中包含值,那么就返回包含这个值的 Stream,否则返回一个空的 Stream(Stream.empty())。 实例 1List<Optional<String>> list = Arrays.asList ( 2 …

    阅读更多
  • Java 8新特性 - (15)Optional类

    Jun 24, 2021 java java 8 optional

    相关文章: Java 9对Optional类的改进 Java 8中引入了Optional类来解决 NullPointerException 与繁琐的 null 检查。它是一个封装值的类,用于保存类型为T的值,从本质上说它就是一个容器。 变量存在时,Optional类只是对类简单封装。变量不存在时,缺失的值会被建模成一个“空” 的Optional对象,由方法Optional.empty()返回。那null和 Optional.empty()的区别在哪呢?从语义上,可以把它们当作一回事儿,但是实际中它们之间的差别非常大:如果尝试解引用一个null, 一定会触发NullPointerException,而使 …

    阅读更多
  • Java 9新特性 - (4)统一的JVM日志系统

    Jun 23, 2021 java java 9

    Java 9新增了新的命令行选项-Xlog, 用于所有日志记录设置和统一的JVM日志记录 Xlog的参数遵循以下规则: 已按照在命令行中显示的顺序应用了多个参数。 最后的配置规则:对于相同的输出,多个参数可以按给定的顺序相互覆盖。 1-Xlog[:option] 2 option := [<what>][:[<output>][:[<decorators>][:<output-options>]]] 3 'help' 4 'disable' 5 what := <selector>[,...] 6 selector := …

    阅读更多
  • Java 8新特性 - (14)Hotspot删除永久代

    Jun 22, 2021 java java 8 jvm hotspot

    JDK 6、JDK 7、JDK 8 内存模型演变 这些版本的JVM内存模型主要有以下差异: JDK 6:有永久代,静态变量存放在永久代上。 JDK 7:有永久代,但已经把字符串常量池、静态变量,存放在堆上。逐渐地减少永久代的使用。 JDK 8:无永久代,运行时常量池、类常量池,都保存在元数据区,也就是常说的元空间。但字符串常量池仍然存放在堆上。 内存模型各区域概要 程序计数器 较小的内存空间、线程私有,记录当前线程所执行的字节码行号。 如果执行 Java 方法,计数器记录虚拟机字节码当前指令的地址,本地方法则为空。 这一块区域没有任何 OutOfMemoryError 定义。 Java虚拟机栈 每一个方法在执行的同时,都会创建出一个 …

    阅读更多
  • Java 9新特性 - (3)@SafeVarargs注解支持私有方法

    Jun 21, 2021 java java 9

    Java 7 引入了@SafeVarargs注解来抑制当方法具有varargs(可变数量的参数)时出现的不安全操作警告,比如具有模糊类型(比如:泛型)的可变参数。@SafeVarargs注解只能用于无法覆盖的方法(final方法、static方法或构造函数),因为重写方法仍然可以对其 varargs(可变数量的参数)执行不安全操作。 Java 9 扩展了@SafeVarargs注解的使用,它现在也可以与私有方法一起使用。这是因为私有方法也是无法覆盖的。 Java 9 示例 - 当不使用@SafeVarargs注解时 1import java.util.ArrayList; 2import java.util.List; …

    阅读更多
  • Java 9新特性 - (2)匿名内部类与菱形运算符

    Jun 21, 2021 java java 9

    什么是菱形运算符 菱形操作符是作为 java SE 7 中的新功能引入的。菱形操作符的目的是通过将泛型类型保留在表达式的右侧来避免冗余代码。 1// Java 7之前的写法 2List<string> myList = new ArrayList<string>(); 3 4// Java 7及之后的写法 5List<string> myList = new ArrayList<>(); Java 7 允许我们在普通类中使用菱形运算符,但它不允许我们在匿名内部类中使用它们。 1abstract class MyClass<T>{ 2 abstract T add(T …

    阅读更多
  • Java 9新特性 - (1)接口中的私有方法

    Jun 18, 2021 java java 9

    在Java 7或更早版本中,一个接口中只能定义如下两种: 常量 抽象方法 在Java 8中接口引入了默认方法和静态方法。可以在接口中编写方法实现,仅仅需要使用default关键字来定义它们。 Java 9提供了新的功能,可以在接口中使用private关键字定义私有方法和私有静态方法,这些私有方法的作用是用于改善接口内部的代码可重用性。例如,如果需要两个默认方法来共享代码,则私有接口方法将允许它们共享代码,但不将该私有方法暴露给它的实现类调用。 截止至Java 9,一个接口中能定义如下几种: 常量 (Java 7及以前版本支持) 抽象方法 (Java 7及以前版本支持) 默认方法 (Java 8+) 静态方法 (Java 8+) 私有 …

    阅读更多
  • Java 8新特性 - (13)StampedLock

    Jun 8, 2021 java java 8 lock StampedLock

    synchronized 在java5之前,实现同步主要是使用synchronized。它是Java语言的关键字,当它用来修饰一个方法或者一个代码块的时候,能够保证在同一时刻最多只有一个线程执行该段代码。 有四种不同的同步块: 实例方法 静态方法 实例方法中的同步块 静态方法中的同步块 在多线程并发编程中Synchronized一直是元老级角色,很多人都会称呼它为重量级锁,但是随着Java SE1.6对Synchronized进行了各种优化之后,性能上也有所提升。 Lock 它是Java 5在java.util.concurrent.locks新增的一个API。 Lock是一个接口,核心方法 …

    阅读更多
  • Java 8新特性 - (12)无符号运算

    Jun 8, 2021 java java 8

    Java 8为整型包装类,增加类支持无符号运算的方法。注意:仅仅是在新增的运算方法中将long或者int当做无符号的数做运算,而本身java并不支持无符号的数据类型 Java 8为Integer,Long新增如下方法: 1// 该方法将指定int货long型整数转换为无符号整数对应的字符串 2static String toUnsignedString(int/long i) 3 4// 该方法将指定int或long型整数转换为指定进制的无符号整数对应的字符串 5static String toUnsignedString(int i/long,int radix) 6 7// 该方法将指定字符串解析成无符号整数。当调用类 …

    阅读更多
  • Java 8新特性 - (11)Base64编解码

    Jun 7, 2021 java java 8 base64

    早期处理BASE64编码, 需借助外部依赖:commons-codec,sun.misc.BASE64Decoder或JAXB的DatatypeConverter。Java 8实现了BASE64编解码API,它包含到java.util包。 java.util.Base64工具类提供了一套静态方法获取下面三种BASE64编解码器: Basic编码 URL编码 MIME编码 Basic编码 Basic编码是标准的BASE64编码,用于处理常规的需求:输出的内容不添加换行符,而且输出的内容由字母加数字组成。 1// 编码 2String asB64 = …

    阅读更多
    • ««
    • «
    • 1
    • 2
    • 3
    • »
    • »»

Paul Zeng

积跬步,至千里
阅读更多

精选文章

  • 本地缓存Caffeine
  • Kafka 报 InvalidPidMappingException 问题解决
  • 通过SpringGateway对接口请求进行加解密
  • 数据查询ES设计演变
  • 阿里云WAF与SNI问题
  • 订单ES查询性能优化
  • Nginx服务器安全加固
  • 利用frp与nginx实现公网访问NAS

最新文章

  • 本地缓存Caffeine
  • 设计百万链路服务
  • Kafka 报 InvalidPidMappingException 问题解决
  • 通过SpringGateway对接口请求进行加解密
  • 不安全的http方法
  • 数据查询ES设计演变
  • Docker挂载文件,宿主机修改后容器里文件没有同步更新
  • JVM 参数项区别:-D、-X、-XX

分类

JAVA 26 KUBERNETES 18 系统设计与优化 14 POSTGRES 10 LINUX 9 MANJARO 8 DOCKER 5 JETTY 3 MAC 3 NGINX 3 算法 3 NODEJS 2 PYTHON 2 TERRAFORM 2
所有分类
CAFFEINE1 CHROME1 DBEAVER1 DOCKER5 ELASTIC-SEARCH1 FIDDLER1 GPT1 HIBERNATE1 JAVA26 JETTY3 KAFKA1 KUBERNETES18 LINUX9 MAC3 MANJARO8 MINIO1 MYBATIS1 NGINX3 NODEJS2 POSTGRES10 PYTHON2 REDIS1 TERRAFORM2 UBUNTU1 ZOOKEEPER2 安全1 车机1 前端1 算法3 系统设计与优化14 硬件1 运维1
[A~Z][0~9]

专栏

JAVA各版本新特性 21 KUBERNETES-IN-ACTION笔记 18

标签

JAVA 25 KUBERNETES 18 JAVA-8 15 POSTGRES 12 MANJARO 8 DOCKER 6 JAVA-9 5 LINUX 5 NGINX 5 JETTY 4 SESSION 4 SHELL 4 排序 4 ELASTIC-SEARCH 3
所有标签
ALPINE2 BASE641 BING1 CAFFEINE1 CHROME2 CLOUDFLARE1 CLUSTER1 CONFIGMAP1 CONTAINER1 CRITERIA-BUILDER1 CURL1 DATE1 DBEAVER1 DECLARE1 DOCKER6 ELASTIC-SEARCH3 EXCEL1 FIDDLER2 FRP1 GITBOOK1 GPT41 GREP2 HIBERNATE1 HOTSPOT1 HTTP1 INPUTSTREAM1 JAVA25 JAVA-71 JAVA-815 JAVA-95 JCONSOLE1 JETTY4 JMX1 JVISUALVM1 JVM2 KAFKA1 KCP1 KUBERNETES18 LAMBDA1 LINUX5 LOCALE1 LOCK1 MAC1 MANJARO8 MIGRATION1 MINIO1 MYBATIS1 NAS1 NGINX5 NODEJS2 OPTIONAL2 PGLOGICAL2 POSTGRES12 PSYCOPG21 PYTHON2 QUARTZ2 REDIS1 RSYSLOG1 SCHEMA2 SECRET1 SECURITY1 SEO1 SERIALIZE1 SESSION4 SHELL4 SNI1 SPRING1 SPRING-BOOT1 SPRING-CLOUD1 SSH1 SSL1 STAMPEDLOCK1 TERRAFORM2 UBUNTU2 UNIX2 VMWARE1 WAF1 WAL-E1 WIFI1 WINCE1 ZOOKEEPER2 阿里云3 安全2 安卓1 本地部署1 车机1 从库1 打印机1 导航1 调试1 短链1 对象存储1 分布式1 分布式系统1 复盘1 挂载1 滚轮1 缓存1 集群1 监控1 截屏1 轮询1 面试1 命令2 排序4 企业微信1 升级1 生产事故1 事务1 鼠标1 数据迁移1 私有云1 算法3 网关1 维修1 线程1 线程池1 性能优化1 序列化1 远程1 长轮询1 证书1 抓包1
[A~Z][0~9]

Copyright © 2018 - 2024 保罗札记. All Rights Reserved