-
Java8的这些集合骚操作,你掌握了嘛?
所属栏目:[大数据] 日期:2021-05-21 热度:90
目录 Iterable的forEach Iterator的forEachRemaining Collection的removeIf Stream操作 List的replaceAll List的sort Map的ForEach Map的remove Map的compute相关方法 Map的getOrDefault Map的merge Map的putIfAbsent Map的replace相关方法 Java8时Lambda表[详细]
-
谈谈使用Iterator操作集合的时候踩的几个坑
所属栏目:[大数据] 日期:2021-05-21 热度:170
目录 ConcurrentModificationException UnsupportedOperationException @L_502_2@ ConcurrentModificationException 网上关于集合类型使用Iterator遍历需要注意的事项想必大家都已熟知,如果你想要遍历的时候删除集合中的元素,如果你像下面这样写,是会报错[详细]
-
【每日一题】前k个高频元素
所属栏目:[大数据] 日期:2021-05-21 热度:134
347. 前 K 个高频元素 给定一个非空的整数数组,返回其中出现频率前 k 高的元素。 示例 1: 输入: nums = [1,1,2,3],k = 2输出: [1,2] 示例 2: 输入: nums = [1],k = 1输出: [1] 提示: 你可以假设给定的 k 总是合理的,且 1 ≤ k ≤ 数组中不相同的元素的个[详细]
-
Java中Runtime类详细总结
所属栏目:[大数据] 日期:2021-05-21 热度:156
目录 Runtime类简介 API列表 经典案例 exec 获取信息 注册钩子线程 取消注册钩子线程 终止! 参考阅读 Runtime类简介 Java中,Runtime类提供了许多的API 来与 java runtime environment 进行交互,如: 执行一个进程。 调用垃圾回收。 查看总内存和剩余内存[详细]
-
详解Java中的IO输入输出流!
所属栏目:[大数据] 日期:2021-05-21 热度:61
目录 本片要点 基本分类 发展史 文件字符流 输出的基本结构 流中的异常处理 异常处理新方式 读取的基本结构 运用输入与输出完成复制效果 文件字节流 缓冲流 字符缓冲流 装饰设计模式 转换流(适配器) 适配器设计模式 标准流/系统流 标准流分类 打印流 合并[详细]
-
Java:反射机制学习笔记
所属栏目:[大数据] 日期:2021-05-21 热度:85
目录 一、反射机制 1、概述 2、优缺点 3、类加载的过程 二、获取Class对象的三种方式 1、Class.forName("全类名") 2、类名.class 3、对象.getClass() 三、反射相关的方法 四、Demo×2 1、尝试自己写一个clone()方法 2、利用配置文件动态加载 一、反射机制 1[详细]
-
【链表专题】刷题心得
所属栏目:[大数据] 日期:2021-05-21 热度:160
目录 一、虚拟头节点的选取 19. 删除链表的倒数第N个节点 题目描述 思考 虚拟头节点 二、使用双指针找到指定位置的节点 61. 选转链表 24. 两两交换链表中的节点 三、反转链表的相关问题 206. 反转链表 题目描述 迭代做法 92. 反转链表 II 题目描述 思考 链表[详细]
-
Java8的StreamAPI常用方法总结
所属栏目:[大数据] 日期:2021-05-21 热度:83
目录 什么是Stream? Stream的创建 测试API 新建测试数据 findFirst、findAny anyMatch、noneMatch filter max、count peek、map reduce collect count、averaging、summarizing、max、sum group join sort distinct、concat、limit、skip boxed 参考阅读 Ja[详细]
-
【每日一题】两个数组的交集
所属栏目:[大数据] 日期:2021-05-21 热度:50
目录 349. 两个数组的交集 思考 一、使用Set求解 二、使用排序+双指针 350. 两个数组的交集 II 思考 一、排序+双指针 二、哈希计数 349. 两个数组的交集 难度简单227 给定两个数组,编写一个函数来计算它们的交集。 示例 1: 输入:nums1 = [1,2,1],nums2 =[详细]
-
【深入理解Java虚拟机】类加载机制
所属栏目:[大数据] 日期:2021-05-21 热度:146
类加载机制:Java虚拟机将描述类的数据从Class文件加载到内存,并对数据进行校验,转换解析和初始化,最终形成可以被虚拟机直接使用的Java类型。 类加载的时机 加载阶段合适开始,《Java虚拟机规范》并没有强制约束,交由虚拟机自己实现。 而初始化阶段,严[详细]
-
【深入理解Java虚拟机】类加载器与双亲委派模型
所属栏目:[大数据] 日期:2021-05-21 热度:186
类加载器 Java虚拟机设计团队有意把类加载阶段中的“通过一个类的全限定名来获取描述该类的二进制字节流”这个动作放到Java虚拟机外部去实现,以便让应用程序自己决定如何去获取所需的类。实现这个动作的代码被称为“类加载器”(Class Loader)。 对于任意[详细]
-
Spring Security如何优雅的增加OAuth2协议授权模式
所属栏目:[大数据] 日期:2021-05-21 热度:73
一、什么是OAuth2协议? OAuth 2.0 是一个关于授权的开放的网络协议,是目前最流行的授权机制。 数据的所有者告诉系统,同意授权第三方应用进入系统,获取这些数据。系统从而产生一个短期的进入令牌(token),用来代替密码,供第三方应用使用。 由于授权的[详细]
-
前后端分离基于Oauth2的SSO单点登录怎样做?
所属栏目:[大数据] 日期:2021-05-21 热度:97
一、说明 单点登录顾名思义就是在多个应用系统中,只需要登录一次,就可以访问其他相互信任的应用系统,免除多次登录的烦恼;本文主要介绍 跨域 间的 前后端分离 项目怎样实现单点登录,并且与 非前后端分离 的差异在那里?需要解决什么问题?。 前后端分离[详细]
-
Dubbo想要个网关怎么办?试试整合Spring Cloud Gateway
所属栏目:[大数据] 日期:2021-05-21 热度:108
一、背景 在微服务架构中 API网关 非常重要,网关作为全局流量入口并不单单是一个反向路由,更多的是把各个边缘服务(Web层)的各种共性需求抽取出来放在一个公共的“服务”(网关)中实现,例如安全认证、权限控制、限流熔断、监控、跨域处理、聚合API文档等公[详细]
-
Dubbo日志链路追踪TraceId选型
所属栏目:[大数据] 日期:2021-05-21 热度:196
一、目的 开发排查系统问题用得最多的手段就是查看系统日志,但是在分布式环境下使用日志定位问题还是比较麻烦,需要借助 全链路追踪ID 把上下文串联起来,本文主要分享基于 Spring Boot + Dubbo 框架下 日志链路追踪ID 的实现方案选型思路。 ? 目前大多数分[详细]
-
Spring Cloud Gateway的动态路由怎样做?集成Nacos实现很简单
所属栏目:[大数据] 日期:2021-05-21 热度:59
一、说明 网关的核心概念就是路由配置和路由规则,而作为所有请求流量的入口,在实际生产环境中为了保证高可靠和高可用,是尽量要避免重启的,所以实现动态路由是非常有必要的;本文主要介绍 Spring Cloud Gateway 实现的思路,并且以 Nacos 为数据源来讲解[详细]
-
Spring Cloud同步场景分布式事务怎样做?试试Seata
所属栏目:[大数据] 日期:2021-05-21 热度:158
一、概述 在微服务架构下,虽然我们会尽量避免分布式事务,但是只要业务复杂的情况下这是一个绕不开的问题,如何保证业务数据一致性呢?本文主要介绍同步场景下使用 Seata 的 AT模式 来解决一致性问题。 Seata 是 阿里巴巴 开源的 一站式分布式事务解决方案[详细]
-
Spring Cloud Zuul的动态路由怎样做?集成Nacos实现很简单
所属栏目:[大数据] 日期:2021-05-21 热度:159
一、说明 网关的核心概念就是路由配置和路由规则,而作为所有请求流量的入口,在实际生产环境中为了保证高可靠和高可用,是尽量要避免重启的,所以实现动态路由是非常有必要的;本文主要介绍实现的思路,并且以 Nacos 为数据源来讲解 ? 二、实现要点 要实现[详细]
-
Spring Cloud开发人员如何解决服务冲突和实例乱窜?(IP实现方案)
所属栏目:[大数据] 日期:2021-05-21 热度:131
一、背景 在我上一篇文章《Spring Cloud开发人员如何解决服务冲突和实例乱窜?》中提到使用服务的 元数据 来实现隔离和路由,有朋友问到能不能直接通过 IP 来实现?本文就和大家一起来讨论一下这个问题 ? 二、可行性分析 要实现通过 IP 来隔离和路由的话有一[详细]
-
Spring Cloud开发人员如何解决服务冲突和实例乱窜?
所属栏目:[大数据] 日期:2021-05-21 热度:100
一、背景 在我们开发微服务架构系统时,虽然说每个微服务都是孤立的可以单独开发,但实际上并非如此,要调试和测试你的服务不仅需要您的微服务启动和运行,还需要它的上下文服务、依赖的基础服务等都要运行;但如果你的系统服务数和依赖比较多呢,那就是一个[详细]
-
Spring Boot自定义配置实现IDE自动提示
所属栏目:[大数据] 日期:2021-05-21 热度:170
一、背景 官方提供的spring boot starter的配置项,我们用IDE配置的时候一般都有自动提示的,如下图所示 而我们自己自定义的配置却没有,对开发非常不友好容易打错配置, 那这个是怎样实现的呢? ? 二、提示原理 IDE是通过读取配置信息的元数据而实现自动提[详细]
-
Springboot 系列(十三)使用邮件服务
所属栏目:[大数据] 日期:2021-05-21 热度:114
在我们这个时代,邮件服务不管是对于工作上的交流,还是平时的各种邮件通知,都是一个十分重要的存在。Java 从很早时候就可以通过 Java mail 支持邮件服务。Spring 更是对 Java mail 进行了进一步的封装,抽象出了 JavaMailSender . 后来随着 Springboot 的[详细]
-
Springboot 系列(十)使用 Spring data jpa 访问数据库
所属栏目:[大数据] 日期:2021-05-21 热度:126
前言 Springboot data jpa 和 Spring jdbc 同属于 Spring开源组织,在 Spring jdbc 之后又开发了持久层框架,很明显 Spring data jpa 相对于 Spring jdbc 更加的便捷强大,不然也就没有开发的必要了。根据下面的文章开始体验下 Spring data jpa 魅力。 1. Sp[详细]
-
Springboot 系列(四)Spring Boot 日志框架
所属栏目:[大数据] 日期:2021-05-21 热度:62
注意:本 Spring Boot 系列文章基于 Spring Boot 版本 v2.1.1.RELEASE 进行学习分析,版本不同可能会有细微差别。 前言 Spring 框架选择使用了 JCL 作为默认日志输出。而 Spring Boot 默认选择了 SLF4J 结合 LogBack。那我们在项目中该使用哪种日志框架呢?[详细]
-
最详细的 Spring Boot 多模块开发与排坑指南
所属栏目:[大数据] 日期:2021-05-21 热度:73
创建项目 创建一个 SpringBoot 项目非常的简单,简单到这里根本不用再提。你可以在使用 IDEA 新建项目时直接选择 Spring Initlalize 创建一个 Spring Boot 项目,也可以使用 Spring 官方提供的 Spring Boot 项目生成页面得到一个项目。 下面介绍一下使用 Spr[详细]