深圳幻海软件技术有限公司 欢迎您!

  • 蓝桥杯最后一战

    目录分巧克力_二分题目描述输入格式输出格式输入输出样例说明/提示代码:巧克力-优先队列题目描述输入格式输出格式输入输出样例说明/提示代码:思路分析:秘密行动_dp蓝桥杯算法提高-秘密行动题目描述输入格式输出格式样例输入样例输出代码:思路分析:合并果子_优先队列题目描述输入格式输出格式输入输出样例说明

  • 01 设计模式入门

    一什么是设计模式设计模式是一套反复使用的代码设计总结。使用设计模式是为了可重用代码、保证代码可靠性、程序的重用性。熟悉设计模式能更容易看懂框架源码,更好的设计自己的系统。二设计模式分类设计模式分为创建型、结构型和行为型三种模式。三设计模式的六大原则开放封闭原则:尽量通过扩展软件实体来解决需求变化,而

  • 整理 js 日期对象的详细功能,使用 js 日期对象获取具体日期、昨天、今天、明天、每月天数、时间戳等,以及常用的日期时间处理方法

    在javascript中内置了一个Date对象,可用于实现一些日期和时间的操作。本文整理js日期对象的详细功能,使用js日期对象获取具体日期、昨天、今天、明天、每月天数、时间戳等,以及常用的日期时间处理方法。在前端可以通过newDate()生成Date对象,如果没有传参数时,即获取本地当前日期和时间

  • 从一个线上问题 重新认识R8编译器

    背景在过去的一段时间内,京东AndroidAPP通过图片压缩、图片转下载、资源混淆编译、插件化、插件后装、混合开发等一系列手段对安装包大小进行了优化,取得了不错的瘦身收益。在完成这些常规瘦身手段优化后,为了进一步优化安装包的大小,调研了谷歌官方新推出的R8编译器,了解到R8编译器在提升构建效率的同时

  • 一文吃透接口调用神器RestTemplate

    文末可以领取所有系列高清pdf。大家好,我是路人,这是SpringMVC系列第21篇。本文介绍Springweb中特别牛逼的一个类RestTemplate。目录1、RestTemplate概述2、案例代码2.1、git地址2.2、关键代码位置2.3、如何运行测试用例?3、发送Get请求3.1、普通请

  • OkHttp搞定Http请求

    文章目录OkHttp依赖包创建OkHttpClient构造UrlHeader头设定Get请求同步Get异步GetPost请求Json内容Form表单文件上传Put请求Json内容参数方式Delete请求OkHttp工具类OkHttp官方文档仓库OkHttp是一款高效的HTTP客户端框架:HTTP/2

  • Spring Cloud Gateway实现灰度发布实现原理

    什么是灰度发布灰度发布(又名金丝雀发布)是指在黑与白之间,能够平滑过渡的一种发布方式。在其上可以进行A/Btesting,即让一部分用户继续用产品特性A,一部分用户开始用产品特性B,如果用户对B没有什么反对意见,那么逐步扩大范围,把所有用户都迁移到B上面来。灰度发布可以保证整体系统的稳定,在初始灰度

  • 面试题:三个线程按顺序打印 ABCABC

    小伙伴们好呀,最近在重新复习,整理自己的知识库,偶然看到这道面试题:三个线程按顺序打印ABCABC,尝试着做一下,才发现自己对线程还有好多地方不懂,蓝瘦……🐷思路很明显,这里就涉及线程间相互通信的知识了。而相互通信的难点就是要控制好,阻塞和唤醒的时机。一.这里就是A通知B,B通知C,C通知A二.三

  • 夯实Java基础,一篇文章全解析线程问题

    1.线程是什么操作系统支持多个应用程序并发执行,每个应用程序至少对应一个进程,彼此之间的操作和数据不受干扰,彼此通信一般采用管道通信、消息队列、共享内存等方式。当一个进程需要磁盘IO的时候,CPU就切换到另外的进程,提高了CPU利用率。有了进程,为什么还要线程?因为进程的成本太高了。启动新的进程必须

  • stream的实用方法和注意事项

    使用但不常见的方法filter、map、skip等方法想必大家都十分熟悉无需赘述。这里仅介绍工程中使用较少但同样实用的方法。▐ reducereduce有3个参数:初始值、累加器、组合器。下面通过几个case为大家逐一讲解。由于比较绕,下面贴上ide执行结果当顺序读流或者累加器的参数和它的

  • Spring Security 中,想在权限中使用通配符,怎么做?

    小伙伴们知道,在Shiro中,默认是支持权限通配符的,例如系统用户有如下一些权限:system:user:addsystem:user:deletesystem:user:selectsystem:user:update...现在给用户授权的时候,我们可以像上面这样,一个权限一个权限的配置,也可以直

  • 后端思维篇:手把手教你写一个并行调用模板

    1.一个串行调用的例子如果让你设计一个APP首页查询的接口,它需要查用户信息、需要查banner信息、需要查标签信息等等。一般情况,小伙伴会实现如下:复制publicAppHeadInfoResponsequeryAppHeadInfo(AppInfoReqreq){//查用户信息UserInfoP

  • 为什么要用读写锁?它有什么优点?

    读写锁(Readers-WriterLock)顾名思义是一把锁分为两部分:读锁和写锁,其中读锁允许多个线程同时获得,因为读操作本身是线程安全的,而写锁则是互斥锁,不允许多个线程同时获得写锁,并且写操作和读操作也是互斥的。总结来说,读写锁的特点是:读读不互斥、读写互斥、写写互斥。1.读写锁使用在Jav

  • SpringBoot 实现 Excel 自由导入导出,性能强的离谱,用起来还特优雅

    一、简介各位网友,大家好,我是阿粉!在实际的业务系统开发过程中,操作Excel实现数据的导入导出基本上是个非常常见的需求。之前,我们有介绍一款非常好用的工具:EasyPoi,有读者提出在数据量大的情况下,EasyPoi会占用内存大,性能不够好,严重的时候,还会出现内存异常的现象。今天我给大家推荐一款

  • Effective C++ 高阶笔记

     Part1一、让自己习惯C++条款01:视C++为一个语言联邦C++并不是一个带有一组守则的一体语言:他是从四个次语言(C、Object-OrientedC++、Template、STL) 组成的联邦政府,每个次语言都有自己的规约。记住这四个次于语言你就会发现C++容易了解得多

  • Java 8中Map骚操作之merge()的用法

    Java8最大的特性无异于更多地面向函数,比如引入了lambda等,可以更好地进行函数式编程。前段时间无意间发现了map.merge()方法,感觉还是很好用的,此文简单做一些相关介绍。首先我们先看一个例子。merge()怎么用?假设我们有这么一段业务逻辑,我有一个学生成绩对象的列表,对象包含学生姓名

  • 日常工作中很容易犯的几个并发错误

     前言列举大家平时在工作中很容易犯的几个并发错误,都是在实际项目代码中看到的鲜活例子,希望对大家有帮助。FirstBlood线上总是出现:ERROR1062(23000)Duplicateentry'xxx'forkey'yyy',我们来看一下有问题的这段代码:复制UserBindInfo

  • Java锁:重入锁,读写锁,乐观锁,悲观锁,CAS无锁模式

     重入锁锁作为并发共享数据,保证一致性的工具,在JAVA平台有多种实现(如synchronized(重量级)和ReentrantLock(轻量级)等等)。这些已经写好提供的锁为我们开发提供了便利。重入锁,也叫做递归锁,指的是同一线程外层函数获得锁之后,内层递归函数仍然有获取该锁的代码,但不

  • Java12 Collectors.teeing你真的需要了解一下

    前言在Java12里面有个非常好用但在官方JEP没有公布的功能,因为它只是Collector中的一个小改动,它的作用是merge两个collector的结果,这句话显得很抽象,老规矩,我们先来看个图:管道改造经常会用这个小东西,通常我们叫它「三通」,它的主要作用就是将downstream1和down

  • 架构师知识储备——深入理解BIO、NIO、AIO

     本文你将获取到:同/异步+阻/非阻塞的性能区别;BIO、NIO、AIO的区别;理解和实现NIO操作Socket时的多路复用;同时掌握IO最底层最核心的操作技巧。BIO、NIO、AIO的区别是什么?同/异步、阻/非阻塞的区别是什么?文件读写最优雅的实现方式是什么?NIO如何实现多路复用功能

推荐阅读