Stream流

体验Stream流 Stream流一般配合Lamda表达式使用 函数式编程 通过字面意思即可展示无关逻辑的语句 public class Demo { public static void main(String[] args) { //创建集合,存储多个字符串元素 ArrayList<String ...

kafka单机安装

一、安装 kafka是由scala语言写成的,后面用Java重构了,但是不管怎样,都要编译到jvm虚拟机中执行。 centos:yum install java-11-openjdk ubuntu:apt install default-jdk java -version 下载kafka 下载 wg ...

读Java实战(第二版)笔记06_新的日期和时间API

1. Java 8之前的库对日期和时间的支持非常不理想 2. TemporalField接口 2.1. 定义了如何访问temporal对象某个字段的值的接口 2.2. ChronoField枚举 2.2.1. 实现TemporalField接口 3. LocalDate类 3.1. 实例是一个不可变 ...

JAVA中如何判断一个ResultSet结果集是否为空

问题描述 ResultSet 表示 select 语句的查询结果集。ResultSet 对象具有指向其当前数据行的指针, 最初,指针被置于第一行记录之前,通过 next() 方法可以将指针移动到下一行记录。 next() 方法在 ResultSet 对象没有一行记录时返回 false ,因此可以在 ...

Java常用类之String源码分析

一、概述 String类的一个最大特性是不可修改性,而导致其不可修改的原因是在String内部定义了一个常量数组,因此每次对字符串的操作实际上都会另外分配分配一个新的常量数组空间。 二、创建字符串对象的方式 2.1 四种方式 方式一:直接赋值(常用) // 直接赋值方式创建对象是在方法区的常量池 S ...

Netty Protobuf处理粘包分析

背景 最近消息中间件项目进行联调,我负责Server端,使用Java的Netty框架。同事负责Client端,使用Go的net包,消息使用Protobuf序列化。联调时Client发送的消息Server端解析出错,经过分析发现是Server与Client粘包处理方式不一致导致,Server使用的是P ...

java中线程的实现方式

java中线程的实现方式 继承Thread类 代码 : package ThreadImplamen; import static java.lang.Thread.sleep; public class threadImp { public static void main(String[] ar ...

第7章:异常处理

第7章:异常处理 1、异常概述与异常体系结构 1.1 异常引出: 在使用计算机语言进行项目开发的过程中,即使程序员把代码写得尽善尽美,在系统的运行过程中仍然会遇到一些问题,因为很多问题不是考代码能够避免的(如客户输入数据的格式、读取文件是否存在、网络是否始终保持通畅等)。 1.2 异常概念: 异常: ...

Java中JWT的使用

JWT简介 JWT全称为Json Web Token JWT的本质就是一个字符串,它是将用户信息保存到一个Json字符串中,然后进行编码后得到一个JWT token,并且这个JWT token带有签名信息,接收后可以校验是否被篡改,所以可以用于在各方之间安全地将信息作为Json对象传输。 JWT的认 ...

读Java实战(第二版)笔记05_Collection API的增强功能

1. 集合工厂 1.1. Arrays.asList() 1.1.1. 创建了一个固定大小的列表 1.1.2. 列表的元素可以更新 1.1.3. 不能增加或者删除 1.1.4. 大小固定的可变数组 1.2. 没有Arrays.asSet() 1.2.1. 可以向HashSet的构造器传递一个列表实现 ...

JavaScript 高阶函数

JavaScript 中的高阶函数是一种接受函数作为输入或返回函数作为输出的函数。高阶函数可以用于创建抽象概念,例如柯里化、组合和管道。 ...

Java CompletableFuture 异步超时实现探索

JDK 8 是一次重大的版本升级,新增了非常多的特性,其中之一便是 CompletableFuture。自此从 JDK 层面真正意义上的支持了基于事件的异步编程范式,弥补了 Future 的缺陷。

在我们的日常优化中,最常用手段便是多线程并行执行。这时候就会涉及到 CompletableFutur... ...