JavaScript类数组
为什么有/用类数组(类数组的起源)类数组如何存储数据ps: 希望能带点相关链接或书籍回答确切的说 JS 里根本就没数组,都是 Object。JS 里的数组并不像其他语言中,是开辟一段连续的内存空间,按顺序存储。而 JS 里所谓的数组,其实是一个类似于字典的结构,所谓的数组下标就是 Key,其值就是 V...
2020-08-12JavaScript 关于函数柯里化
function curry(func){let args=[].slice.call(arguments,1)let func_length=func.lengthreturn function(){let newArgs = args.concat([].slice.call(arguments));if(newArgs.length<func_length){return curry.call(this,func,...newArgs)}return func.apply(this,newArgs)}...
2020-08-13JavaScript数组求和的常用方法
JS数组求和的常用方法。一、for循环var arr = [1,2,3];function sum(arr) {var s = 0;for (var i = 0;i<arr.length;i++) {s += arr[i];}return s;}console.log(sum(arr));//6二、forEach遍历var arr = [1,2,3];function sum(arr) {var s = 0;arr.forEach(function(val, idx, arr) {s += val;}, 0...
2020-08-09JavaScript中的while循环
在 JavaScript 语言中,当我们使用 while 循环时,只要指定条件为 true,循环就可以一直执行。并且只要条件一直满足,就可以实现一个无限循环,例如:while(true){console.log("1");}执行这个循环,就会无止境的输出1。while 语法及其使用语法如下所示:while (condition) {// 要执行的代码块}condition 是循环的...
2020-08-10浅析 JavaScript 中的事件委托
为什么要进行事件委托?首先实现一个小功能:在单击 HTML 的按钮后,把消息输出到控制台。为了实现这个小功能,你需要选择按钮,然后再用 addEventListener() 方法来附加事件监听器:<button id="buttonId">Click me</button><script>document.getElementById('buttonId').addEventListener('click', () => console.log('Clicked!'));</script>...
2020-08-102019年的6个JavaScript用户认证库
“两周内给我建一个用户认证系统”是现在研发团队中常见的一句话。由于种种原因,这个任务一直是留给团队中的一个开发人员去解决的。一方面,你确实不想浪费很多时间。另一方面,你担心这种信息可能最好由自己内部编写的服务来处理,以便以后更好的扩展。随着网络上出现新的教程(是一...
2020-08-08JavaScript 两个对象大小比较的机制?
偶然见看到的一个关于类型转换的题目:对象 ab 是两个字面量函数,在进行比较的时候,可以发现大小和相等的比较结果都是 falsevar a = {b: 42};var b = {b: 43};a < b; //falsea == b; //falsea > b; //falsea <= b; //truea >= b; //true 在这个过程之,a 和 b 比较的时候,到底比较的是什么?为什么 <=> 三个运算符都是 false...
2020-08-09Java多线程 CompletionService
目录1 CompletionService介绍2 CompletionService源码分析3 CompletionService实现任务4 CompletionService总结1 CompletionService介绍CompletionService用于提交一组Callable任务,其take方法返回已完成的一个Callable任务对应的Future对象。如果你向Executor提交了一个批处理任务,并且希望在它们完成后获得结果。为此你可以将每个任...
2022-01-23Java String类的性质与比较
目录1.什么是String?2.String类的构造方法3.String类的性质4.String之间的相互比较1.什么是String?首先,初学者一定要知道String是一个类,它是字符串类型,但它不属于基本数据类。 所谓字符串类型,意思就好比将字符(也就是char类型)像烤串一样串起来,列如' a '和' b '拼接起来变成"ab"(注意字符串使用...
2022-01-24详细解读Java Spring AOP
一、对AOP的初印象首先先给出一段比较专业的术语(来自百度):在软件业,AOP为Aspect Oriented Programming的缩写,意为:面向切面编程,通过预编译方式和运行期动态代理实现程序功能的统一维护的一种技术。AOP是OOP的延续,是软件开发中的一个热点,也是Spring框架中的一个重要内容,是函数式编程的...
2022-01-20详解Java中String类的各种用法
目录一、创建字符串二、字符、字节与字符串的转换1.字符与字符串的转换2.字节与字符串的转换三、字符串的比较1.字符串常量池2.字符串内容比较四、字符串查找五、字符串替换六、字符串拆分七、字符串截取八、String类中其它的常用方法九、StringBuffer 和 StringBuilder1.StringBuilder与StringBuffer的区别2.Strin...
2022-01-21Java中的Pair详细
目录1 Pair用法2 Pair源码3 ImmutablePair源码4 MutablePair源码5 疑问?前言:Java中的Pair在开发的过程中,无意中发现项目中有用到Pair,对于我之前从来没有遇到过这个东西,觉得这个东西挺有意思,所以就记录下。在我们写代码的时候,肯定会遇到要返回两个值,但是这两个值都有用到,所以我们一般都会...
2022-01-24JavaScript onclick 函数意外执行两次
有这么一个购物清单小程序。大神可以打开Codepen查看我的代码。[Codepen](https://codepen.io/vincentyolo/pen/LYNEodr?editors=1112)我想添加一个X的按钮,当用户点击x就删除那一项。 我的删除的函数是通过给所有的X按钮一个。给有".del_btn"的类名(class)的X按钮添加 用splice方法删除用户选中的那一项内容 的函数。 ...
2020-08-09关于Java虚拟机HotSpot
我们写的主类中的main()方法是如何被Java虚拟机调用到的?在Java类中的一些方法会被由C/C++编写的HotSpot虚拟机的C/C++函数调用,不过由于Java方法与C/C++函数的调用约定不同,所以并不能直接调用,需要JavaCalls::call()这个函数辅助调用。(我把由C/C++编写的叫函数,把Java编写的叫方法,后续也会延用这样的...
2022-01-22Java Spring事务的隔离级别详解
目录引言数据库访问的并发性问题事务的隔离级别悲观锁和乐观锁总结引言之前关于事务的文章已介绍了事务的概念以及事务的四个属性(ACID),相信你对事务应该有所认识和了解。本篇文章是关于事务的隔离性,介绍数据库提供的多种隔离级别。数据库访问的并发性问题所谓事务的隔离性,其实...
2022-01-23Java SpringMVC异步处理详解
目录1、本篇内容2、看段代码,分析问题3、springmvc 中异步处理4、模拟非超时请求5、模拟超时请求6、总结1、本篇内容本文让大家掌握 springmvc 中异步处理请求,特别牛逼的一个功能,大家一定要掌握。2、看段代码,分析问题@ResponseBody@RequestMapping("/async/m1.do")public String m1() throws InterruptedException { ...
2022-01-23Java并发编程系列之LockSupport的用法
目录1、什么是LockSupport?2、两类基本API3、LockSupport本质4、LockSupport例子5、LockSupport源码总结1、什么是LockSupport?LockSupport是用于创建锁和其他同步类的基本线程阻塞原语2、两类基本APILockSupport提供了两类最基本的API:block线程类:一般都是以pack开头的方法名,pack*(...)pack方法有两个重载的版本:blocker...
2022-01-21Java实体映射工具MapStruct使用方法详解
目录1.序2.简单用例3.使用详解1)关于接口注解@Mapper几种属性用法详解2) 其他方法级别注解总结1.序通常在后端开发中经常不直接返回实体Entity类,经过处理转换返回前端,前端提交过来的对象也需要经过转换Entity实体才做存储;通常使用的BeanUtils.copyProperties方法也比较粗暴,不仅效率低下(使用反射...
2022-01-22Java与Scala创建List与Map的实现方式
目录Java与Scala创建List与MapJava自定义map与scala map对比1. 背景2. java代码Java与Scala创建List与Map//JavaList<String> languages = new ArrayList<>(); Map<String, Class> mapFields = new HashMap(); //Scala val languages = new util.ArrayList[String] val mapFields=new util.Ha...
2022-01-24Java集合框架之Set和Map详解
目录Set接口HashSetTreeSetMap接口HashMapTreeMapSet接口set接口等同于Collection接口,不过其方法的行为有更严谨的定义。set的add方法不允许增加重复的元素。要适当地定义set的equals方法:只要俩个set包含同样的元素就认为它们是相同的,而不要求这些元素有相同的顺序。hashCode方法的定义要保证包含相同元素的...
2022-01-19Java Spring JdbcTemplate基本使用详解
目录JdbcTemplate概述JdbcTemplate开发步骤JdbcTemplate快速入门Spring产生JdbcTemplate对象JdbcTemplate概述它是spring框架中提供的一个对象,是对原始繁琐的Jdbc API对象的简单封装。spring框架为我们提供了很多的操作模板类。例如:操作关系型数据的JdbcTemplate和HibernateTemplate,操作nosql数据库的RedisTemplate,操作消息队列...
2022-01-23Java 自定义Spring框架与核心功能详解
目录Spring核心功能结构核心容器spring-beans和spring-core模块spring-context模块spring-context-support模块spring-context-indexer模块spring-expression模块AOP和设备支持数据访问与集成Web组件通信报文集成测试bean概述在上一讲中,我们对Spring的基本使用进行了一个简单的回顾,接下来,我们就来看一下Spring核心功能结构。Sp...
2022-01-24Java Apache Shiro安全框架快速开发详解流程
目录一、Shiro简介:shiro功能:Shiro架构(外部)Shiro架构(内部)二、快速入门1.拷贝案例2.分析代码三、SpringBoot 集成 Shiro1.编写测试环境2.使用1.登录拦截2.用户认证四、Shiro整合Mybatis五、实现请求授权六、Shiro整合Thymeleaf一、Shiro简介:Apache Shiro是一个Java的安全(权限)框架。Shiro 可以非常容易的开...
2022-01-23Java计时新姿势StopWatch的使用方法详解
目录一、背景二、spring 用法2.1 初遇2.2 源码2.3 注意事项三、apache 用法四、java 中使用StopWatch来计算时间差五、最后一、背景有时我们在做开发的时候需要记录每个任务执行时间,或者记录一段代码执行时间,最简单的方法就是打印当前时间与执行完时间的差值,一般我们检测某段代码执行的时间,都...
2022-01-18Java基础知识之StringWriter流的使用
目录Java StringWriter流的使用一、StringWriter流定义二、StringWriter流实例域三、StringWriter流构造函数四、StringWriter流方法五、StringWriter流的作用使用StringWriter和StringReader的好处Java StringWriter流的使用一、StringWriter流定义API说明:在字符串缓冲区中收集输出的字符流,可用于构造字符串, 关闭流无效,关闭...
2022-01-19