首页
专栏 icon
Java各版本特性 Kubernetes in Action笔记
链接 icon
国内常用镜像地址 在线学习资源
关于
  • 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 = …

    阅读更多
  • Java 8新特性 - (10)并行数组排序

    Jun 1, 2021 java java 8 排序

    在Java 7中已经有了Arrays.sort()方法可对对象进行排序,而在Java 8中,引入了新的并行排序,它比前者的排序速度更快,且遵循了Java 7引入的Fork/Join框架,可以把排序任务分配给线程池中可用的多个线程。 Java 8在java.util.Arrays类中新增了并行排序功能,能够更充分地利用多线程机制,最重要的方法是parallelSort(),可以显著加快多核机器上的数组排序 并行排序算法: 将给定的数组划分为子数组,将子数组进一步划分为子数组,直到子数组达到最小粒度为止。 子数组由多个线程单独排序。并行排序使用 Fork / Join Framework 并行地对子数组进行排序。 已合并的已排序子数组。 …

    阅读更多
  • Java 8新特性 - (9)DateTime API

    Jun 1, 2021 java java 8

    相关背景 Java对日期、日历及时间的处理一直以来都饱受诟病: java.util.Date和java.util.Calendar类易用性差,不支持时区,非线程安全 用于格式化日期的类DateFormat被放在java.text包中,它是一个抽象类,所以我们需要实例化一个SimpleDateFormat对象来处理日期格式化,并且DateFormat也是非线程安全,这意味着如果你在多线程程序中调用同一个DateFormat对象,会得到意想不到的结果。 对日期的计算方式繁琐,而且容易出错,因为月份是从0开始的,从Calendar中获取的月份需要加一才能表示当前月份。 由于以上这些问题,出现了一些三方的日期处理框架,例 …

    阅读更多
  • Java 8新特性 - (8)方法参数反射

    May 28, 2021 java java 8

    方法的参数名,在很多时候我们是需要反射得到的。但是在java8之前,代码编译为class文件后,方法参数的类型是固定的,但参数名称却丢失了,这和动态语言严重依赖参数名称形成了鲜明对比。(java是静态语言,所以入参名称叫什么其实无所谓的)。虽然名称无所谓,但很多时候,我们需要此名称来做更好的安排. 比如mybatis的Dao层接口方法,需要特意用个注解@Param来显示标识出参数名。所以java8来了,带来的新特性解决了这一问题。 获取方法参数名称有3种方法: 采用javassit包获取 很麻烦,参考其他网上文章 通过spring的LocalVariableTableParameterNameDiscoverer 1public …

    阅读更多
  • Java 8新特性 - (7)泛型的类型推断

    May 28, 2021 java java 8

    泛型简介 泛型由Java 1.5引入,泛型的本质是参数化类型,也就是说所操作的数据类型被指定为一个参数。通俗点将就是“类型的变量”。这种类型变量可以用在类、接口和方法的创建中。理解Java泛型最简单的方法是把它看成一种便捷语法,能节省某些Java类型转换(casting)上的操作. 泛型的最大优点是提供了程序的类型安全同时可以向后兼容,但也有尴尬的地方,就是每次定义时都要写明泛型的类型,这样显示指定不仅感觉有些冗长。Java 7中对泛型做了改进,编译器会根据变量声明时的泛型类型自动推断. 1// Java 7之前的写法 2Map<String, String> myMap = new HashMap<String, …

    阅读更多
  • Java 8新特性 - (6)类型注解

    May 28, 2021 java java 8

    什么是类型注解 在java 8之前,注解只能是在声明的地方所使用,比如类,方法,属性;从java 8开始,注解可以应用在任何地方。但是需要注意的是,类型注解只是语法而不是语义,并不会影响java的编译时间,加载时间,以及运行时间,也就是说,编译成class文件的时候并不包含类型注解。换句话说,仅提供定义这些类型的注释的功能,然后由框架和工具开发者来实际上使用它们。 主要的场景: 创建类实例: 1new @Interned MyObject(); 类型定义: 1@NotNull String str1 = ... 2@Email String str2 = ... 类型转换: 1myString = (@NonNull String) …

    阅读更多
  • Java 8新特性 - (5)重复注解

    May 27, 2021 java java 8

    在JDK8之前,不能使用重复注解的,即某个位置相同注解只能出现一次。 如果想编写一个定时任务的注解,使用者可以配置在每天哪一小时触发,而且允许用户配置多个时间。传统做法是: 1@Target(ElementType.TYPE) 2@Retention(RetentionPolicy.RUNTIME) 3public @interface TraditionalAnnoSchedule { 4 int[] hour() default {0}; 5} 6 7@TraditionalAnnoSchedule(hour = {0, 8, 12}) 8public class Target { 9 public static void …

    阅读更多
  • Java 8新特性 - (4)默认方法

    May 26, 2021 java java 8

    什么是默认方法 简单说,就是接口可以有实现方法,而且不需要实现类去实现其方法。只需在方法名前面加个default关键字即可。 为什么要有默认方法 首先,之前的接口是个双刃剑,好处是面向抽象而不是面向具体编程,缺陷是,当需要修改接口时候,需要修改全部实现该接口的类,目前的java 8之前的集合框架没有foreach方法,通常能想到的解决办法是在JDK里给相关的接口添加新的方法及实现。然而,对于已经发布的版本,是没法在给接口添加新方法的同时不影响已有的实现。所以引进的默认方法。他们的目的是为了解决接口的修改与现有的实现不兼容的问题。 简单的例子: 一个接口A,Clazz类实现了接口A。 1public interface A { 2 …

    阅读更多
  • Java 8新特性 - (3)方法引用

    Apr 7, 2021 java java 8

    方法引用(Method references)。方法引用提供了非常有用的语法,可以直接引用已有Java类或对象(实例)的方法或构造器。与lambda联合使用,可以使语言的构造更紧凑简洁,减少冗余代码。 方法引用使用到的操作符“::”,这个操作符把方法引用分成两边,左边是类名或者某个对象的引用,右边是方法名。引用方法有下面几种方式: 对象引用::实例方法名 类名::静态方法名 类名::实例方法名 类名::new 类型[]::new 对象引用::实例方法名 创建了一个PersonCompare对象,调用了其内部的compareByName实例方法。 1public class PersonCompare { 2 public int …

    阅读更多
  • 在Fiddler中使用脚本来修改Response数据

    Mar 30, 2021 fiddler

    使用Fiddler抓包工具,通过修改CustomRules.js脚本达到修改Http请求的Response中Body信息(如JSON串)。 常用于在Server开发未完全Ready而前端或客户端开发需要Server数据时,修改请求的返回数据,达到Debug和测试的目的,较添加BreakPoint的方法更加便捷。 本例Demo中会为JSON添加一个字段和修改一个字段,如下所示: 1// 原JSON串 V1.0 2{ 3 "music": "big big world", 4 "singer": "Emilia Rydberg" 5} 6 7// 新JSON串 V1.1 …

    阅读更多
    • ««
    • «
    • 2
    • 3
    • 4
    • 5
    • 6
    • »
    • »»

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