自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(44)
  • 收藏
  • 关注

原创 Java数据结构07_伸展树

1、介绍  伸展树与平衡树(AVL树、红黑树)一样,都是对二叉查找树的一种改进数据结构,它的主要特点是不会保证树一直是平衡的,但各种操作的平摊时间复杂度是O(logn),并且相对平衡树而言,伸展树还不要求保留高度或者平衡信息,编码复杂度要小很多;  伸展树是基于这样一个事实:对于二叉查找树而言,每次操作最坏情形时间O(N)并不坏,只要它相对不常发生就行,并且保证对任意M次连续操作最多花费O(Mlogn)运行时间;基于这个事实,伸展树的基本想法是,认为许多应用中当一个节点被访问后,它很可能不久再被访问,所

2020-12-23 20:14:38 155

原创 Java数据结构06_红黑树

介绍  红黑树(Red Black Tree)是一种自平衡的二叉查找树,它和AVL树类似,都是在进行插入和删除操作时通过特定操作保持二叉查找树的平衡,从而获得较高的查找性能,它虽然结构复杂,但是它可在时间复杂最坏情况O(logn)内,完成查找、插入、删除操作;约束性质1、节点是红色或黑色;2、根节点是黑色;3、每个空节点(NIL节点)是黑色的;4、每个红色节点的两个子节点都是黑色;(表明:从每个叶子到根的所有路径上不能有连个连续的红色节点)5、从任一节点到其每个叶子的所有路径都包含相同数目的黑

2020-12-08 21:29:19 169

原创 Java数据结构05_AVL平衡树

二叉搜索树已经足够完美了吗?  比如 插入1、2、3、4、5、6、7、8;形成的二叉搜索树如下:性质  平衡二叉树又被称为AVL树,它具有以下性质:它是一棵空树或它的左右子树的高度差的绝对值不超过1,并且左右两个子树都是一棵平衡二叉树;相关概念:平衡因子:左右子树高度差的绝对值;最低不平衡节点:用A表示最低不平衡节点,则A的祖先节点可能有不平衡的, 但是其所有后代节点都是平衡的;失去平衡的最小子树:距离插入节点最近且平衡因子绝对值大于1的节点 作为根的子树;不平衡的四种情形1、对A

2020-11-29 21:58:01 198

原创 Java数据结构09_二叉堆

介绍  一般我们说的堆就是指二叉堆,所谓二叉堆就是指满足“堆序性质”的完全二叉树;什么叫堆序性质?  任意节点的后裔节点要么全小于该节点,要么全大于该节点,对于全小于的情况,我们把堆称作max堆,而全大于该节点的情况,我们把该堆称之为min堆;完全二叉树的性质1、完全二叉树适合采用数组描述,且根节点从索引1开始;2、如果一个节点i有父节点,那么父节点的索引是i/2;3、任意节点的左孩子的节点索引是2i,右孩子节点的索引是i2+1;4、节点最大索引是N,如果节点i 且i>N/2, 那么该

2020-11-17 22:00:13 84

原创 Echarts2.0_无数据时的显示改进方法

  本文是基于Echarts2.0阐述当渲染数据不存在的情况下,它的默认显示方式是向上移动的气泡图形,然而在项目中搭载这样的显示会显得格格不入,所以我们有必要进行显示改进;  从开发文档中我们可以发现option中的noDataLoadingOption属性,是用来设置当无数据提示时的Loading动画选项,默认采用bubble,其中可选的方式有’spin’ | ‘bar’ | ‘ring’ | ‘whirling’ | ‘dynamicLine’ | ‘bubble’,且支持外部装载;  通过修改

2020-11-05 20:32:14 886

原创 Activiti流程框架_项目实战10指定任务办理人

  在这篇,小白想聊聊有关流程中使用比较频繁的用户任务,既然是用户任务,那么必不可少的需要指定任务的办理人或者候选人,然后当流程运行到该用户任务节点时,才能让指定的人审批处理;  一般用户任务的办理人,可以设置具体的办理人或者候选人 ,其设置方式有以下三种:直接在流程模型中写死办理人或候选人的Id,项目中不推荐;采用流程变量赋值;通过委托类(TaskListener监听类)动态设置;下面让我们从项目的角度一同介绍2和3方法的结合使用吧!流程变量赋值  在指定流程的发起者时,可以在流程模型的

2020-10-19 21:01:03 868

原创 Java数据结构04_二叉树

定义  是一棵树,且其中每个节点都不能有多于两个的儿子。分类满二叉树:除最后一层无任何子结点外,其他每层上的所有结点都有两个子结点的二叉树;完全二叉树:一棵二叉树至多只有最下面的一层结点度数可以小于2,并且最下层上的结点都集中在该层最左边的若干位置上;主要应用在二叉堆构建优先队列; 二叉搜索树:空树或者二叉树的所有结点比它的左子树大,比它的右子树小; 平衡二叉树:空树或者它的左右两个子树的高度差的绝对值不超过1,并且左右两个子树也是平衡树;二叉搜索树的性质① 对于树中的每个节点X,它的左

2020-09-27 21:18:56 66

原创 Java数据结构03_一般树

回顾  在线性表结构中,数组支持随机访问,但是插入删除速度慢,所以有了链表,而链表插入、删除速度快,但是不支持随机访问,所以又有了哈希表,而哈希表随机访问、插入、删除速度快,但是不支持排序,所以有了树(二叉搜索树),树不仅可以解决链表的查询速度慢的问题,而且可以支持排序(二叉搜索树的中序遍历),下面小白新认识下树;一般树概念树:由一些节点组成,包括:一个树根、若干树叶;根节点(树根) :没有父亲的节点;叶子节点(树叶) :没有儿子的节点;节点高度:对任意节点X,叶子节点到X节点 的最大路径长度

2020-09-17 21:31:24 102

原创 Java数据结构02_线性表

文章目录队列概念特点图解按实现分类何为“假溢出”,如何解决?适用场景队列实现栈概念特点图解实现方式队列概念队列: 只允许在表的一端进行插入,而在另一端删除元素的线性表,操作被限制;队尾(rear):允许插入的一端;队头(front):允许删除的一端;空队:队内没有元素; 基本操作:front=rear满队:队内填满元素; 基本操作:(rear+1)%maxSize=front入队( enquence ):从队尾追加元素的操作; 基本操作:rear=(rear+1)%m

2020-09-14 19:08:16 121

原创 Activti流程框架_项目实战09超时邮件提醒03

  在上篇中小白通过监听者模式,实现了对定时事件TIME_FIRED的捕捉,接下来我们需要在处理器globalEventListenerImpl中统一处理邮件发送,开始吧!引入Maven依赖<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-mail</artifactId></dependency>

2020-09-07 20:40:28 637

原创 Java数据结构01_线性表

数组定义:由内存中连续的存储单元组成;优点:随机访问速度快,时间复杂度为O(1);缺点:不支持扩容、增删操作慢;适用场景:数据量可预估,频繁随机访问,增删情况少;链表定义:由若干个节点连接而成,内存占用非连续,根据连接方式可分为单向链表、双向链表、循环链表;单向链表:双向链表:循环链表:常用操作:插入、删除;插入:删除:优点:增删速度快,支持扩容;缺点:查询速度慢,不可随机访问;适用场景:数据量少,有需要频繁增加、删除操作;哈希表(散列表)比较常见的是由数组+链

2020-09-06 22:26:12 60

原创 Java数据结构00思维导图

随学习进度陆续更新中…

2020-09-06 21:59:41 816

原创 Activti流程框架_项目实战08超时邮件提醒02

  在上篇中小白采用附着在用户任务上的边界时间事件间隔触发TIME_FIRED事件,那么接下来,我们需要在流程中定义一个全局的事件监听器,用来捕获具体事件【TIME_FIRED】,并进行业务处理【超时邮件提醒】;定义全局事件监听器  从Activiti5.15版本开始添加了全局事件监听器,可以用来监听一个引擎实例的所有流程或者作用于一个流程实例的所有发生事件包括TIME_FIRED,触发了定时器;它采用的是典型的监听者模式,既可在引擎配置对象中配置事件处理器,也可在流程模型文件中配置,这里以流程模型文件

2020-09-03 20:18:14 747

原创 Activti流程框架_项目实战07超时邮件提醒01

  最近业务项目需要新增【审批超时邮件提醒】的功能,具体意思就是在用户任务长时间未被审批时,就定期发邮件提醒。初步想到的解决办法是结合以下技术完成:采用边界时间事件定时触发TIME_FIRED事件;全局ActivitiEventListener事件监听器监听TIME_FIRED事件;JavaMailSenderImpl写邮件发送;  下面就跟随小白具体实现吧!首先了解一下ISO8601时间格式语法;1、ISO8601时间格式语法格式:【重复次数/开始时间/间隔时间】,由三部分组成;1.1

2020-09-03 19:52:30 1298

原创 Activti流程框架_项目实战06高亮流程图

  该篇小白想聊一聊项目中如何高亮流程图,在默认情况下,activiti提供的API只能将已运行的节点和当前节点按红色边框默认设置,那么如何自定义出给定的颜色边框以及字体颜色呢?下面是两种高亮流程图的对比。注:本篇的内容是借鉴了其他博主的博客,并通过实际项目验证了可行性;1、自定义类和接口1.1 定义ICustomProcessDiagramGenerator接口package com.hlmc.webapp.activiti;import java.awt.Color;import jav

2020-08-23 18:23:59 847

原创 Activti流程框架_项目实战05外置表单和签核按钮

  在上一篇中小白给大家介绍了在项目中如何进行流程设计与部署,知道在部署的时候需要将流程设计模型xxx.bpmn、外置表单xxx.form以及流程图片xxx.png一起压缩后,再部署到项目服务器上,那么接下来和大家聊聊外置表单的设计特点,作为前面表单选择篇幅的补充说明,然后在介绍有关签核按钮的动态绑定;1. 外置表单1.1 字段申明  表单字段申明需要区分为两类:业务字段、批注字段,业务字段是用来更新业务数据的,同时业务字段又可分为不变字段和可变字段,所谓不变字段就是readOnly=” readon

2020-08-20 19:47:16 331

原创 Actitivi流程框架_项目实战04流程设计与部署

  在上一篇中给大家介绍了小白(我)在项目中如何选择签核表单的生成方式,那么接下来小白想和大家聊聊在项目中是如何设计与部署流程的,这里先说明一下由于环境因素不同,过程略有差异,小白与用户之间的流程商谈环节较为简单,直接由用户通过PTT的形式将用户设计好的流程传达给小白(没有要求用户使用在线的activiti-moduler设计),然后小白就开始在activti-designer模型设计器中有模有样地设计出与ppt大致类似的流程图,当然PPT上有些不明白的地方也会找用户重新洽谈,直到流程设计满意为止,最后再将

2020-08-18 19:05:00 354

原创 Activiti流程框架_项目实战03表单选择

  在上一篇中介绍了如何在流程的运行中更新业务表,该篇我们来聊聊在项目中,签核表单的形成方式,目前的话一共有三种动态表单、外置表单、普通表单,那么在项目中我们该如何抉择选用哪种更适合呢?首先让我们分析一下三种方式的优缺点。优缺点1、 动态表单适合简单流程,在实际项目开发中使用较少,在我的实际开发时会碰到一个问题,很难根据表单类型type=“string”,来决定界面渲染上到底用input类型为“text”还是“textarea”标签表达;2、 外置表单,具有去冗余的效果,可以让所有表单界面都使用同一视

2020-08-17 18:56:15 465

原创 Java算法总结(8)_基数排序

  前几篇中介绍了7种基于比较的排序方法,其中堆排序、快速排序、归并排序实现了时间复杂度为O(NlogN)数级,甚至有关数据结构与算法的书籍中证明了凡是基于计较的排序方法时间复杂度至少为O(NlogN),而我们接下来要要介绍的非比较排序,它可以实现O(N)的时间复杂度——基数排序;原理  采用“分配”+“收集”的思想,按最高位优先法(MSD)或最低位优先法(LSD),将数组中的元素分配到对应的桶中,然后再将桶中的元素收集给数组;算法分析1、时间复杂度O(N);2、空间复杂度O(N);3、稳定排序

2020-08-09 17:51:07 85

原创 Activti流程框架_项目实战02更新业务

  在上一篇中介绍了采用业务存储模式一的方式在流程中绑定业务;接下来该篇将记录实战中我是如何控制在流程运作的时候(启动、任务办理),同时更新业务表的,下面是实战中用到的流程模型;创建CustomBusinessService接口  为了能够在一个Controller中映射所有的流程请求,需要创建一个属于所有业务的公共服务接口CustomBusinessService, 在处理所有业务的CURD时,采用接口泛型的方式,统一由父类CustomBusinessService处理;public interf

2020-08-07 22:48:23 251

原创 Activiti流程框架_项目实战01关联业务

读Activiti有感  网上挺多关于activiti基于junit4的测试实例,通过实例测试,我们可以方便地了解到activiti是如何通过Api控制27张表(以act_开头的表)的CURD,但是在结合项目的使用过程中,你就会发现,这些测试实例其实都较为肤浅,只适合在认知阶段和测试阶段帮助用户理解activiti的API使用方法和确保流程模型在执行过程中的准确性,而真正用在项目开发中时,就会感觉到比较鸡肋。刚巧最近有个项目需求,要求在原有的springBoot项目中嵌入审批流程,所以该篇之后的篇幅都会结

2020-08-02 17:28:29 845 1

原创 Java算法总结(7)_归并排序

文章目录归并排序算法分析归并图解Java实现算法测试  上篇介绍了交换排序,了解到快速排序采用了“分治策略”+“递归”思想,那么接下来要介绍的比较排序算法,也是基于同样的思想,那就是归并排序。归并排序  基于分治策略,通过递归将序列分成若干的子序列,待归并操作后,使得所有子序列有序,最后两路归并得到最终的有序序列;算法分析1、时间复杂度:O(NlogN);2、空间复杂度:O(N),需要创建长度相等的临时数组tempArr;3、稳定排序归并图解  子序列A={3,5,6},B={1,2,

2020-07-26 15:56:34 103

原创 Java算法总结(6)交换排序

1、交换排序  上篇介绍了选择排序,那么接下来给大家介绍比较排序中的交换排序,“交换”顾名思义就是两两比较后,当满足某种条件时,互换位置;该排序包括冒泡排序和快速排序。2、冒泡排序  冒泡排序是一种相对简单的比较排序方法,通过相邻元素两两比较,当满足某种比较条件时,交换彼此位置,它的整个运行过程类似水中气泡从下往上,逐渐变大的过程,所以叫冒泡排序。2.1 算法分析1、 算法时间复杂度:O(N*2);2、 算法空间复杂度:O(1);3、 稳定排序;2.2 算法步骤:1、 从无序列表中比较2

2020-07-19 20:00:04 384 1

原创 Activiti流程框架_Springboot整合Activiti遇到的问题汇总

问题一:Springboot整合activiti后项目启动失败;  在整合之前项目可以成功的部署到tomcat上,但是在整合activiti的maven依赖后,<dependency> <groupId>org.activiti</groupId> <artifactId>activiti-spring-boot-starter-basic</artifactId> <version>5.22.0</versio

2020-07-10 19:24:25 1317

原创 Activiti流程框架_快速搭建测试环境

  本篇主要介绍在办公环境无网络的情况下如何快速地搭建Activiti的测试环境,以便于日后的开发流程测试学习使用;搭建好的效果如下:搭建的过程主要包括以下步骤:1、 官网下载Activiti,不同版本Activiti的文件夹组织结构略有不同,以5.22.0为例;Database:包含了23张流程相关数据库的CRUD;Docs:包含用户手册以及JAVADOC文档;Libs:包含activiti相关的所有jar包,(注意:没有包含依赖jar包,比如jdbc数据库连接、mybatis持久框架、

2020-07-10 19:01:59 218

原创 Java算法总结(5)_选择排序

文章目录1、选择排序2、简单选择排序2.1 原理2.2 算法分析2.3 步骤描述2.4 简单选择排序Java代码3、堆排序3.1 原理3.2 堆性质3.3 算法分析3.4 步骤描述3.5 堆排序Java代码4、选择算法测试1、选择排序  在上一篇中初探比较排序,向大家介绍了插值排序,使得大家对比较排序有个大体的了解,那么在接下来的该篇中将为大家介绍选择排序的思想,当然从字面上可以简单的理解,“选择”必然是要在可选范围内,比较出最优值,就好比生活中我们去瓜棚里挑最大的西瓜一样,首先我们会挑相对较大的西瓜

2020-07-05 15:48:51 157

原创 Java总结_集合工具箱Collections

文章目录1 Collections静态方法2 部分源码分析2.1 局部构造器2.2 方法阀值2.3 不可修改2.4 同步控制2.5 类型检查2.6 元素复制3 简单代码测试  Collections是集合类Collection/Map的一个通用工具类1 Collections静态方法2 部分源码分析2.1 局部构造器  由于它所拥有操作集合的方法都是以静态的形式给定的,所以在源码中局部化构造函数,可避免实例化Collections;private Collections() { }

2020-06-26 23:00:42 129

原创 Java算法总结(4)_插值排序

文章目录1、常用的比较排序2、直接插入排序2.1 原理2.2 算法分析2.3 动态图解2.4 直接插入Java代码3 希尔排序3.1 原理3.2 算法分析3.3 动态图解3.4 希尔排序Java代码4 算法测试1、常用的比较排序  本章作为排序算法的初篇,首先给大家介绍插入类排序,它包括:直接插入排序、二分插入排序、希尔排序。由于个人觉得二分插入排序的选址作用性不大,所以就不对它进行阐述。2、直接插入排序2.1 原理  从左往右依次不明显地交换元素,在每次移动元素时都保证元素前已处于排序过的状

2020-06-25 18:14:43 528

原创 Java算法总结(3)_斐波那契查找法

1、原理   类似于二分法查找,它们的不同之处在于,斐波那契查找将查找点的对半选择改进为黄金分割点选择,所以又叫做黄金比例查找法;其中 searchVal代表需要查找的值,fid是斐波那契数列;2、基础知识2.1 斐波那契数列1,1,2,3,5,8,13,21…F(n-1),F(n),其一般表达式为F(n)=F(n-1)+F(n-2),其中F(1)=1,F(2)=1,中文解释即一个数字等于它前面两项之和;2.2 黄金分割证明:当n趋近无穷大时,F(N-1)/F(N)=0.618(黄金分割点)

2020-06-20 17:36:25 258

原创 Java总结_百宝袋集合类(4)Map

文章目录1、Map2、HashMap2.1 实现原理2.2 Hash函数解析2.3 tableSizeFor函数解析3、TreeMap3.1 实现原理3.2 Comparator和Comparable1、Map  Map是用于存储键值对key/value的集合接口,明确地,1、键key具有唯一性,而key所对应的值value可以重复,那么则存在不同的key指向同一个value的情况,以及先后定义同一个键key,前者value被后者value覆盖的情况;public static void main

2020-06-19 21:26:07 127

原创 Java总结_百宝袋集合类(3)Set

  Set是无序不可重复的集合接口,从JDK中可以看到Set继承了Collection接口中的方法,其自身并没有额外添加实质性方法,只是在原有的Collection方法基础上,重申了方法注释,以区别于父类的使用,它的实现类常用的有HashSet和TreeSet,下面分别介绍这两个类的区别和使用;HashSetHashSet的特征(1) 继承了AbstractSet,并实现了Set、Cloneable、Serializable接口;(2) 采用散列表HashMap实现无序不可重复的特性;无序,输入

2020-06-15 21:44:19 124

原创 Java算法总结(2)_插值查寻法

文章目录1、插值原理2、 插值法特点3、图解3.1、图分析4、实例代码测试4.1、线性分析4.2非线性分析5、总结1、插值原理在上一章中介绍了二分法查找,可以知道二分法是通过对半选择查找位置mid,然而在现实生活中,对于排序均匀有规律的列表,比如字典、电话簿,在查找姓氏“张”的时候,我们都会下意识的从末尾几页开始查找,而不是像二分法那样从中间入手,同理,插值查寻法也是将查找位置mid的对半选择改进为自适应选择(相似三角形定理),从而提高了查找效率;其中:mid:查找位置;low:列表的下界值;

2020-06-11 20:26:59 303

原创 Java总结_百宝袋集合类(2)List

文章目录1、List接口2、ArrayList2.1、ArrayList特征2.2ArrayList简单用法3、LinkedList3.1LinkedList特征4、总结1、List接口  List是有序可重复的集合(也称为列表)。它在Collection接口的基础上新增了一些与索引相关的方法,其中包括:add(int index, E element):在索引处添加元素;addAll(int index, Collection<? extends E> c):在索引处添加集合;g

2020-06-07 14:26:08 159

原创 Java算法总结(1)_二分查寻法

  最近脑壳发热,想着把算法这块盲区捋一遍,那么既然有想法,我们就一起学习吧,当然万事开头难,我们应该从简入深,坚持坚持再坚持!算法是什么?  一种能在有限步骤内求解某一问题所使用的明确规则就叫算法,简单地说就是解决问题的步骤能够在有限步内收敛,最终停止并得出有效解。算法的特征有穷性:算法要保证在有限步内结束;确切性:算法的每一步必须要有明确的定义;输入:算法有0个或多个输入,用于对算法初始化;输出:算法有1个或多个输出,用于反映输入数据加工后的结果,没有输出的算法是毫无意义的;可行性:算

2020-06-04 22:31:46 133

原创 Java总结_百宝袋集合类(1)Collection

  注:空心三角+虚线代表:Implements,空心三角+实线代表:extents;《Java编程思想》中提到:如果一个程序只包含固定数量的且生命周期都是已知的对象,那么就是一个非常简单的程序;正如我们所知,数组可以实现对固定数量的对象进行有序存储,但是在实际应用中,有时候我们很难知道需要的对象数量,所以集合类的出现成为了必然性,早在 Java 2 中之前,Java 就提供了特设类。比如:Dictionary, Vector, Stack, 和 Properties 这些类用来存储和操作对象组。虽然这.

2020-05-30 15:16:25 132

原创 Java总结_传输小能手XML

文章目录1、依赖包2、对XML的基本操作2.1创建文档2.2获取根节点2.3获取元素的单个或所有子节点2.4获取元素节点的文本2.5获取元素的属性值2.6新增元素2.7添加属性和属性值2.8删除属性2.9保存文档2.10xml元素转成字符串2.11基于xpath快速查找元素;3、简单实例  XML(Entensible Markup Language),可扩展标记语言,是各应用程序之间进行数据交换和传输的常用工具,它于 1998 年 2 月 10 日成为W3C的推荐标准。本篇主要介绍在Java中如何对XM

2020-05-23 13:10:34 201

原创 JSP总结_01Servlet生命周期

文章目录1、 Servlet是什么?2、Servlet的生命周期3、生命周期验证实例1、 Servlet是什么?  Servlet(Service applet)叫小服务应用程序,是Sum公司提供的一种开发动态资源技术,它能够让 Java程序在Web环境中被访问,有效地代替了公共网关接口(Common Gateway Interface,CGI),通过多线程的方式来处理并发请求,而不是像CGI那样,基于进程的方式来处理请求;2、Servlet的生命周期1)创建Servlet实例,可在web.xml

2020-05-16 23:07:36 159

原创 Java总结_火眼金睛正则表达式

文章目录1、正则表达式的语法2、常用表达式3、Pattern模式类和Matcher匹配类4、正则表达式的作用5、实例正则表达式:  规定用某种字符串模式来解决字符串的匹配、替换、获取等问题,基本所有支持它的语言在语法上都大同小异,例如:Javascript用字面量表达正则表达式为:\[abc]+\g,这里双斜杠内包含的内容正就是正则表达式。而Java是以双引号作为正则表达式的定界1、正则表达式的语法单词符号\d:数字[0-9]\D:非数字[^0-9]\s:空格[\t\r\f\n]\S:非空

2020-05-09 21:04:30 116

原创 Java总结__文件的外在美File类

文章目录1、思维导图2、File类构造器3、静态属性4、常用方法5、File的应用  File类代表抽象路径,可以表示文件和文件夹,其主要功能是用来创建和删除路径,不能用于文件的内部操作。1、思维导图2、File类构造器比较常用的构造器一、通过路径字符串来生成File的一个实例;String pathname="d:/testDir/01testFile.txt";File fil...

2020-05-01 19:24:09 123

原创 JavaScript总结_JSON闪亮登场

文章目录1、JSON的由来2、JSON的语法3、获取外部JSON文件内容4、项目中遇到的JSON问题1、JSON的由来曾经的一段时间,XML是互联网上传输结构化数据的事实标准,但是之后,不少人就会觉得XML过于繁琐、冗长,例如表达具体的一些人员信息:<persons> <person> <name>zhangsan</name> &...

2020-04-26 20:49:22 109

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除