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

  • python 知识点/面试题目总结(八股文)算法工程师必备

    python知识点/面试题目总结(八股文)算法工程师必备1.python的内存管理以及垃圾回收机制2.python中的pass有什么作用3.python的strip4.python多线程中的IO型操作5.python如何进行数据类型转换的6.python中的单下划线_和双下划线__7.python中

  • 我的设计模式之旅、12 原型模式

    编程旅途是漫长遥远的,在不同时刻有不同的感悟,本文会一直更新下去。思考总结思考问题如果没有原型模式,当我们复制复杂对象,在新建相同类的对象,遍历原始对象中的所有成员变量并将成员变量复制到新对象的过程中会产生什么问题?并非所有对象都能通过这种方式复制,因为对象可能拥有私有成员变量,它们在对象本身以外是

  • 设计模式之享元模式

    本文通过优化买票的重复流程来说明享元模式,为了加深对该模式的理解,会以String和基本数据类型的包装类对该模式的设计进一步说明。读者可以拉取完整代码到本地进行学习,实现代码均测试通过后上传到码云。一、引出问题鉴于小王之前的优质表现,老王决定带小王出去旅游一下,但在火车站买票时却陷于了长长的队伍。老

  • this的指向

    1|0一、this的指向分类分类this指向普通函数window构造函数实例对象,原型对象里面的方法也指向实例对象对象方法该方法所属对象。若对象中的方法为普通函数写法吗,则this指向该方法所属对象,若为箭头函数,则this指向为window事件绑定函数绑定事件对象定时器window立即执行函数wi

  • 浅谈DDD,你学会了吗?

    ​DDD最近几年越来越流行,大家都在聊这个话题,但是每个人对它的理解都不同,小汪哥这里根据之前在系统拆分、需求评估,以及遗留系统改造中的一点点经验,来浅浅的聊下自己对DDD的理解。从认知定义、作用、领域建模方法、实现方法论几个方面来聊聊。认知定义DDD是一种处理高度复杂领域的设计思想,它试图分离技术

  • 漫画 | 这个北欧小国发明的编程技术,竟然占领全世界了!

    上世纪60年代,挪威计算中心。一个新来员工刚上班,发现有两个人居然在一楼的黑板前打架。新员工立刻跑到电话接线员那里报告什么样的编程语言,能让两人大动肝火?当时Nygaard正在编写复杂系统的模拟程序,模拟程序要求先定义通用的行为,然后再创建大量的实例出来。挪威不是计算机和软件的强国,挪威计算中心也不

  • 76 张图,剖析 Spring AOP 源码,小白居然也能看懂,大神,请收下我的膝盖!

    下面我会简单介绍一下AOP的基础知识,以及使用方法,然后直接对源码进行拆解。不BB,上文章目录。1.基础知识1.1什么是AOP?AOP的全称是“AspectOrientedProgramming”,即面向切面编程。在AOP的思想里面,周边功能(比如性能统计,日志,事务管理等)被定义为切面,核心功能和

  • 谈谈你对Netty中,Pipeline工作原理的理解?

    1位工作8年的小伙伴,去某东面试IM部门,被问到这样一道面试题。说,请你谈一谈你对NettyPipeline设计原理的理解。当时,他说只是用过Netty的Pipline,原理没有深入了解过,然后就没有然后了。今天,我给大家讲一讲,我对NettyPipeline的理解。1、结构设计Netty中的Pip

  • 架构师必备 - DDD之落地实践

    哈喽,大家好,我是指北君。​今天带大家认识下DDD,一个听起来很垃圾却真的很牛X的设计思想,架构师必备!​前言在日常工作中,接手或维护的工程,大多数使用的是三层架构,即controller、service、dao三层,在使用的过程中,会遇到很多问题:面向数据建模,面向过程编程,没有真正“面向对象”只

  • 如何追踪 JS 对象是否被 GC

    在自带垃圾回收的语言中,开发者往往不需要过多地关注内存管理。但是不代表我们可以完全忽略它。因为语言引擎的垃圾回收是有一定的判断规则的,如果我们的变量所引用的内存没有符合这个规则,那么引擎无无法对这些内存进行自动回收。所以如何追踪变量的内存是否被回收也变得非常重要,尤其在Node.js中。因为Node

  • 几个非常有意思的Javascript知识点总结

    作为一名前端爱好者,笔者利用空余时间研究了几个国外网站的源码,发现不管是库,还是业务代码,都会用到了一些比较有意思的API,虽然平时在工作中部分接触过,但是经过这次的研究,觉得很有必要总结一下,毕竟已经2020年了,是时候更新一下技术储备了,本文主要通过实际案例来带大家快速了解以下几个知识点:Obs

  • Vue.js设计与实现之九-Object对象类型的响应式代理

    1、写在前面在Javascript中,我们知道“万物皆对象”,而对象的实际语义又是由对象的内部方法来指定的。所谓内部方法,指的是在对一个对象进行操作时在引擎内部调用的方法,这些方法对使用者是不可见的。如何区分一个对象是普通对象还是函数呢?可以通过内部方法和内部槽来区分对象,函数对象会部署方法[[ca

  • Node.js ObjectWrap 的弱引用问题

    前言:最近在写Node.jsAddon的过程中,遇到了一个问题,然后发现是ObjectWrap弱引用导致的,本文介绍一下具体的问题和排查过程,以及ObjectWrap的使用问题。ObjectWrap用于写Addon的时候导出C++对象给JS层使用,大致用法如下。首先定义一个C++类。复制class&

  • 秒杀系统“天花板”,不服不行!

    京东秒杀是京东最大的营销频道,近年来随着业务的高速发展,频道商品数量和用户流量都呈现出迅猛增长的态势。图片来自包图网同时业务方规划未来频道商品数量会增加5至10倍,对商品池扩容诉求较为强烈,这对我们现有的系统架构提出了挑战。为了应对商品数量激增引起的风险,秒杀后台组在年初成立了秒杀商品池扩容技术优化

  • Python内部是如何实现整数相加不溢出的?

    1、如何表示一个整数要想了解这个,那就需要看Python的源代码[1],Python中的整数底层对应的结构体是PyLongObject,它位于longobject.h[2]中。 逐步展开如下: 复制//longobject.h typedef struct&n

  • 小心点,别被当成垃圾回收了。

     我们说的不同的引用类型其实都是逻辑上的,而对于虚拟机来说,主要体现的是对象的不同的可达性(reachable)状态和对垃圾收集(garbagecollector)的影响。初识引用对于刚接触Java的C++程序员而言,理解栈和堆的关系可能很不习惯。在C++中,可以使用new操作符在堆上创建

  • 一个Java对象的回忆录:垃圾回收

    对象的诞生“你醒啦!”,迷迷糊糊中听到一个声音,我睁开了眼睛,发现一个小伙伴正看着我。“这里是哪里,你是谁啊?”“这里是堆区,我是一个Ajax对象,叫我小A吧”我慢慢坐了起来,举目四望,这里有好多形形色色的对象居住在这里,远处还有好多的线程在各自忙碌着,好一副热闹的景象!“你好,我才刚醒,我还不知道

  • Java 中的四种引用

    之前我们提到过GC,但当Java中引用的对象越来越多,会导致内存空间不足,最终会产生错误OutOfMemoryError,并让应用程序终止。那为什么GC在此时不能多收集一些对象呢?这就和今天说的引用类型有关了。首先,从JDK1.2开始,对象的引用被划分为4种级别,从而使程序能更加灵活地控制对象的生命

  • 放弃 PK,拥抱合作——R 和 Python 能做出什么新花样?

    我们更应该关注的是技能,而不是工具。如果你想进入数据科学领域,你可能立即会想到R和Python。然而,我们并不是要以作为两种选择来考虑他们,相反地,我们更多的是去比较他们。R和Pyhton在他们各自的领域里,都是非常***的工具。尽管如此,他们往往成为各自敌人而争吵。如果你在谷歌搜索栏里输入“Rvs

  • 一分钟理解Java包装类型

    Java一直标榜自己是一个纯粹的面向对象语言,自作聪明的为所有的值类型都提供相应的引用类型。比如:int类型对应的有Integer,前者是一个值,后者是一个引用。为了方便二者的转换又一个叫“自动拆装箱”的特性,把本来清晰的概念搞的乱七八糟。一个优秀的语言应该语法简单,语义单一、清晰。本文讨论它这些乌

推荐阅读