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

  • 重温设计模式系列 --- 完整精华篇

    合集-设计模式(25)1.重温设计模式系列---完整精华篇07-122.设计原则---SOLID07-123.重温设计模式---抽象工厂模式07-094.重温设计模式---工厂方法模式07-095.重温设计模式---单例模式07-096.重温设计模式---建造者模式07-097.重温设计模式---原

  • 【jvm系列-09】垃圾回收底层原理和算法以及JProfiler的基本使用

    JVM系列整体栏目内容链接地址【一】初识虚拟机与java虚拟机https://blog.csdn.net/zhenghuishengq/article/details/129544460【二】jvm的类加载子系统以及jclasslib的基本使用https://blog.csdn.net/zhengh

  • 一篇文章带你了解设计模式——创建者模式

    一篇文章带你了解设计模式——创建者模式在之前的文章中我们已经学习了设计模式的基本原则和基本分类下面我们来介绍第一种设计模式,创建型模式的主要关注点是怎样创建对象,它的主要特点是“将对象的创建与使用分离”。下面我们将从下面四个方面讲述五种创建者模式:单例模式工厂模式原型模式建造者模式单例模式首先我们来

  • 初识设计模式 - 享元模式

    简介古代的活字印刷术就有点像享元模式,活字印刷就是将每个字模做出来,再印刷时再选取需要的字模到印刷板上,这样就构成了一页书的印刷板。这样的活字印刷大大提升了效率,减少了印刷板的空间。在享元模式中,存储共享实例对象的地方称为享元池(FlyweightPool)。类比到上述的活字印刷术中,放置字模的地方

  • 经典设计原则

    经典设计原则除了SOLID之外,常见的还包括KISS、YAGNI、DRY、LOD、CRP等几种:KISS(KeepItSimple&Stupid,尽量保持简单)YAGNI(YouAin'tGonnaNeedIt,你不会需要它)DRY(Don'tRepeatYourself,不要重复自己)LO

  • 学习笔记——Servlet底层源码分析;Servlet接口;ServletConfig接口;

    2023-01-17 一、Servlet底层源码分析1、Servlet结构图   说明:HttpServlet继承了GenericServlet类,GenericServlet实现了“ServletConfig”和“Servlet”两个接口,因此所以要实现一个

  • V8 内存管理(垃圾回收机制)

    V8内存管理(垃圾回收机制)V8也会申请内存,申请的内存又会分为堆内存和栈内存1.1栈栈用于存放JS中的基本类型和引用类型指针栈的空间是连续的,增加删除只需要移动指针,操作速度非常快栈的空间是有限的,当栈满了,就会抛出一个错误栈一般是在执行函数时创建的,在函数执行完毕后,栈就会被销毁1.2堆堆主要用

  • GC耗时高,原因竟是服务流量小?

    简介最近,我们系统配置了GC耗时的监控,但配置上之后,系统会偶尔出现GC耗时大于1s的报警,排查花了一些力气,故在这里分享下。发现问题我们系统分多个环境部署,出现GC长耗时的是俄罗斯环境,其它环境没有这个问题,这里比较奇怪的是,俄罗斯环境是流量最低的一个环境,而且大多数GC长耗时发生在深夜。发现报警

  • 如何排查网页在哪里发生了内存泄漏?

    大家好,我是前端西瓜哥。今天我们来学习用devtool的Performance和Memory工具来找出网页哪里发生了内存泄漏。Performace面板首先我们打开浏览器的devtool,选择Performance(性能)面板,然后将Memory选项勾选上。不勾选的话,就不会记录内存使用情况,内存泄漏

  • 聊聊Java对象栈上分配

    通过对象的分配过程分析,除了堆以外,还有两个地方可以存放对象:栈和TLAB(ThreadLocalAllocationBuffer)。Java对象分配流程图:如果开启栈上分配,JVM会先进行栈上分配,如果没有开启栈上分配或则不符合条件的则会进行TLAB分配,如果TLAB分配不成功,再尝试在eden区

  • 15 个你应该知道的JavaScript 对象基础知识

    1.对象字面量是创建对象的最简单方式创建对象的最简单方法是使用对象字面量。我们在花括号{}中定义了一组属性,用逗号分隔。下面是一个例子。复制constgame={name:'Fornite',developer:'EpicGames'};1.2.3.4.前一个对象有两个属性。第一个属性具有键名和值F

  • 代码简洁之道:对象转换神器MapStruct

    ​前言在我们日常开发的程序中,为了各层之间解耦,一般会定义不同的对象用来在不同层之间传递数据,比如xxxDTO、xxxVO、xxxQO,当在不同层之间传输数据时,不可避免地经常需要将这些对象进行相互转换。今天给大家介绍一个对象转换工具MapStruct,代码简洁安全、性能高,强烈推荐。MapStru

  • 源码深度解析,Spring 如何解决循环依赖?

    大家好,我是楼仔!之前有粉丝问我“楼哥,你的文章怎么没有研究源码方面的呢?我对这块还挺感兴趣的”。其实我不太喜欢研究源码,热衷理论和实操,不过后来想了想,我已经写了很多系列文章,也可以出一个源码系列,满足不同粉丝的要求,那就拿Spring开刀吧。Spring如何解决循环依赖,网上的资料很多,但是感觉

  • 面试官问我JVM的GC分代收集算法为什么这么设计

    最近阿粉的小学妹,给阿粉留言,说面试官不按套路出牌,问JVM的相关知识的时候,不问有什么GC算法,而是问我为什么这么设计,让学妹很懵圈,阿粉就差给小学妹的脑壳敲破了,面试官这么问,只是考验你,知其然,知其所以然么?今天阿粉就来简单的说说这个。JVM的垃圾回收机制我们先来说说这个回收机制的算法都有哪些

  • JavaScript 新增两个原始数据类型

    基础写法复制//RecordsconstmyRecord=#{name:'01',age:23}//TupleconstmyTuple=#['1','2','3']1.2.3.4.5.6.7.其实就是在原先的对象和数组前面加了个#可读特性Record和Tuple的语法跟对象和数组是一样的,所以?复制

  • Spring系列:聊聊 @Scope 注解用法,你会了吗?

    今天给大家分享Spring中@Scope注解的用法,希望对大家能有所帮助!1.@Scope定义以及作用@Scope注解主要作用是调节Ioc容器中的作用域,在SpringIoC容器中主要有以下五种作用域:基本作用域:singleton(单例)、prototype(多例);Web作用域(reqeust、

  • 科普文:常见垃圾回收算法与 JS GC 原理

    一、前言在程序运行过程中,几乎每时每刻都在为进程分配新的内存,但计算机的内存空间总是有限的,内存空间总有被占满的时候,所以我们需要进行「垃圾数据回收」,以释放内存空间。不同的编程语言会有着不一样的垃圾回收策略,通常情况下,可以分为「手动回收」和「自动回收」两种。比如,C/C++就是使用「手动回收」策

  • 用C语言怎样实现面向对象思想?

    1,基本信息众所周知,C语言是结构化和模块化,面向过程的编程语言,在这里用户创建过程或函数来执行他们的任务。面向过程的语言是很容易学,因为它遵循的算法来执行你的语句。要使用面向过程的语言开发程序,你需要画/编写算法,然后开始转换成程序或功能。因为C语言的面向过程的语言特性。在处理较小规模的程序时,程

  • Java 五大框架之间的对比

     Spring及其优点大部分项目都少不了spring的身影,为什么大家对他如此青睐,而且对他的追捧丝毫没有减退之势呢?Spring是什么:Spring是一个轻量级的DI和AOP容器框架。说它轻量级有一大部分原因是相对与EJB的(虽然本人从没有接触过EJB的应用),重要的是,Spring是非

  • 如何设计一个 RPC 系统

    RPC是一种方便的网络通信编程模型,由于和编程语言的高度结合,大大减少了处理网络数据的复杂度,让代码可读性也有可观的提高。但是RPC本身的构成却比较复杂,由于受到编程语言、网络模型、使用习惯的约束,有大量的妥协和取舍之处。本文就是通过分析几种流行的RPC实现案例,提供大家在设计RPC系统时的参考。由

推荐阅读