【面试干货】手写一个冒泡排序算法1、实现思想2、代码实现 ?The Begin?点点关注,收藏不迷路?1、实现思想通过不断比较相邻的元素,并根据大小关系交换它们的位置,直到整个数组排好序为止。2、代码实现package ;
import java.util.Scanner;
public class Sort {
// 冒泡排序算法
public static void bu
什么是promisePromise异步操作详解Promise详细用法1. Promise代码基本结
原创
2022-07-19 20:22:34
73阅读
JSONP由两部分组成:回调函数和数据。回调函数是当响应到来时应该在页面中调用的函数。回调函数的名字一般是在请求中指定的。而数据就是传入回调函数中的JSON数据。
原创
2022-11-23 00:05:58
107阅读
什么是Starter?Starter其实就是我们经常在maven中的导入的各种模块,自定义Starter可以快速的满足开发的需求,并且可以重复使用无需粘贴代码,直接从maven仓库中导入即可。那么我们如何自定义一个Starter呢?这里我们以自动记录接口请求时间为例(自定义Starter的知识点只需看主要部分即可):starter命令规则这段话的大概意思就是,麻烦大家遵守这个命名规范:Srping
原创
2023-12-04 09:50:44
124阅读
缘起jquery 时代,javascript 的模块化只能在 node 端实现,前端页面只能这么写前端复杂页面,引入无尽的脚本前端<script src="./a.js"></script><script src="./b.js"></script><script>console.log('a==>>', a); consol
转载
2021-02-03 10:11:07
281阅读
2评论
自己动手写一个LinkedList,你会发现链表数据结构非常灵活!
原创
2021-07-08 10:09:14
215阅读
手写一个单例模式,Demo,检测需求分析单例介绍一般情况DemoResult单例模式(饿汉式—静态常量方式(线程安全))DemoResult懒汉式(线程不安全)DemoResult懒汉式(加入锁机制)DemoResult双检索单例DemoResult 需求分析面试过后,感觉很久没有好好去回顾下这些设计模式了 今天出一个设计模式专栏来好好回顾下 正好最近也有充足的时间对整个知识体系和框架进行梳理和
/*自定义Promise函数模块: IIFE*/(function (window) { const PENDING = 'pending' const RESOLVED = 'resolved' const REJEutor: 执行器函数(同步执行) */ function Pro...
原创
2022-10-13 16:49:44
51阅读
Promise对象代表一个异步操作,有三种状态:pending(进行中)、fulfilled(已成功)和rejected(已失败)。一旦成功就不允许失败,一旦失败就不允许成功。function Promise(excutor) { let self = this self.status = 'pending' self.value = null self.reason = nu...
原创
2022-11-23 00:06:45
40阅读
const PENDING = "pending"; const RESOLVED = "resolved"; const REJECTED = "rejected"; function MyPromise(fn) { // 保存初始化状态 var self = this; // 初始化状态 thi ...
转载
2021-08-16 16:39:00
94阅读
2评论
JS面向对象 在JS中一切皆对象,但JS并不是一种真正的面向对象(OOP)的语言,因为它缺少类(class)的概念。虽然ES6引入了class和extends,使我们能够轻易地实现类和继承。但JS并不存在真实的类,JS的类是通过函数以及原型链机制模拟的,本小节的就来探究如何在ES5环境下利用函数和原
转载
2020-04-08 09:03:00
121阅读
2评论
线程安全的Java单例模式——如何正确地写出单例模式http://wuchong.me/blog/2014/08/28/how-to-correctly-write-singleton-pattern/ 如何正确地写出单例模式 发表于
分类于 程序设计
|
阅读次数 16949 单例模式算是设计模式中最容易理解,也
开始之前需要掌握CAS原理、类AtomicReference的使用CAS的全称可以是CompareAndSet或者CompareAndSwap总的来说就是再更新值得时候需要判断一些原先值是否是预期值,是则更新,不是则更新失败我们都知道jdk的java.util.concurrent.atomic包下提供了以下原子变量类,例如AtomicBoolean、AtomicInteger、AtomicLong等一系列基本类型的原子变量类,但是有些时候我们希望有一个自定义的来也使用CAS操做,例如自定义User类
原创
2021-08-07 10:04:12
251阅读
对于springboot来说,可以利用一些框架实现rbac,例如spring security等。但是做项目的时候,如果要使用组件,不仅仅需要考虑组件能带给我们什么,而且还要考虑组件里面那些东西是不想要的,以及学习成本等等。现在我们就只需要简单实现一个基于api-页面资源-角色-用户的权限管理系统。先来看看基本的原理。整理所有的页面资源和其依赖的
原创
2022-11-03 10:22:43
196阅读
本文我们手写了一个阻塞队列,队列的数据结构采用数组来实现,通过生产者-消费者模型实现阻塞功能
原创
2021-12-09 14:17:21
507阅读
先来介绍一下什么是splicesplice == Array.prototype.splice如介绍,是数组通用方法以下是介绍定义和用法splice() 方法向/从数组中添加/删除项目,然后返回被删除的项目。注释:该方法会改变原始数组。语法arrayObject.splice(index,howmany,item1,.....,itemX)参数 描述 ...
原创
2021-09-16 10:47:59
400阅读
当应用加了新功能的时候,都会通过这种方式来告诉用户怎么用: 这种组件叫做 OnBoarding 或者 Tour。 在 antd5 也加入了这种组件: 那它由 4
原创
精选
2024-04-13 21:41:20
149阅读
前言前端性能优化是一个老生常谈的话题,关于性能优化的技术文档和书籍都特别多。如果大家想深入学习前端性能优化相关内容,有以下推荐雅虎军规35条某东上搜“前端性能优化”,书籍也特别多。但是前端性能优化做的所有工作,都和一个灵魂拷问有极大的关系:在浏览器输入url后,发生了什么?首先url是一个域名,首先它要被解析成ip地址。如果你的设备之前访问过该url,那么本地可能会缓存ip地址。如果没有缓存过,那
原创
2022-09-28 13:09:09
163阅读
手写一个MyBatis框架MyBatis框架分析手写MyBatis框架ConfigurationSqlSessionMyBatis框架分析MyBatis框架结构图:MyBatis框架组件调用关系图:MyBatis框架运行时序图:手写MyBatis框架根据框架组件调用关系图开发Mybatis框架代码一个组件实体就对应一个实体类Configurationpublic class Configuration { public <T> T getMapper(Cl
原创
2021-05-18 14:41:18
448阅读
现在Promise用的比较频繁了,如果哪天突然不用了,可能逻辑就不好厘清了,回调没的说是一大把 废话不多说,进入正题 Promise这个东西很神奇,用起来舒服,若自己写一下,恐怕还真不简单,关键就一个字“绕”,绕过了也就好了 首先定义结构 class MyPromise { constructor(
转载
2020-09-28 14:07:00
53阅读