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

  • Java8新特性Stream流详解

    陈老老老板说明:新的专栏,本专栏专门讲Java8新特性,把平时遇到的问题与Java8的写法进行总结,需要注意的地方都标红了,一起加油。本文是介绍Java8新特性Stream流常用方法超详细教学说明:Java8新特性Steam真的太常见了,而且学会你会发现一片新天地,牛的不行,巨爽。本篇需要对Java

  • java异或运算

        在Java中,异或运算是以二进制的形式进行计算的,当进行异或运算时,会先把两个数值转换成二进制,在进行异或运算。    运算规则:在同位上的数值,相同则为0(都是0或者都是1),不同则为1(一个为0一个为1)&n

  • 设计模式——23种设计模式

    Java设计模式设计模式:是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。面向对象设计原则都是为了高内聚低耦合原则。编程时基本都要遵守单一职责原则分类原则:一种人只干一种事。举例:(比较简单就不代码了)人可以干的事情有很多:敲代码、唱歌、跳舞、打篮球....以人设置成一个类,里面

  • HashMap 计算 Hash 值的扰动函数

    计算过程以下代码叫做“扰动函数”复制//java8中的散列值优化函数staticfinalinthash(Objectkey){inth;return(key==null)?0:(h=key.hashCode())^(h>>>16);}1.2.3.4.5.理论上hash散列是一个i

  • 聊聊 Stream API万字使用教程

    无状态操作【Stateless】过滤-filter:作用:筛选出符合规则的元素方法定义:接收断言函数式接口Predicate,接收一个参数,返回boolean类型结果复制Stream<T>filter(Predicate<?superT>predicate);1.案例:获取字

  • Lambda表达式详细总结,理论加案例

    JDK版本迭代近几年JDK更新速度非常快,2022年9月20号发布JDK19,作为Java语言的使用者,尤其是新入行和想要入行的朋友,不要被这么快的更新速度吓到,更不要被贩卖了焦虑,因为多数版本仅为过渡,如JDK19在2023年3月将会被JDK20替代,完全不必慌张,近几年JDK更新如此频繁,真正多

  • 忘了又看,看了又忘?保姆级教学,一口气教你玩转三种高频设计模式!

    大家好,我是楼仔呀。无论大家工作还是面试,都会用到设计模式,如果不结合具体的场景,通过书本学到的设计模式非常容易忘。本文通过具体的示例,教大家如何学习设计模式,保证你看完这篇文章后,这3种常用的设计模式,能妥妥掌握!不BB,上文章目录。1.一起打豆豆有个记者去南极采访一群企鹅,他问第一只企鹅:“你每

  • 别再用 System.currentTimeMillis() 统计耗时了,太 Low,StopWatch 好用到爆!

    背景你还在用System.currentTimeMillis...统计耗时?比如下面这段代码:复制/***@author:栈长*@from:公众号Java技术栈*/@TestpublicvoidjdkWasteTime()throwsInterruptedException{longstart=Sy

  • 快速认识 Pandas 的十大索引

    索引在我们的日常生活中其实是很常见的,就像:一本书有自己的目录和具体的章节,当我们想找某个知识点,翻到对应的章节即可;也像图书馆中的书籍被分类成文史类、技术类、小说类等,再加上书籍的编号,很快就能够找到我们想要的书籍。外出吃饭点菜的菜单,从主食类、饮料/汤类、凉菜类等,到具体的菜名等,点个菜即可。上

  • 吐血推荐17个提升开发效率的“轮子”

    前言在java的庞大体系中,其实有很多不错的小工具,也就是我们平常说的:轮子。如果在我们的日常工作当中,能够将这些轮子用户,再配合一下idea的快捷键,可以极大得提升我们的开发效率。今天我决定把一些压箱底的小工具,分享给大家,希望对你有所帮助。本文会分享17个我们日常工作中一定会用得到的小工具,主要

  • 面试突击:死锁产生的原因有哪些?

    死锁(DeadLock)指的是两个或两个以上的运算单元(进程、线程或协程),都在等待对方释放资源,但没有一方提起释放资源,从而造成了一种阻塞的现象就称为死锁。比如线程1拥有了锁A的情况下试图获取锁B,而线程2又在拥有了锁B的情况下试图获取锁A,这样双方就进入相互阻塞等待的情况,如下图所示:死锁的代码

  • Java安全 | 反射看这一篇就够了

    什么是反射?Java安全可以从反序列化漏洞说起,反序列化漏洞又可以从反射说起。反射是大多数语言里都必不可少的组成部分,对象可以通过反射获取他的类,类可以通过反射拿到所有⽅法(包括私有),拿到的⽅法可以调⽤,总之通过“反射”,我们可以将Java这种静态语⾔附加上动态特性。可能说完这一两句话大家还是不知

  • 9张图,32个案例带你轻松玩转Java Stream

    大家好,我是君哥。Java8中增加了Stream处理,可以配合Lambda表达式来使用,让操作集合非常便利。虽然我们平时经常使用Stream,但用到的方法其实非常少,这篇文章就来完整的介绍Stream的使用。Stream提供的方法非常多,按照调用当前方法是否结束流处理,可以分为中间操作和结束操作。对

  • C++的全链路追踪方案,稍微有点高端

    背景:本人主要在做C++SDK的开发,需要给到业务端去集成,在集成的过程中可能会出现某些功能性bug,即没有得到想要的结果。那怎么调试?分析:这种问题其实调试起来稍微有点困难,它不像crash,当发生crash时还能拿到堆栈信息去分析,然而功能性bug没有crash,也就没法捕捉对应到当时的堆栈信息

  • 彻底消灭if-else,你需要这8种方案!

    代码中如果if-else比较多,阅读起来比较困难,维护起来也比较困难,很容易出Bug,接下来,本文将介绍优化if-else代码的八种方案。图片来自Pexels优化方案1:提前return,去除不必要的else如果if-else代码块包含return语句,可以考虑通过提前return,把多余else干

  • Java程序员必备基础:内部类解析

     前言整理了一下内部类的相关知识,算是比较全,比较基础的,希望大家一起学习进步。一、什么是内部类?在Java中,可以将一个类的定义放在另外一个类的定义内部,这就是内部类。内部类本身就是类的一个属性,与其他属性定义方式一致。一个内部类的例子: 复制public class

  • Spring Boot异步请求和异步调用,一文搞定!

    一、SpringBoot中异步请求的使用1、异步请求与同步请求特点:可以先释放容器分配给请求的线程与相关资源,减轻系统负担,释放了容器所分配线程的请求,其响应将被延后,可以在耗时处理完成(例如长时间的运算)时再对客户端进行响应。一句话:增加了服务器对客户端请求的吞吐量(实际生产上我们用的比较少,如果

  • BIO和NIO了解多少呢?一起从实践角度重新理解下吧

     01前言这段时间自己在看一些Java中BIO和NIO之类的东西,看了很多博客,发现各种关于NIO的概念说的天花乱坠头头是道,可以说是非常的完整,但是整个看下来之后,自己对NIO还是一知半解的状态,所以这篇文章不会提到很多的概念,而是站在一个实践的角度,写一些我自己关于NIO的见解,站在实

  • 值得开发者关注的Java 8后时代的语言特性

    首先我们必须承认,Java8是一个里程碑式的版本,这个相信大多数Java程序员都认同,其中最知名的是Streams&Lambda,这让FunctionalProgramming成为可能,让Java换发新的活力。这也是即便Oracle不在支持Java8的更新,各个云厂商还是积极支持,站点为ht

  • 哦,这就是Java的优雅停机?(实现及原理)

    优雅停机?这个名词我是服的,如果抛开专业不谈,多好的名词啊!其实优雅停机,就是在要关闭服务之前,不是立马全部关停,而是做好一些善后操作,比如:关闭线程、释放连接资源等。再比如,就是不会让调用方的请求处理了一增,一下就中断了。而处理完本次后,再停止服务。Java语言中,我们可以通过Runtime.ge

推荐阅读