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

  • 行为型:发布订阅模式

    阅读目录定义发布订阅与观察者模式传统写法模拟发布订阅模式简单写法--面向事件调度中心编程小结回到目录定义发布订阅模式是基于一个事件(主题)通道,希望接收通知的对象Subscriber(订阅者)通过自定义事件订阅主题,被激活事件的对象Publisher(发布者)通过发布主题事件的方式通知订阅者Subs

  • 二叉树(Java实现)

    声明:本文部分文章取自于Java中关于二叉树详解_来学习的小张的博客-CSDN博客_java二叉树原理更多关于二叉树详情可以点击上面链接目录一:树形结构二:二叉树2.1二叉树的遍历:2.2二叉树的查找:2.3二叉树删除节点:(简单版)2.4顺序存储二叉树:2.5线索化二叉树:一:树形结构树是一种非线

  • Java之类与对象(图文结合)

    目录 一、面向对象的初步认知1、什么是面向对象2、面向对象与面向过程二、类定义和使用1、简单认识类2、类的定义格式 3、练习(1)定义一个狗类(2)定义一个学生类三、类的实例化1、什么是实例化2、类和对象的说明 四、this引用1、为什么要有this引用2、什么是thi

  • 初识设计模式 - 装饰器模式

    简介装饰器模式主要解决的问题是,如果使用子类继承的方式扩展一个类,随着扩展功能的增多,子类会非常膨胀,包括子类的数量或子类的方法数。装饰器模式其核心还是“用组合替代继承”,但是相对于普通的组合关系,装饰器模式还有两个比较特殊的地方:装饰器类和原始类继承同样的父类,这样就可以对原始类“嵌套”多个装饰器

  • 前端面试题JavaScript篇——2022-09-13

    每日3题34以下代码执行后,控制台中的输出内容为?constnum={a:10,add(){returnthis.a+2;},reduce:()=>this.a-2,};console.log(num.add());console.log(num.reduce());35以下代码执行后,控制台

  • 图解 Kafka 源码之 Sender 线程架构设计

    大家好,我是 华仔,又跟大家见面了。原文完整版在星球里面,如果感兴趣可以扫文末二维码加入。上篇主要带大家深度剖析了「号称承载Kafka客户端消息快递仓库RecordAccmulator的架构设计」,消息被暂存到累加器中,今天主要聊聊「发送网络I/O的Sender线程的架构设计」,深度剖析下

  • 图形编辑器:工具管理和切换

    大家好,我是前端西瓜哥。今天我们看看对于一款图形编辑器,应该怎么去实现工具,比如绘制矩形、选中工具,以及如何去管理它们的。项目地址,欢迎star:https://github.com/F-star/suika线上体验:https://blog.fstars.wang/app/suika/一款编辑器,

  • 快速检索碰撞图形:四叉树碰撞检测

    大家好,我是前端西瓜哥。在上篇文章我们讨论了使用 脏矩形渲染,通过重渲染局部的图形来提优化Canvas的性能,将GPU密集转换为CPU 密集。CPU密集在哪?在需要遍历 所有的图形,判断它们是否和脏矩形发生相交(碰撞),保存发生碰抓给你的图形,将它们在局部进行重绘。有没

  • 七个新的ES2022 JavaScript 功能,你千万不要错过了

    ​1.私有字段以前,必须在构造函数中定义所有类字段。而且没有私人领域, 所有字段都可以从外部访问。当然,有一些技巧范围使一些变量无法访问。但是,让我们不要谈论他们。复制classCounter{constructor(){this.name='Counter';this.count=0;}

  • 五张图带你理解 RocketMQ 顺序消息实现机制

    大家好,我是君哥。今天聊一聊RocketMQ的顺序消息实现机制。在有些场景下,使用MQ需要保证消息的顺序性,比如在电商系统中,用户提交订单、支付订单、订单出库这3个消息应该保证顺序性,如下图:对于RocketMQ来说,主要是通过Producer和Consumer来保证消息顺序的。1、Producer

  • 盘点一份JS逆向代码转换为Python代码的教程

    前言前几天在Python星耀和最强王者交流群里边,好几个人都在问JS逆向的视频和相关代码,看来都在学习进阶的知识,真是卷不动了。正好这几天我也在看JS的部分学习资料,看到一个还不错的案例,这里拿出来给大家分享一下,也当记录一下。JS代码关于JS代码的寻找,写文章说明倒是挺难的,录制视频讲解会更好一些

  • 基于 TypeScript 理解程序设计的 SOLID 原则

    大家好,我是ConardLi,今天我们来基于TypeScript回顾学习下程序设计中的SOLID原则。说到SOLID原则,可能写过代码的同学们应该都听过吧,这是程序设计领域最常用到的设计原则。SOLID由罗伯特·C·马丁在21世纪早期引入,指代了面向对象编程和面向对象设计的五个基本原则,SOLID其

  • 用Canvas让美女沉浸在音符的海洋里

    一、前期准备为了能够实现这个效果,要进行如下准备:一张梦寐以求的美女图片;能够简单使用canvas;准备一些音乐符号;准备编辑器,由于该内容很偏向于实战,边敲边看效果更佳。二、具体实现美女图片仅仅是作为背景使用,所以就不过多的讲述了,直接设置一下background属性即可,下面主要讲述一下音符动画

  • 深入浅出 SetState 原理篇

    前言想起自己(2021年)8月份面试时,被面试官们问了好几个setState的问题,现在想想,虽然回答上问题,但是了解得不深刻。我知道setState被设计成“异步”是为了性能,但是涉及到源码解读我就歇菜了;我知道如何让它同步,但是遇到真实的代码情况时,却不知道如何下手。说到底,当时是准备了面经把这

  • 从 Vue2.0 到 React17 —— React 开发入门

     前言找工作时发现有一些公司是以React作为技术栈的,而且薪资待遇都不错,为了增加生存的筹码,所以还是得去学一下React,增加一项求生技能。因为我用Vue2.0开发项目已经四年了,故用Vue2.0开发项目的思路来学习React。前端项目是由一个个页面组成的,对于Vue来说,一个页面是由

  • 如何修复Vue中的 “this is undefined” 问题

    当我们使用Vue在愉快的开发项目的时候,突然报了一个错误:复制this is undefined 1.别担心,不只有你一个人,我也经常遇到这个问题很多次,接下我们一起来看看如何解决这个问题。一个可能的原因是混淆了常规函数和箭头函数的用法,如果你遇到这个问题,我猜你用的是

  • 使用枚举简单封装一个优雅的 Spring Boot 全局异常处理!

     这篇文章鸽了很久,我在这篇文章《用好Java中的枚举,真的没有那么简单!》中就提到要分享。还是昨天一个读者提醒我之后,我才发现自己没有将这篇文章发到公众号。说到这里,我发现自己一个很大的问题,就是有时候在文章里面说要更新什么,结果后面就忘记了,很多时候不是自己没写,就因为各种事情混杂导致

  • 11 种在大多数教程中找不到的JavaScript技巧

     1..过滤唯一值Set对象类型是在ES6中引入的,配合展开操作...一起,我们可以使用它来创建一个新数组,该数组只有唯一的值。  在ES6之前,隔离惟一值将涉及比这多得多的代码。此技巧适用于包含基本类型的数组:undefined,null,boolean,string

  • 你的React组件还能跑得再快一点

     写在前面React提供的虚拟DOM和高效的Diff算法的完美搭配,实现了对DOM最小粒度的更新。在大多数情况下,React对DOM的渲染效率可以满足我们的开发需求。但是个别复杂业务场景下,性能问题在所难免,我们需要采取一些措施来提升性能,其中React组件的渲染性能优化很重要的一点就是避

  • 十个超级实用的JS特性

    你可能刚上手JavaScript,或者只是曾经偶尔用过。不管怎样,JavaScript改变了很多,有些特性非常值得一用。这篇文章介绍了一些特性,在我看来,一个严肃的JavaScript开发者每天都多多少少会用到这些特性。参考资料下面两个关于ES6+的站点是我的最爱: ES6Features

推荐阅读