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

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

    简介代理模式(ProxyPattern)是一种结构型设计模式,用一个类来代理另一个类或几个类的功能。在代理模式中,我们创建具有现有对象的对象,以便向外界提供功能接口。延迟初始化(虚拟代理)。如果你有一个偶尔使用的重量级服务对象,一直保持该对象运行会消耗系统资源时,可使用代理模式。访问控制(保护代理)

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

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

  • 第一百一十八篇: JavaScript 原型链式继承

    好家伙,好家伙,本篇为《JS高级程序设计》第八章“对象、类与面向对象编程”学习笔记 1.原型链原型链是JS实现"继承"的方案之一ECMA-262把原型链定义为ECMAScript的主要继承方式。其基本思想就是通过原型继承多个引用类型的属性和方法。重温一下构造函数、原型和实例的关系:每个构造

  • iOS 单元测试之常用框架 OCMock 详解

    单元测试01单元测试的必要性测试驱动开发并不是一个很新鲜的概念了。在日常开发中,很多时候需要测试,但是这种输出是必须在点击一系列按钮之后才能在屏幕上显示出来的东西。测试的时候,往往是用模拟器一次一次的从头开始启动app,然后定位到自己所在模块的程序,做一系列的点击操作,然后查看结果是否符合自己预期。

  • 从字节码到GC那些你应该知道的Java虚拟机

    1、引言JVM,即JavaVirtualMachine。Java虚拟机(JVM)是可运行Java代码的假想计算机。只要根据JVM规格描述将解释器移植到特定的计算机上,就能保证经过编译的任何Java代码能够在该系统上运行。一个完整的JVM包含的知识体系是很庞大的,例如下面的每一个章节包含的知识点完全可

  • Python面向对象编程-初级篇

    前言面向对象:采用基于对象(实体)的概念建立模型,模拟客观世界分析、设计、实现软件的办法。面向对象编程(Object-orientedProgramming,简称OOP)是一种解决软件复用的设计和编程方法,把软件系统中相近相似的操作逻辑和操作应用数据、状态,以类的形式描述出来,以对象实例的形式在软件

  • Stream的分类,执行流程和各种创建方式

    本文章为系列文章,上一篇《​​Stream案例体验​​》通过丰富的案例感受了Stream的便利,本篇主要讲解:Stream的运行流程,结合本篇和上一篇案例体会Stream的创建方式Stream的操作分类串行流和并行流区别Stream运行流程这里通过一个运费案例,通过 【代码实现】&nbsp

  • 「lambda表达式」函数式接口、方法引用与构造器引用

    函数式接口Java中已经有很多封装代码块的接口,如ActionListener或Comparator。lambda表达式与这些接口是兼容的。对于只有一个抽象方法的接口,需要这种接口的对象时,就可以提供一个lambda表达式。这种接口称为函数式接口(functionalinterface)。为什么函数

  • 从SpringBoot启动,阅读源码设计

    一、背景说明初学SpringBoot框架时,第一次启动服务,直呼什么鬼?只需要简单的几步配置,几个核心的注解,就可以快速实现工程的搭建和运行;虽然从Spring框架迁移到SpringBoot框架,在初期会有很多的不适应,但是更好用的框架会快速得到认可,从而成为主流的技术选型;对于大多数的框架或者组件

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

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

  • 40 个 SpringBoot 常用注解:让生产力爆表!

    企业开发项目SpringBoot已经是必备框架了,其中注解是开发中的小工具(随处可见哦),用好了开发效率大大提升,当然用错了也会引入缺陷。一、SpringWebMVC与SpringBean注解SpringWebMVC注解@RequestMapping@RequestMapping注解的主要用途是将W

  • 盘点66个Pandas函数,轻松搞定“数据清洗”!

    Pandas是基于NumPy的一种工具,该工具是为解决数据分析任务而创建的。它提供了大量能使我们快速便捷地处理数据的函数和方法。数据预览对于探索性数据分析来说,做数据分析前需要先看一下数据的总体概况。​​info()​​方法用来查看数据集信息,​​describe()​​方法将返回描述性统计信息,这

  • 面试突击:如何使用线程池执行定时任务?

    在Java语言中,有两个线程池可以执行定时任务:ScheduledThreadPool和SingleThreadScheduledExecutor,其中SingleThreadScheduledExecutor可以看做是ScheduledThreadPool的单线程版本,它的用法和Scheduled

  • SpringBoot 启动时实现自动执行代码的几种方式

    SpringBoot启动时实现自动执行代码的几种方式前言java自身的启动时加载方式Spring启动时加载方式代码测试总结前言目前开发的SpringBoot项目在启动的时候需要预加载一些资源。而如何实现启动过程中执行代码,或启动成功后执行,是有很多种方式可以选择,我们可以在static代码块中实现,

  • 关于 Promise 的执行顺序

    最近看到一个Promise相关的很有意思的代码:复制newPromise((resolve)=>{console.log(1)resolve()}).then(()=>{newPromise((resolve)=>{console.log(2)resolve()}).then(()

  • 阿里二面:挂在main方法继承上?

    问题一:包装类的缓存还记得不?我们来看一下包装类相关的比较,看下下面的代码,最终将打印什么呢? 复制public static void main(String[] args) {     

  • 优雅整洁的 Java 代码命名技巧,风之极·净化

    合格的程序员不仅仅是让代码跑起来,而是要做到代码整洁,只满足为了能让编译器通过编译,机器能跑就行而写代码的程序会算不上开发者,码农都不算。好的命名能体现出代码的特征,含义或者是用途,让阅读者可以根据名称的含义快速厘清程序的脉络。本篇分享如下代码命名套路来提高我们代码命名:勿模糊,准确达意避免误导做有

  • 看完这几道 JavaScript 面试题,让你与考官对答如流(中)

    接上篇《看完这几道JavaScript面试题,让你与考官对答如流(上)》26.什么是IIFE,它的用途是什么?IIFE或立即调用的函数表达式是在创建或声明后将被调用或执行的函数。创建IIFE的语法是,将function(){}包裹在在括号()内,然后再用另一个括号()调用它,如:(function(

  • 线程、多线程和线程池,我终于把这些全部搞懂了

     1、开启线程的三种方式?1)继承Thread类,重写run()方法,在run()方法体中编写要完成的任务newThread().start();2)实现Runnable接口,实现run()方法newThread(newMyRunnable()).start();3)实现Callable接

  • Java性能优化的50个细节(珍藏版)

     在JAVA程序中,性能问题的大部分原因并不在于JAVA语言,而是程序本身。养成良好的编码习惯非常重要,能够显著地提升程序性能。1.尽量在合适的场合使用单例使用单例可以减轻加载的负担,缩短加载的时间,提高加载的效率,但并不是所有地方都适用于单例,简单来说,单例主要适用于以下三个方面:***

推荐阅读