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

  • 模板模式

    模板模式的定义其定义如下:Definetheskeletonofanalgorithminanoperation,deferringsomestepstosubclasses.TemplateMethodletssubclassesredefinecertainstepsofanalgorithmw

  • C# List.Sort排序

    C#中,List.Sort()不仅为我们提供了默认的排序方法,还为我们提供了4种自定义排序的方法,通过默认排序方法,我们无需重写任何Sort()方法的实现代码,就能对单参数类型的List数据进行单一规则的排序,如果通过对这些方法进行改进我们可以轻松做到对多参数、多规则的复杂排序。C# 默认

  • 我的设计模式之旅、09 工厂方法、简单工厂

    编程旅途是漫长遥远的,在不同时刻有不同的感悟,本文会一直更新下去。程序介绍由于Go中缺少类和继承等OOP特性,所以无法使用Go来实现经典的工厂方法模式。不过,我们仍然能实现模式的基础版本,即简单工厂。案例中使用工厂结构体来构建多种类型的武器。因此工厂方法模式代码使用C#表示。Gun:AK47gunP

  • 抖音 Android 包体积优化探索:基于 ReDex 的 DEX 优化落地实践

    作者|冯瑞;廖斌斌;刘丰恺前言应用安装包的体积会显著影响应用的下载速度和安装速度,按照Google的经验数据,包体积每增加1M会造成0.17%的新增折损。抖音的一些实验也证明了包体积会显著影响下载激活的转化率。Android的安装包是APK格式的,在抖音的安装包中DEX的体积占比达到了40%以上,所

  • Java8新特性详解

    陈老老老板说明:新的专栏,本专栏专门讲Java8新特性,把平时遇到的问题与Java8的写法进行总结,需要注意的地方都标红了,一起加油。本文是介绍Java8新特性与常用方法(此篇只做大体介绍了解,之后会把重要的部分写在新的博客中)说明:在工作中发现Java8新特性的写法无处不在,必须了解学会才能看懂前

  • 为什么说在SpringAOP中,不要使用This调用方法?

    SpringAOP是Spring中除了依赖注入以外最为核心的功能,其原理是利用CGlib和JDK动态代理等方式来实现运行期动态方法增强,从而降低系统耦合,提升代码的复用性。不过,在享受AOP强大功能便利的同时,我们也会经常遇到一些看起来莫名其妙的bug。今天,我们来聊一聊,为什么说在AOP方法中,不

  • Java agent超详细知识梳理

    ​一、简介1开篇在梳理SkyWalkingagent的plugin、elasticsearch的plugin、arthas​等技术的原理时,发现他们的底层原理很多是相同的。这类工具都用到了Javaagent、类加载、类隔离等技术,在此进行归类梳理。本篇将梳理Javaagent相关内容。在此先把这些技

  • 如何使用插件化机制优雅地封装你的请求Hook

    本文是深入浅出ahooks源码系列文章的第二篇,这个系列的目标主要有以下几点:加深对Reacthooks的理解。学习如何抽象自定义hooks。构建属于自己的Reacthooks工具库。培养阅读学习源码的习惯,工具库是一个对源码阅读不错的选择。注:本系列对ahooks的源码解析是基于 ​​v

  • Spring事务为什么会失效?

    不用Spring管理事务?让我们先来看一下不用spring管理事务时,各种框架是如何管理事务的。使用JDBC来管理事务:使用Hibernate来管理事务:业务逻辑和事务代码是耦合到一块的,并且和框架的具体api绑定了。当我们换一种框架来实现时,里面对事务控制的代码就要推倒重写,并不一定能保证替换后的

  • 面试突击:如何判断线程池已经执行完所有任务了?

    作者|磊哥来源|Java面试真题解析(ID:aimianshi666)转载请联系授权(微信ID:GG_Stone)很多场景下,我们需要等待线程池的所有任务都执行完,然后再进行下一步操作。对于线程Thread来说,很好实现,加一个join方法就解决了,然而对于线程池的判断就比较麻烦了。我们本文提供4种

  • 手绘六张图彻底搞懂动态代理

    本文转载自微信公众号「爱笑的架构师」,作者雷小帅。转载本文请联系爱笑的架构师公众号。在讲解动态代理前我们先聊聊什么是静态代理。静态代理假设有一天领导突发奇想,给你下发了一个需求:统计项目中所有类的方法执行耗时。在拿到需求的那一刻,脑海中冒出来的第一个想法是:在每个方法的第一行和最后一行加上时间埋点,

  • 原来这才是动态代理!!!

    各位小伙伴们大家吼啊!我是cxuan,距离上次更新已经有段时间了,临近过年了,项目这边也比较忙,而且最近很多时间都花在看书、提升自己上面,文章写的比较拖沓,这里我要自我反思(其实我已经筹备了几篇文章,就等结尾了,嘿嘿嘿)。我们上篇文章聊了一波什么是动态代理,然后我又从动态代理的四种实现为切入点,为你

  • 面试官:This 和Super 有什么区别?This 能调用到父类吗?

    this和super都是Java中常见的关键字,虽然二者在很多情况下都可以被省略,但它们在Java中所起的作用是不可磨灭的。它们都是用来起指代作用的,每个类在实例化的时候之所以能调用到Object类(Object类是所有类的父类),全是二者的“功劳”。1.super关键字super是用来访问父类实例

  • 总结JavaScript处理异步的方法

    javascript语言的执行环境是单线程(singlethread),就是指一次只能完成一件任务。如果有多个任务,就必须排队,前面一个任务完成,再执行后面一个任务,以此类推。这种模式的好处是实现起来比较简单,执行环境相对单纯;但是只要耗时比较多,假如有一个任务耗时很长,后面的任务都必须排队等着,会

  • 如何优雅地打印一个Java对象?

     你好呀,我是沉默王二,一个和黄家驹一样身高,和刘德华一样颜值的程序员。虽然已经写了十多年的Java代码,但仍然觉得自己是个菜鸟(请允许我惭愧一下)。在一个月黑风高的夜晚,我思前想后,觉得再也不能这么蹉跎下去了。于是痛下决心,准备通过输出的方式倒逼输入,以此来修炼自己的内功,从而进阶成为一

  • Lombok使用详解,简化Java编程

     前言在Java应用程序中存在许多重复相似的、生成之后几乎不对其做更改的代码,但是我们还不得不花费很多精力编写它们来满足Java的编译需求比如,在Java应用程序开发中,我们几乎要为所有Bean的成员变量添加get(),set()等方法,这些相对固定但又不得不编写的代码浪费程序员很多精力,

  • Java8之Consumer、Supplier、Predicate和Function攻略

    来聊聊Consumer、Supplier、Predicate、Function这几个接口的用法,在Java8的用法当中,这几个接口虽然没有明目张胆的使用,但是,却是润物细无声的。为什么这么说呢?这几个接口都在java.util.function包下的,分别是Consumer(消费型)、supplie

  • 如何提升JSON.stringify()的性能?

     1.熟悉的JSON.stringify()在浏览器端或服务端,JSON.stringify()都是我们很常用的方法: 将JSONobject存储到localStorage中; POST请求中的JSONbody; 处理响应体中的JSON形式的数据; 

  • 异常检测的N种方法,阿里工程师都盘出来了

    背景异常点检测(Outlierdetection),又称为离群点检测,是找出与预期对象的行为差异较大的对象的一个检测过程。这些被检测出的对象被称为异常点或者离群点。异常点检测在生产生活中有着广泛应用,比如信用卡反欺诈、工业损毁检测、广告点击反作弊等。异常点(outlier)是一个数据对象,它明显不同

  • 看我用Android开发者听得懂的语言解释快应用页面的生命周期和接口router-12.4

    就像世界上***批Android工程师大多都是iOS工程师转行一样,世界上***批QuickApp工程师也大多都是Android工程师转行。将快应用知识与Android知识对比学习可以起到温故知新的效果。查阅快应用官方文档可知快应用的“页面”和Android原生的Activity都是提供一个可以给用

推荐阅读