java9-17新特性一览,了解少于3个你可能脱节了_程序员济癫-编程思维

前言 Java8出来这么多年后,已经成为企业最成熟稳定的版本,相信绝大部分公司用的还是这个版本,但是一眨眼今年Java19都出来了,相信很多Java工程师忙于学习工作对新特性没什么了解,有的话也仅限于某一块。 本篇就是博主对自己感觉有用的新特性做了一个案例验证及简要说明,整合起来分享给大家。 特别说明:Java17是继Java8之后的一个重要里程碑,像SpringBoot3.0、IDEA2

二分查找-leetcode704 简单题_你不懂诶-编程思维

LeetCode代码链接:https://leetcode.cn/problems/binary-search/ 题目:给定一个 n 个元素有序的(升序)整型数组 nums 和一个目标值 target  ,写一个函数搜索 nums 中的 target,如果目标值存在返回下标,否则返回 -1。 示例1: 输入: nums = [-1,0,3,5,9,12], target = 9 输出: 4 解

移除元素-leetcode27 双指针_你不懂诶-编程思维

力扣链接:https://leetcode.cn/problems/remove-element/ 题目     给你一个数组 nums 和一个值 val,你需要 原地 移除所有数值等于 val 的元素,并返回移除后数组的新长度。不要使用额外的数组空间,你必须仅使用 O(1) 额外空间并 原地 修改输入数组。元素的顺序可以改变。你不需要考虑数组中超出新长度后面的元素。     示例1: 输入:

长度最小子数组-leetcode209 滑动窗口_你不懂诶-编程思维

力扣:https://leetcode.cn/problems/minimum-size-subarray-sum/ 题目     给定一个含有 n 个正整数的数组和一个正整数 target 。找出该数组中满足其和 ≥ target 的长度最小的 连续子数组 [num1, num2, ..., numn-1, numn] ,并返回其长度。如果不存在符合条件的子数组,返回 0 。     示例1:

螺旋矩阵ii-leetcode59 考验代码能力_你不懂诶-编程思维

力扣链接:https://leetcode.cn/problems/spiral-matrix-ii/ 题目     给你一个正整数 n ,生成一个包含 1 到 n2 所有元素,且元素按顺时针顺序螺旋排列的 n x n 正方形矩阵 matrix 。     示例1:      输入:n = 3 输出:[[1,2,3],[8,9,4],[7,6,5]]     示例2: 输入:n = 1 输

链表基础知识_你不懂诶-编程思维

1.什么是链表     链表是一种通过指针串联在一起的线性结构,每一个节点由两部分组成,一个是数据域一个是指针域(存放指向下一个节点的指针),最后一个节点的指针域指向null(空指针的意思)。链接的入口节点称为链表的头结点也就是head。       2.链表的类型 2.1单链表     见上图 2.2双链表     单链表中的指针域只能指向节点的下一个节点。双链表:每一个节点有两个指针域,一个

设计链表-leetcode707 基础题_你不懂诶-编程思维

LeetCode链接:https://leetcode.cn/problems/design-linked-list/ 题目:设计链表的实现。您可以选择使用单链表或双链表。单链表中的节点应该具有两个属性:val 和 next。val 是当前节点的值,next 是指向下一个节点的指针/引用。如果要使用双向链表,则还需要一个属性 prev 以指示链表中的上一个节点。假设链表中的所有节点都是 0-in

【java并发入门】03 互斥锁(上):解决原子性问题_大数据王小皮-编程思维

原子性问题的源头是线程切换 Q:如果禁用 CPU 线程切换是不是就解决这个问题了? A:单核 CPU 可行,但到了多核 CPU 的时候,有可能是不同的核在处理同一个变量,即便不切换线程,也有问题。 所以,解决原子性的关键是「同一时刻只有一个线程处理该变量,也被称为互斥」。 如何做到呢?用「锁」。 一、锁模型 一)简易锁模型 一般看到的锁模型长下面这样。 但对于这个模型,会有几个疑问: 锁的是什

【java面试指北】exception error throwable 你分得清么?_大数据王小皮-编程思维

读本篇文章之前,如果让你叙述一下 Exception Error Throwable 的区别,你能回答出来么? 你的反应是不是像下面一样呢? 你在写代码时会经常 try catch(Exception) 在 log 中会看到 OutOfMemoryError Throwable 似乎不常见,但也大概听说过 一、Exception Error Throwable 关系 直接看下图,展示了三者之

spring security(8)_湘王-编程思维

您好,我是湘王,这是我的博客园,欢迎您来,欢迎您再来~   之前虽然实现了角色和权限之间的简单配对,但是如果每一个角色都要重新来过一次,就有点呆板了。如果能够配置一个「角色模板」,再通过这个模板来配置其他角色,岂不是更简单?Spring Security虽然没有角色模板,但可以通过「继承」的方式来「曲线就国」。 而且有时候角色与用户并不是完全一一对应的。比如,admin接口只有ROLE_ADMI

springboot配置多个数据源_ajajaz-编程思维

前言,什么是数据源与数据库连接池: 说SpringBoot的多数据源配置之前,我们先了解下DataSource。 在java中,操作数据库有很多方式,在众多方式中除了JDBC外还有DataSource对象。 DataSource可以看作数据源: 它封装了数据库参数,连接数据库,程序中操作DataSource对象即可对数据库进行增删改查操作。 不同方式中使用的DataS

一文教会你如何在内网搭建一套属于自己小组的在线 api 文档?_zi-you-编程思维

Hello,大家好,我是阿粉,对接文档是每个开发人员不可避免都要写的,友好的文档可以大大的提升工作效率。 阿粉最近将项目的文档基于 Gitbook 和 Gitlab 的 Webhook 功能的在内网部署了一套实时的,使用起来特方便了。跟着阿粉的步骤,教你部署自己的文档服务。 步骤 安装 Node 和 NPM; 安装 git, gitbook,gitbook-cli; 配置 Gitlab Web

总算给女盆友讲明白了,如何使用stream流的filter()操作_良工说技术-编程思维

一、引言 在上一篇文章中《这么简单,还不会使用java8 stream流的map()方法吗?》分享了使用stream的map()方法,不知道小伙伴还有印象吗,先来回顾下要点,map()方法是把一个流中的元素T转换为另外一个新流中的元素R,转换完成后两个流的元素个数不发生改变,具体怎么使用,请小伙伴移步上篇查看。在上篇文章中遗留了一个问题,本篇文章来解决它。先来看stream的另一个API--fi

在cloudreve网盘系统中集成kkfileview在线预览(暂时)_畅饮无绪-编程思维

服务器:WindowsServer 2016 Cloudreve 需求方想整一个在小团队内部使用的网盘系统,最终在千挑万选之下选中了Cloudreve。 Github地址:https://github.com/cloudreve/Cloudreve 官网地址:https://docs.cloudreve.org Cloudreve是采用go + React开发的开源网盘系统,优点是部署简

java并发之aqs同步器学习_kingjack-编程思维

AQS队列同步器学习 在学习并发的时候,我们一定会接触到 JUC 当中的工具,JUC 当中为我们准备了很多在并发中需要用到的东西,但是它们都是基于AQS(AbstractQueuedSynchronizer)队列同步器来实现的,也就是我们如果能够去梳理清楚AQS当中的知识点,对我们以后了解其他并发功能键有很大的帮助。 CLH队列 队列同步器(AbstractQueuedSynchronizer)

java并发之线程池threadpoolexecutor源码分析学习_kingjack-编程思维

线程池学习 以下所有内容以及源码分析都是基于JDK1.8的,请知悉。 我写博客就真的比较没有顺序了,这可能跟我的学习方式有关,我自己也觉得这样挺不好的,但是没办法说服自己去改变,所以也只能这样想到什么学什么了。 ​ 池化技术真的是一门在我看来非常牛逼的技术,因为它做到了在有限资源内实现了资源利用的最大化,这让我想到了一门课程,那就是运筹学,当时在上运筹学的时候就经常做这种类似的问题。 ​ 言