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

  • 得物H5容器野指针疑难问题排查 & 解决

    1、背景得物iOS4.9.x版本上线后,一些带有横向滚动内容的h5页面,有一个webkit相关crash增加较快。通过Crash堆栈判断是UIScrollview执行滚动动画过程中内存野指针导致的崩溃。2、前期排查通过页面浏览日志,发现发生崩溃时所在的页面都是在h5web容器内,且都是在页面的生命周

  • Java排序

    Java排序🐾1.概念🐾1.1排序1.2稳定性(重要)💐2.七大基于比较的排序比-总览💐🌸3.插入排序🌸3.1直接插入排序-原理3.2实现3.3性能分析3.4折半插入排序(了解)🌷4.希尔排序🌷4.1原理4.2实现4.3性能分析🍀5.选择排序🍀5.1直接选择排序-原理5.2实现5

  • 【原型设计模式详解】C/Java/JS/Go/Python/TS不同语言实现

    简介原型模式(PrototypePattern)是一种创建型设计模式,使你能够复制已有对象,而无需使代码依赖它们所属的类,同时又能保证性能。这种模式是实现了一个原型接口,该接口用于创建当前对象的克隆。当直接创建对象的代价比较大时,则采用这种模式。如果你需要复制一些对象,同时又希望代码独立于这些对象所

  • 【数据结构】单链表 && 双链表(链式和数组实现)

    🔥🔥欢迎来到小林的博客!!🛰️博客主页:✈️小林爱敲代码🛰️博客专栏:✈️数据结构与算法🛰️社区:✈️进步学堂🛰️欢迎关注:👍点赞🙌收藏✍️留言目录前言单链表头插尾插头删尾删指定位置后插入指定位置后删除双链表指定位置前插入指定位置删除数组模拟单链表数组模拟双链表总结:前言今天给大家带

  • 【组合设计模式详解】C/Java/JS/Go/Python/TS不同语言实现

    简介组合模式(CompositePattern),又叫部分整体模式,是一种结构型设计模式。用于把一组类似的对象当作一个单一的对象来看。组合模式依据树形结构来组合对象,用不同组件来构建某个部分或整体对象。如果你需要实现树状对象结构,可以使用组合模式。如果你希望客户端代码以相同方式处理简单和复杂元素,可

  • C语言之通讯录(动态 存储文件版)

    目录 前言一.基本思路 二.代码的实现 2.1通讯录菜单 2.2通讯录的定义及功能 2.3函数实现  2.3.1初始化通讯录    2.3.2文件信息传递到通讯录里 2.3.3扩容

  • 设计模式之(12)——外观模式

    外观模式(facadePattern)又叫门面模式,隐藏了子系统的复杂实现,为子系统中的一组接口提供了一个统一的访问入口,使得子系统容易被访问或使用,说白了就是把复杂的子系统封装成一个接口供给外部用户更简单地使用,这也是一种结构型设计模式。模式结构图: 此模式中涉及的三种角色:1、门面角色

  • 设计模式之(8)——代理模式

    定义:为某个对象提供一个代理,以达到对这个对象的访问控制,代理类和委托类有共同的父类或者父接口,这样可以在使用委托类的地方都可以使用代理对象来替换(这符合程序设计中的“里氏替换原则”),代理类负责请求的预处理、过滤等初步处理之后,再将请求分派给委托类进行处理,代理类当然也可以在委托类执行完毕之后做一

  • webgl 系列 —— 绘制一个点(版本2、版本3、版本4、版本5)

    绘制一个点我们初步认识了webgl,本篇主要围绕绘制一个点的示例,逐步实现下面功能:点的位置从js传入着色器点的大小由js传入着色器通过鼠标点击绘点通过鼠标点击绘点,并改变点的颜色绘制一个点(版本2)需求在上篇中我们在canvas中心绘制了一个点(效果如下),但这点的位置是直接写在顶点着色器中gl_

  • Android进阶之MediaPlayer和TextureView封装视频播放器详解(完美实现全屏、小窗)

    前言上一篇文章我们介绍了SurfaceView和TextureView的基础知识点;SurfaceView以及TextureView均继承于android.view.View,属于Android提供的控件体系的一部分。与普通View不同,它们都在独立的线程中绘制和渲染。所以,相比于普通的ImageV

  • 从实现到原理,聊聊Java中的SPI动态扩展

    八股文背多了,相信大家都听说过一个词,SPI扩展。有的面试官就很喜欢问这个问题,SpringBoot的自动装配是如何实现的?基本上,你一说是基于spring的SPI扩展机制,再把spring.factories文件和EnableAutoConfiguration提一下,那么这个问题就答的八九不离十了

  • 深入理解AP架构Nacos注册原理

    1、Nacos简介Nacos是一款阿里巴巴开源用于管理分布式微服务的中间件,能够帮助开发人员快速实现动态服务发现、服务配置、服务元数据及流量管理等。这篇文章主要剖析一下Nacos作为注册中心时其服务注册与发现原理。2、为什么会需要NacosNacos作为注册中心是为了更好更方便的管理应用中的每一个服

  • 线程池监控:执行超时、等待超时;执行超时数量、等待超时数量

    ​监控线程池:执行超时、等待超时;执行超时数量、等待超时数量;扩展线程池ThreadPoolExecutor的两个方法beforeExecute和afterExecute自定义Runnable记录关键节点时间关键时间节点参数:任务创建(提交)时间:submitTime任务开始执行时间:startEx

  • 公司系统太多,能不能实现账号互通?

    背景最近开发新产品,然后老板说我们现在系统太多了,每次切换系统登录太麻烦了,能不能做个优化,同一账号互通掉。作为一个资深架构狮,老板的要求肯定要满足,安排!一个公司产品矩阵比较丰富的时候,用户在不同系统之间来回切换,固然对产品用户体验上较差,并且增加用户密码管理成本。也没有很好地利用内部流量进行用户

  • 一篇带给你 V8 GC 的实现

    前言:GC是一个古老、复杂并且很Cool的技术,本文大概介绍一下早期V8中关于GC实现的部分,代码版本0.1.5,早期版本利于快速理解整体的逻辑,因为现代版本已经非常复杂。HandleScope和Handle首先看一下Handle一般的用法,Handle是GC非常核心的概念。复制HandleScop

  • 聊聊Java中代码优化的30个小技巧

    前言今天接着优化这个话题,我们一起聊聊Java中代码优化的30个小技巧,希望会对你有所帮助。1、用String.format拼接字符串不知道你有没有拼接过字符串,特别是那种有多个参数,字符串比较长的情况。比如现在有个需求:要用get请求调用第三方接口,url后需要拼接多个参数。以前我们的请求地址是这

  • 那些关于DOM的常见Hook封装,你知道几个?

    本文目标主要有以下几点:加深对Reacthooks的理解。学习如何抽象自定义hooks。构建属于自己的Reacthooks工具库。培养阅读学习源码的习惯,工具库是一个对源码阅读不错的选择。useEventListener优雅的使用addEventListener。我们先来看看addEventList

  • 三个注解,优雅的实现微服务鉴权

    实现思路前面的几篇文章陈某都是将鉴权和认证统一的放在了网关层面,架构如下:微服务中的鉴权还有另外一种思路:将鉴权交给下游的各个微服务,网关层面只做路由转发。这种思路其实实现起来也是很简单,下面针对网关层面鉴权的代码改造一下即可完成:实战干货!SpringCloudGateway整合OAuth2.0实

  • 七段小代码,玩转Java程序常见的崩溃场景!

    Java程序是基于GC的,在启动初始,就申请了足量的内存池,再加上JIT等编译器的实时优化,速度并不比直接用C++语言写的慢。Java语言同时由于反射和可观测等特点,再加上JFR这种神器,在发生问题的时候比二进制文件更容易找到它的根源。最近在看RCA(RootCauseAnalysis)的东西,不小

  • 这才是像样的C语言编程规范!

    最重要的一条规则编写代码时最重要的一条规则是:检查周围的代码并尝试模仿它。作为维护人员,如果收到的补丁明显与周围代码的编码风格不同,这是令人沮丧的。这是不尊重人的,就像某人穿着泥泞的鞋子走进一间一尘不染的房子。因此,无论本文推荐的是什么,如果已经编写了代码并且您正在对其进行修补,请保持其当前的样式一

推荐阅读