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

  • 单例模式(Singleton Pattern)

    单例模式模式动机单例模式(SingletonPattern)是结构最简单的设计模式,它的核心结构中只包含一个被称为单例类的特殊类。通过单例模式可以确保系统中一个类只有一个实例,且该实例易于被外界访问,从而方便对实例个数的控制并节约系统资源。如何确保一个类只有一个实例并且这个实例易于被访问?定义一个全

  • 原型模式(Prototype Pattern)

    模式动机原型模式(PrototypePattern)结构较为简单,它是一种特殊的创建型模式,当需要创建大量相同或者相似对象时,可以通过对一个已有对象的复制获取更多对象。Java语言提供了较为简单的原型模式解决方案,只需要创建一个原型对象,然后通过在类中定义的克隆方法复制自己。该模式应用较为广泛,可以

  • 看看你的对象是啥种,他的生命历程又是怎样的呢?

    文章目录1、前言2、对象的类型2.1、数据类型2.2、形参和实参2.3、值传递和引用传递2.4、拆装箱3、Java对象的生命周期3.1、创建阶段(Created)3.2、应用阶段(InUse)3.3、不可见阶段(Invisible)3.4、不可达阶段(Unreachable)3.5、收集阶段(Col

  • 初识设计模式 - 原型模式

    简介对于大部分系统来说,创建对象包括申请内存、给成员变量赋值等过程,这些操作耗费的时间基本可以忽略不计。如果对象中的数据需要经过复杂的计算才能得到(比如排序、计算哈希值),或者需要从RPC、网络、数据库、文件系统等非常慢速的IO中读取,这其中耗费的时间有时是无法容忍的。如果对象的创建成本比较大,而同

  • js中构造函数对象实例化和new关键字的执行过程

    在讲到new关键字的执行过程之前,有几个关于构造函数和对象之间的关系和构造函数的特点需要重点掌握:1.构造函数和对象的关系和区别:构造函数:构造函数抽象了对象的公共的属性和方法,封装到了函数里面,它泛指的是某一大类;对象:通过new函数创建对象,也称为对象借助构造函数完成的对象实例化。2.关于构造函

  • Spring 为何需要三级缓存解决循环依赖,而不是二级缓存

    前言在使用spring框架的日常开发中,bean之间的循环依赖太频繁了,spring已经帮我们去解决循环依赖问题,对我们开发者来说是无感知的,下面具体分析一下spring是如何解决bean之间循环依赖,为什么要使用到三级缓存,而不是二级缓存bean生命周期首先大家需要了解一下bean在spring中

  • 全方位带你掌握 Ref、Reactive,开启 Vue3 响应式的大门

    不知道大家使用Vue3的时候有没有这样的疑惑,“ref、rective都能创建一个响应式对象,我该如何选择?”,“为什么响应式对象解构之后就失去了响应式?应该如何处理?”今天咱们就来全面盘点一下ref、reactive,相信看完所有响应式问题都会迎刃而解,一起学起来吧!reactive()基本用法在

  • 大规模可扩展的地理图形分析:InfiniteGraph和Uber的六边形层次空间索引

    译者 |李睿审校 |孙淑娟许多企业发现了图形数据库在解决连接数据的复杂问题方面提供的巨大价值。在关系数据库关注数据模型中的数据时,它们很难从同一数据模型中的数据项之间的关系中获取价值。而图形数据库旨在从数据模型中的数据和关系中获取价值。当需要捕获和分析的图形数据包含地理元素时会发

  • 彻底理解JavaScript中的类型转换

    1、什么是类型转换?Javascript是一种弱类型语言,这意味着变量是没有明确类型的,而是由JavaScript引擎在编译时隐式完成。类型转换就是将一种数据类型转换为另一种数据类型,例如:复制20+"twenty"//"20twenty""10"*"10"//1002-"x"1.2.3.Javas

  • 如何在 TienChin 项目中自定义权限表达式

    1.SpEL回顾在SpringSecurity中,@PreAuthorize、@PostAuthorize等注解都是支持SpEL表达式的。在SpEL表达式中,如果上来就直接写要执行的方法名,那么就说明这个方法是RootObject对象中的方法,如果要执行其他对象的方法,那么还需要写上对象的名字,例如

  • 快醒醒,带你穿过原型和原型链的迷雾

    1.写在前面我们知道在面向对象编程的语言中,有一句统筹全局的中心句--”万物皆对象“,原型和原型链也是基于这个基础理解的。对于初学js的继承机制--”原型“和”原型链“这两个概念的理论时,总是忘了记、记了忘。所以死记硬背真的是没得用的,得深入理解其背后的设计思想,得理解加记忆,如虎添翼。至于为什么这

  • 11个值得掌握的Java代码性能优化技巧

    1.避免方法过长我们在定义一个方式的时候,应该考虑到一个方法不应该太长,它就应该是专门是来执行单一功能的。这样其实对维护和性能都有好处。一方面,从维护角度来说,适当长度的方法易读性更强,更容易理解;另一方面,在类的加载和方法调用的过程中,方法会被加载到内存中。如果一个方法太大,处理起来就需要消耗额外

  • 领域驱动编程,代码怎么写?

    一、前言相较于大家熟练使用的MVC分层架构,领域驱动设计更适用于复杂业务系统和需要持续迭代的软件系统的架构模型。关于领域驱动设计的概念及优势,可以参考的文献非常多,大多数的同学都看过相关的书籍,所以本文不讨论领域驱动概念层面的东西,而是试图从编程实践的层面,对领域驱动开发做一些简单的介绍。加入阿里健

  • 「查缺补漏」,DDD 核心概念梳理

    一、概述DDD是什么,DDD的英文全称是Domain-DrivenDesign,翻译过来就是领域驱动设计。这种设计一般是用在微服务的系统中,当我们聊微服务的时候,争论最多的就是如何进行微服务的拆分,这也是最让人产生争议的地方。当我们聊微服务也必然会会聊到中台,中台又是什么呢?中台中台从2015年提出

  • Spring 为何需要三级缓存解决循环依赖,而不是二级缓存?

    前言在使用spring框架的日常开发中,bean之间的循环依赖太频繁了,spring已经帮我们去解决循环依赖问题,对我们开发者来说是无感知的,下面具体分析一下spring是如何解决bean之间循环依赖,为什么要使用到三级缓存,而不是二级缓存?bean生命周期首先大家需要了解一下bean在spring

  • G1 面向服务端(多CPU)应用的垃圾回收器

    总则:首先收集尽可能多的垃圾(GarbageFirst)一定程度上,可以理解为是CMS在全局不分区的一种改进。G1并不会等内存耗尽(串行、并行)或者快耗尽(CMS)的时候开始垃圾收集,而是在内部采用了启发式算法,在老年代找出具有高收集收益的分区进行收集。特点:并发与并行:G1能充分的利用多CPU,多

  • 简单是Python编程的第一要则

     本文是Python之禅特别系列的第二篇,我们将要关注其中第三与第四条原则:简单与复杂。Ilsemblequelaperfectionsoitatteintenonquandiln'yaplusrienàajouter,maisquandiln'yplusrienàretrancher.I

  • 代码详解:使用JavaScript进行面向对象编程的指南

     一切都从对象开始。对象,即我们相互交流的一个载体,有其属性和方法。对象是面向对象编程的核心,不仅用于JavaScript,而且还适用于Java、C语言、C++等。不再考虑单个变量和函数,而选择自给型的对象。以下是在讨论面向对象编程(OOP)时最常用到的概念:对象,属性,方法类封装抽象复用

  • 理解软件设计模式

     设计模式可以帮助消除冗余代码。学习如何利用Java使用单例模式、工厂模式和观察者模式。如果你是一名正在致力于计算机科学或者相关学科的程序员或者学生,很快,你将会遇到一条术语“软件设计模式softwaredesignpattern”。根据维基百科,“软件设计模式是在平常的软件设计工作中所遭

  • 实用Javascript调试技巧分享

    见过太多同学调试Javascript只会用简单的console.log甚至alert,看着真为他们捉鸡。。因为大多数同学追求优雅而高效地写代码,却忽略了如何优雅而高效地调试代码,不得不说是有点“偏科”了。下面我就分享一些实用且聪明的调试技巧,希望能让大家调试自己代码的时候更加从容自信。1.不要使用a

推荐阅读