对 Node.js 事件驱动模型的深入理解

2022-09-23
阅读 2 分钟
817
本文主要讨论以下问题:1.Node.js 的事件驱动模型分析2.Node.js 如何处理高并发请求?3.Node.js 的缺点介绍先简单介绍一下 Node.js,Node.js 是基于事件驱动、非阻塞 I/O 模型的服务器端 JavaScript 运行环境,是基于 Google 的 V8 引擎在服务器端运行的单线程、高性能的 JavaScript 语言。一、Node.js 事件驱动模型分析...

javascript 中搜索数组的四种方法

2022-05-17
阅读 4 分钟
1.1k
前端经常要通过 javaScript 来处理数组中的数据,其中就包括检查数组中是否包含满足特定搜索条件的单个或者多个值,这就需要我们关于用于确认的布尔值、数组中值得位置索引或包含所有搜索结果的单独数组等。

JavaScript class类的基本使用方法你知道吗

2022-05-07
阅读 2 分钟
1k
JavaScript 语言中,生成实例对象的传统方法是通过构造函数 {代码...} 上面代码表明,类的数据类型就是函数,类本身就指向构造函数使用的时候,也是直接对类使用new命令,跟构造函数的用法完全一致。类的实例对象 {代码...} 构造函数的prototype属性,在 ES6 的“类”上面继续存在。事实上,类的所有方法都定义在类的proto...

单线程的 JavaScript 是怎么实现异步的?

2022-04-06
阅读 2 分钟
1k
上面这个例子,执行结果会首先全部输出first,然后全部输出second,而不是交替执行在这个过程中,很明显发生了并发的异步任务,那么问题来了,单线程的JavaScript是怎么实现异步的?

JavaScript 引擎是如何实现 async/await 的

2022-03-28
阅读 6 分钟
1.3k
前言我们都知道Promise 能很好地解决回调地狱的问题,但是这种方式充满了 Promise 的 then() 方法,如果处理流程比较复杂的话,那么整段代码将充斥着 then,语义化不明显,代码不能很好地表示执行流程,使用 promise.then 也是相当复杂,虽然整个请求流程已经线性化了,但是代码里面包含了大量的 then 函数,使得代码依...

用Java实现线段树

2022-01-22
阅读 6 分钟
2k
一般来说,线段树是不会加节点的,也不支持动态添加节点。线段树也是二叉树的一种,不过它的节点是以一个区间来定义节点的。具有一个单一区间的就是叶子节点。所以线段树,本质上就是一棵区间树。​

Java实现创建Zip压缩包并写入文件

2022-01-14
阅读 3 分钟
2.4k
前言工作中需要把一些数据放到一个zip的压缩包中,可以使用 ZipOutputStream。ZipOutputStream可以将内容直接写入到zip包中。一般创建ZipOutputStream通常是先封装一个FileOutputStream,然后在每写入一个文件之前,需要先调用一次putNextEntry,然后使用write写入byte[]类型的数据,当写入完毕的时候使用colseEntry来结...

Spring 如何解决循环依赖问题?

2022-01-04
阅读 6 分钟
1.1k
在关于Spring的面试中,我们经常会被问到一个问题,就是Spring是如何解决循环依赖的问题的。这个问题算是关于Spring的一个高频面试题,因为如果不刻意研读,相信即使读过源码,面试者也不一定能够一下子思考出个中奥秘。本文主要针对这个问题,从源码的角度对其实现原理进行讲解。1、过程演示关于Spring bean的创建,其...

Spring 的 BeanFactory 和 FactoryBean 傻傻分不清?

2022-01-01
阅读 12 分钟
1.2k
BeanFactory和FactoryBean的区别BeanFactory是接口,提供了OC容器最基本的形式,给具体的IOC容器的实现提供了规范,FactoryBean也是接口,为IOC容器中Bean的实现提供了更加灵活的方式,FactoryBean在IOC容器的基础上给Bean的实现加上了一个简单工厂模式和装饰模式(如果想了解装饰模式参考:修饰者模式(装饰者模式,Decor...

不用任何框架,Java 就能实现定时任务的 3 种方法!

2021-12-30
阅读 3 分钟
1.1k
是的,不用任何框架,用我们朴素的 Java 编程语言就能实现定时任务。今天,栈长就介绍 3 种实现方法,教你如何使用 JDK 实现定时任务!1、 sleep这也是我们最常用的 sleep 休眠大法,不只是当作休眠用,我们还可以利用它很轻松的能实现一个简单的定时任务。实现逻辑:新开一个线程,添加一个 for/ while 死循环,然后在...

你只会用 split?试试 StringTokenizer,性能可以快 4 倍!!

2021-12-29
阅读 4 分钟
1.3k
StringTokenizer 被废弃了吗?栈长翻阅了一些资料,原来在 Oracle JDK 官方文档中已经有了描述,这是最新的 Oracle JDK 15 的官方文档关于 StringTokenizer 的说明:

Java 必看的 Spring 知识汇总!

2021-12-28
阅读 9 分钟
929
Spring框架是由于软件开发的复杂性而创建的。Spring使用的是基本的JavaBean来完成以前只可能由EJB完成的事情。然而,Spring的用途不仅仅限于服务器端的开发。从简单性、可测试性和松耦合性的角度而言,绝大部分Java应用都可以从Spring中受益。

Spring Boot 最核心的 25 个注解,都是干货!

2021-12-27
阅读 3 分钟
1.1k
这是 Spring Boot 最最最核心的注解,用在 Spring Boot 主类上,标识这是一个 Spring Boot 应用,用来开启 Spring Boot 的各项能力。

注意:字符串substring方法在jkd6,7,8中的差异

2021-12-25
阅读 2 分钟
1.2k
标题中的substring方法指的是字符串的substring(int beginIndex, int endIndex)方法,这个方法在jdk6,7是有差异的。

Java 中的 xx ≠ null 是什么新语法?

2021-12-24
阅读 2 分钟
1.4k
奇怪的不等于(≠)最近,栈长用 IntelliJ IDEA 看源码时发现:咦~这是什么鬼?Java 不等于的写法不是一直都是 != 么?什么时候可以写 ≠ 了??不科学啊~以为我是老花眼了,认真看了几遍,觉得应该是 IDEA 的特效吧,然后去点那个符号,发现也还原不了原样。。。然后互联网网冲浪了一翻,终于被我找到了这个开关:Prefere...

20个提升效率的JS简写技巧

2021-12-22
阅读 4 分钟
794
//Shorthandlet [a, b, c] = [5, 8, 12];复制代码巧用三元运算符简化if else//Longhand let marks = 26; let result; if (marks >= 30) { result = 'Pass'; } else { result = 'Fail'; }

精读《高效 javascript》

2021-11-29
阅读 5 分钟
1.1k
前言本期我来给大家推荐的书是《高性能JavaScript》,在这本书中我们能够了解 javascript 开发过程中的性能瓶颈,如何提升各方面的性能,包括代码的加载、运行、DOM交互、页面生存周期等。同样我们今天还是用思维导图的方式来精读一遍。(思维导图图片可能有点小,记得点开看,你会有所收获)

Js 异步处理演进,Callback=>Promise=>Observer

2021-11-26
阅读 5 分钟
1.4k
对于 JavaScript 异步的理解,不少人感到过困惑:Js 是单线程的,如何做到异步的呢?实际上,Js 引擎通过混用 2 种内存数据结构:栈和队列,来实现的。栈与队列的交互也就是大家所熟知的 Js 事件循环~~

初识Java反射概念和使用

2021-11-09
阅读 4 分钟
933
前言  大家好,瑞雪后的第一天,每个周一的大家都期待这周五的来临。相信很多小伙伴上周末就两件事,赏雪和看EDG。哈哈 开始正题吧,今天聊一聊反射吧,在java中经常使用。

Java 中 List 分片的 5 种方法!

2021-11-08
阅读 5 分钟
1.1k
前些天在实现 MyBatis 批量插入时遇到了一个问题,当批量插入的数据量比较大时,会导致程序执行报错,如下图所示: 原因是 MySQL 只能执行一定长度的 SQL 语句,但当插入的数据量较多时,会生成一条很长的 SQL,这样程序在执行时就会报错。 ​

18 个杀手级 JavaScript 单行代码

2021-10-29
阅读 3 分钟
1.3k
1、复制到剪贴板使用 navigator.clipboard.writeText 轻松将任何文本复制到剪贴板。 {代码...} 2、检查日期是否有效使用以下代码段检查给定日期是否有效。 {代码...} 3、找出一年中的哪一天查找给定日期的哪一天。 {代码...} 4、将首字符串大写Javascript 没有内置的大写函数,因此我们可以使用以下代码。 {代码...} 5、...

JavaScript浅析 -- 类型转换和比较

2021-10-27
阅读 4 分钟
1.1k
console.log('' == 1); // falseconsole.log(' ' == 1); // falseconsole.log(true == 1); // trueconsole.log(true == '1'); // trueconsole.log(true == '2'); // falseconsole.log(' ' == true); // false

PlanningSolution类讲解

2021-10-26
阅读 6 分钟
1.1k
内容概要通过这篇文章,我们来学习将ProblemFact、PlanningEntity连接在一起以及负责与OptaPlanner交互的Solution类。

有了for循环 为什么还要forEach?

2021-10-25
阅读 6 分钟
4.6k
js中那么多循环,for for...in for...of forEach,有些循环感觉上是大同小异今天我们讨论下for循环和forEach的差异。我们从几个维度展开讨论:

JS常用小技巧让你的代码更简洁

2021-10-13
阅读 4 分钟
1.4k
}//上面的方法可以简写成this.flag = (id === 'xxxxxx') ? true : false复制代码2、判断空值,null,nudefined有时候,我们会需要判断某个值是否为空,方便我们来处理下一步;或者检查输入的值是否为空值。

TP6+Swoole4 反向代理配置

2021-09-10
阅读 3 分钟
1.7k
Nginx反向代理配置首先配置反向代理前已经要把之前配置过的伪静态删除掉,不然保存的时候报错以下是反向代理的完整配置,请注意其中的端口号[8000]当前这个端口号就是config\swoole.php文件中的server.port配置中的端口号location ~* .(php|jsp|cgi|asp|aspx)${

JS数组方法shift()、unshift()用法实例分析

2021-09-08
阅读 2 分钟
2.2k
unshift() 方法将把它的参数插入 arrayObject 的头部,并将已经存在的元素顺次地移到较高的下标处,以便留出空间。该方法的第一个参数将成为数组的新元素 0,如果还有第二个参数,它将成为新的元素1,以此类推。

这个 Redis 连接池的新监控方式针不戳~我再加一点佐料

2021-08-12
阅读 9 分钟
1.4k
Lettuce 是一个 Redis 连接池,和 Jedis 不一样的是,Lettuce 是主要基于 Netty 以及 ProjectReactor 实现的异步连接池。由于基于 ProjectReactor,所以可以直接用于 spring-webflux 的异步项目,当然,也提供了同步接口。

crmeb 单商户java版系统后台一键切换主题颜色

2021-07-28
阅读 2 分钟
1.3k
Hello 你好,我还是你熟悉的大粽子哈寒暄&絮叨这几天好几位同学问我,公号砸没更新呢?我在静悄悄必定会憋大招。哈哈哈 笑笑就行哈!下面就是我这段时间在忙的一部分内容一个成熟的商城,必定是全能的,啥都能卖,那么一套UI肯定是搞不定的。但UI模板多了也就更难维护了,有没有更简单的方式呢?看下文。一键换色是...

crmeb java版单商户商城开发规范

2021-07-22
阅读 2 分钟
1.3k
目录和文件目录使用小写+下划线;.类库、函数文件统一以.php为后缀;类的文件名均以命名空间定义,并且命名空间的路径和类库文件所在路径一致;类文件采用驼峰法命名(首字母大写),其它文件采用小写+下划线命名;类名和类文件名保持一致,统一采用驼峰法命名(首字母大写);函数和类、属性命名类的命名采用大驼峰法(...