自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Java数据结构与算法:最短路径与Dijstra算法实现

在一副加权有向图中,从顶点s到顶点t的最短路径是所有从顶点s到顶点t的路径中总权重最小的那条路径。1.路径具有方向性;2.权重不一定等价于距离。权重可以是距离、时间、花费等内容,权重最小指的是成本最低3.只考虑连通图。一副图中并不是所有的顶点都是可达的,如果s和t不可达,那么它们之间也就不存在最短路径,为了简化问题,这里只考虑连通图。4.最短路径不一定是唯一的。从一个顶点到达另外一个顶点的权重最小的路径可能会有很多条,这里只需要找出一条即可。...

2022-07-27 15:32:11 119

原创 Java数据结构算法:图的搜索

在很多情况下,我们需要遍历图,得到图的一些性质,例如,找出图中与指定的顶点相连的所有顶点,或者判定某个顶点与指定顶点是否相通,是非常常见的需求。有关图的搜索,最经典的算法有深度优先搜索和广度优先搜索,接下来我们分别讲解这两种搜索算法。...

2022-07-20 18:06:00 122

原创 Java数据结构算法:并查集与并查集的实现

一般像计算机这样网络型的数据,我们要求网络中的每两个数据之间都是相连通的,也就是说,我们需要调用很多次union方法,使得网络中所有数据相连,其实我们很容易可以得出,如果要让网络中的数据都相连,则我们至少要调用N-1次union方法才可以,但由于我们的union方法中使用for循环遍历了所有的元素,所以很明显,我们之前实现的合并算法的时间复杂度是O(N^2),如果要解决大规模问题,它是不合适的,所以我们需要对算法进行优化。一个组中的数据对应的树和另外一个组中的数据对应的树之间没有任何联系;...

2022-07-15 16:38:50 44

原创 Java数据结构算法:B树和B+树

前面我们已经学习了二叉查找树、2-3树以及它的实现红黑树。2-3树中,一个结点做多能有两个key,它的实现红 黑树中使用对链接染色的方式去表达这两个key。接下来我们学习另外一种树型结构B树,这种数据结构中,一个结点允许多于两个key的存在。B树是一种树状数据结构,它能够存储数据、对其进行排序并允许以O(logn)的时间复杂度进行查找、顺序读取、插入和删除等操作。B树中允许一个结点中包含多个key,可以是3个、4个、5个甚至更多,并不确定,需要看具体的实现。现在我们选 择一个参数M,来构造一个B树,我们可以

2022-07-13 17:50:59 42

原创 Java数据结构算法:二叉树的最大深度问题和折纸算法问题

需求:给定一棵树,请计算树的最大深度(树的根节点到最远叶子结点的最长路径上的结点数);上面这棵树的最大深度为4。实现:我们在1.4中创建的树上,添加如下的API求最大深度:public int maxDepth():计算整个树的最大深度private int maxDepth(Node x):计算指定树x的最大深度实现步骤:1.如果根结点为空,则最大深度为0;2.计算左子树的最大深度;3.计算右子树的最大深度;4.当前树的最大深度=左子树的最大深度和右子树的最大深度中的较大者+1代码:二、折纸的算法问题

2022-07-08 16:12:56 22

原创 Java数据结构与算法:二叉树的基础遍历

很多情况下,我们可能需要像遍历数组数组一样,遍历树,从而拿出树中存储的每一个元素,由于树状结构和线性结构不一样,它没有办法从头开始依次向后遍历,所以存在如何遍历,也就是按照什么样的搜索路径进行遍历的问题。我们把树简单的画作上图中的样子,由一个根节点、一个左子树、一个右子树组成,那么按照根节点什么时候被访问,我们可以把二叉树的遍历分为以下三种方式:1.前序遍历;先访问根结点,然后再访问左子树,最后访问右子树2.中序遍历;先访问左子树,中间访问根节点,最后访问右子树3.后序遍历;先访问左子树,再访问右子树,最

2022-07-06 18:07:43 100

原创 Java数据结构与算法:符号表及API设计

符号表最主要的目的就是将一个键和一个值联系起来,符号表能够将存储的数据元素是一个键和一个值共同组成的键值对数据,我们可以根据键来查找对应的值。符号表中,键具有唯一性。 符号表在实际生活中的使用场景是非常广泛的,见下表:结点类:符号表:1.3 有序符号表刚才实现的符号表,我们可以称之为无序符号表,因为在插入的时候,并没有考虑键值对的顺序,而在实际生活中,有时候我们需要根据键的大小进行排序,插入数据时要考虑顺序,那么接下来我们就实现一下有序符号表。本文是Java数据结构与算法教程的课件文档,如需最

2022-07-05 17:27:18 10

原创 Java数据结构算法之排序算法:冒泡排序、选择排序和插入排序

冒泡排序(Bubble Sort),是一种计算机科学领域的较简单的排序算法。需求:排序前:{4,5,6,3,2,1}排序后:{1,2,3,4,5,6}排序原理:比较相邻的元素。如果前一个元素比后一个元素大,就交换这两个元素的位置。对每一对相邻元素做同样的工作,从开始第一对元素到结尾的最后一对元素。最终最后位置的元素就是最大值。冒泡排序API设计:冒泡排序的代码实现:冒泡排序的时间复杂度分析冒泡排序使用了双层for循环,其中内层循环的循环体是真正完成排序的代码,所以,我们分析冒泡排序的时间复杂度,主要分

2022-06-28 16:50:09 19

原创 Java数据结构算法:算法的空间复杂度分析

计算机的软硬件都经历了一个比较漫长的演变史,作为为运算提供环境的内存,更是如此,从早些时候的512k,经 历了1M,2M,4M…等,发展到现在的8G,甚至16G和32G,所以早期,算法在运行过程中对内存的占用情况也是 一个经常需要考虑的问题。我么可以用算法的空间复杂度来描述算法对内存的占用。1.基本数据类型内存占用情况:2.计算机访问内存的方式都是一次一个字节:​3.一个引用(机器地址)需要8个字节表示:例如: Date date = new Date(),则date这个变量需要占用8个字节来表示4.创

2022-06-22 14:49:05 39

原创 Java数据结构算法初体验:计算1到100的和、10的阶乘

在生活中,我们如果遇到某个问题,常常解决方案不是唯一的。例如从西安到北京,如何去?会有不同的解决方案,我们可以坐飞机,可以坐火车,可以坐汽车,甚至可以步行, 不同的解决方案带来的时间成本和金钱成本是不一样的,比如坐飞机用的时间最少,但是费用最高,步行费用最 低,但时间最长。再例如在北京二环内买一套四合院,如何付款?也会有不同的解决方案,可以一次性现金付清,也可以通过银行做 按揭。这两种解决方案带来的成本也不一样,一次性付清,虽然当时出的钱多,压力大,但是没有利息,按揭虽然 当时出的钱少,压力比较小,但是会

2022-06-17 17:32:40 141

原创 什么是数据结构,什么是算法,数据结构分类与内容

数据结构和算法这门课程无论在哪个学校的计算机专业,都是一门必修课,因为这门课程非常重要的,是编程必备的基础,但是这门课程是一门不太好学习的课程,因为它学习起来是非常的枯燥乏味的。但是如果你想让自己的编程能力有质的飞跃,不再停留于调用现成的API,而是追求更完美的实现,那么这门课程就是你的必修课,因为程序设计=数据结构+算法。通过对基础数据结构和算法的学习,能更深层次的理解程序,提升编写代码的能力,让程序的代码更优雅,性能更高。数据结构算法内容官方解释:数据结构是一门研究非数值计算的程序设计问题中的操作对象,

2022-06-17 12:05:54 19

原创 数据结构和算法:经典动态规划-编辑距离

前⼏天看了⼀份鹅厂的⾯试题,算法部分⼤半是动态规划,最后⼀题就是写 ⼀个计算编辑距离的函数,今天就专门写⼀篇⽂章来探讨⼀下这个问题。为什么说这个问题难呢,因为显⽽易⻅,它就是难,让⼈⼿⾜⽆措,望⽽⽣畏。为什么说它实⽤呢,因为前⼏天我就在⽇常⽣活中⽤到了这个算法。之前有⼀篇公众号⽂章由于疏忽,写错位了⼀段内容,我决定修改这部分内容让逻辑通顺。但是公众号⽂章最多只能修改 20 个字,且只⽀持增、删、替换操作(跟编辑距离问题⼀模⼀样),于是我就⽤算法求出了⼀个最优⽅案,只⽤了 16 步就完成了修改。再⽐如⾼⼤上

2022-06-02 16:01:51 25

原创 Java数据结构算法 LeetCode刷题之设计Twitter

「design Twitter」是 LeetCode 上第 355 道题⽬,不仅题⽬本⾝很有意思, ⽽且把合并多个有序链表的算法和⾯向对象设计(OO design)结合起来了,很有实际意义,本⽂就带⼤家来看看这道题。无数据结构算法基础的同学,可以私信我获取数据结构算法课程学习资料,谢谢!⾄于 Twitter 的什么功能跟算法有关系,等我们描述⼀下题⽬要求就知道了。⼀、题⽬及应⽤场景简介Twitter 和微博功能差不多,我们主要要实现这样⼏个 API:class Twitter { /** use

2022-05-27 18:48:33 46

原创 数据结构算法体系课程-经典动态规划算法LeetCode刷题-高楼扔鸡蛋(进阶篇)

如果还不知道⾼楼扔鸡蛋问题的读者可以看下「经典动态规划:⾼楼扔鸡 蛋」(如需阅读完整原文,请私信),那篇⽂章详解了题⽬的含义和基本的动态规划解题思路,请确保理解前⽂,因为今天的优化都是基于这个基本解法的。⼆分搜索的优化思路也许是我们可以尽⼒尝试写出的,⽽修改状态转移的解法可能是不容易想到的,可以借此⻅识⼀下动态规划算法设计的⽞妙,当做思维拓展。1、⼆分搜索优化之前提到过这个解法,核⼼是因为状态转移⽅程的单调性,这⾥可以具体展 开看看。⾸先简述⼀下原始动态规划的思路:1、暴⼒穷举尝试在所有楼层 1

2022-05-22 16:29:00 110

原创 数据结构算法体系课程-经典动态规划算法LeetCode刷题-背包问题之零钱兑换

零钱兑换 2 是另⼀种典型背包问题的变体,我们前⽂已经讲了经典动态规 划:0-1 背包问题 和 背包问题变体:相等⼦集分割。希望你已经看过前两篇⽂章,看过了动态规划和背包问题的套路,这篇继续按照背包问题的套路,列举⼀个背包问题的变形。本⽂聊的是 LeetCode 第 518 题 Coin Change 2,题⽬如下:PS:⾄于 Coin Change 1,在我们前⽂ 动态规划套路详解 写过。我们可以把这个问题转化为背包问题的描述形式:有⼀个背包,最⼤容量为 amount ,有⼀系列物品 coin

2022-05-21 11:38:36 46

原创 数据结构算法课:一文让您搞懂⼆分查找算法的细节

一、最基本的⼆分查找算法:因为我们初始化 right = nums.length - 1 所以决定了我们的「搜索区间」是 [left, right] 所以决定了 while (left <= right) 同时也决定了 left = mid+1 和 right = mid-1 因为我们只需找到⼀个 target 的索引即可 所以当 nums[mid] == target 时可以⽴即返回二、寻找左侧边界的⼆分查找:因为我们初始化 right = nums.length所以决定了我们的

2022-05-16 17:52:13 215

原创 Java数据结构算法之二分查找详解:二分查找框架和基本的二分搜索

先给⼤家讲个笑话乐呵⼀下: 有⼀天阿东到图书馆借了 N 本书,出图书馆的时候,警报响了,于是保安 把阿东拦下,要检查⼀下哪本书没有登记出借。阿东正准备把每⼀本书在报 警器下过⼀下,以找出引发警报的书,但是保安露出不屑的眼神:你连⼆分查找都不会吗?于是保安把书分成两堆,让第⼀堆过⼀下报警器,报警器 响;于是再把这堆书分成两堆…… 最终,检测了 logN 次之后,保安成功的 找到了那本引起警报的书,露出了得意和嘲讽的笑容。于是阿东背着剩下的 书⾛了。从此,图书馆丢了 N - 1 本书。⼆分查找并不简单,Kn

2022-05-14 11:47:25 45

原创 JavaScript内存管理-垃圾回收

如上篇《JavaScript内存管理之内存生命周期与内存分配》所述自动寻找是否一些内存“不再需要”的问题是无法判定的。因此,垃圾回收实现只能有限制的解决一般问题。本节将解释必要的概念,了解主要的垃圾回收算法和它们的局限性。一、引用垃圾回收算法主要依赖于引用的概念。在内存管理的环境中,一个对象如果有访问另一个对象的权限(隐式或者显式),叫做一个对象引用另一个对象。例如,一个Javascript对象具有对它原型的引用(隐式引用)和对它属性的引用(显式引用)。在这里,“对象”的概念不仅特指 JavaScri

2022-05-12 17:37:36 168

原创 JavaScript内存管理之内存生命周期与内存分配

1、概述像C语言、c++这样的底层语言一般都有底层的内存管理接口,比如 malloc()和free()。相反,JavaScript是在创建变量(对象,字符串等)时自动进行了分配内存,并且在不使用它们时“自动”释放。 释放的过程称为垃圾回收。这个“自动”是混乱的根源,并让JavaScript(和其他高级语言)开发者错误的感觉他们可以不关心内存管理。2、内存生命周期不管什么程序语言,内存生命周期基本是一致的:分配你所需要的内存使用分配到的内存读 / 写不需要时将其释放 / 归还所有语言第二部分

2022-05-09 17:59:27 41

原创 Hystrix流程解析

这篇课件讲学习Hystrix流程解析。流程解析:每次调用创建一个新的HystrixCommand,把依赖调用封装在run()方法中;执行execute()/queue做同步或异步调用;判断是否使用缓存响应请求,若启用了缓存,且缓存可用,直接使用缓存响应请求。Hystrix支持请求缓存,但需要用户自定义启动;判断熔断器(circuit-breaker)是否打开,如果打开跳到步骤8,进行降级策略,如果关闭进入步骤4;判断线程池/队列/信号量是否跑满,如果跑满进入降级步骤8,否

2022-05-03 19:20:43 130

原创 什么是雪崩效应?雪崩效应常见场景及应对策略

一、什么是雪崩效应分布式系统环境下,服务间类似依赖非常常见,一个业务调用通常依赖多个基础服务。如下图, 对于同步调用,当会员服务不可用时,订单服务请求线程被阻塞,当有大批量请求调用会员服务时, 最终可能导致整个会员服务资源耗尽,无法继续对外提供服务。并且这种不可用可能沿请求调用链向上传递,这种现象被称为雪崩效应。​二、雪崩效应常见场景硬件故障:如剔除坏盘抖动,服务器宕机,网络抖动,机房断电,光纤被挖断等;流量激增:如异常流量,重试加大流量等;缓存穿透:短时间内大量缓存失效时,大

2022-04-21 17:21:03 821

原创 全新java15面向对象教程-封装性-javabean

1面向对象-封装性理解封装( encapsulation)怎么去理解,一台电脑利用一个外壳包裹,保护了里面的电器元件,提供了少量的按键与其对接使用。我要看电视,只需要按一下开关和换台就可以了。有必要了解电视机内部的结构吗?有必要碰碰显像管吗?制造厂家为了方便我们使用电视,把复杂的内部细节全部封装起来,只给我们暴露简单的接口,比如:电源开关。具体怎么内部实现的,我们不需要操心。[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-v0z5kfUs-1648452070080)(/

2022-03-28 15:25:26 23

原创 大数据架构之Flink调优-资源配置调优

Flink性能调优的第一步,就是为任务分配合适的资源,在一定范围内,增加资源的分配与性能的提升是成正比的,实现了最优的资源配置后,在此基础上再考虑进行后面论述的性能调优策略。提交方式主要是yarn-per-job,资源的分配在使用脚本提交Flink任务时进行指定。标准的Flink任务提交脚本(Generic CLI 模式)从1.11开始,增加了通用客户端模式,参数使用-D <property=value>指定bin/flink run \-t yarn-per-job \-d \-

2022-02-17 11:13:33 1606

原创 JavaScript内存生命周期和内存分配

一、JavaScript内存管理概述像C语言、c++这样的底层语言一般都有底层的内存管理接口,比如 malloc()和free()。相反,JavaScript是在创建变量(对象,字符串等)时自动进行了分配内存,并且在不使用它们时“自动”释放。 释放的过程称为垃圾回收。这个“自动”是混乱的根源,并让JavaScript(和其他高级语言)开发者错误的感觉他们可以不关心内存管理。二、内存生命周期不管什么程序语言,内存生命周期基本是一致的:分配你所需要的内存使用分配到的内存读 / 写不需要

2022-02-09 10:27:29 354

原创 Java入门到架构师教程之面向对象-继承性

1、什么是继承“树上一只鸟树下两只兔子,请问几种动物 , 请问几种生物?” 这里面就存在了继承的概念。继承:子承父业继承的本质在于抽象。类是对对象的抽象,继承是对某一批类的抽象,从而实现对现实世界更好的建模。继承的作用 : 使用继承可以提高代码的复用性。通过继承,子类可以使用父类中的一些成员变量和方法,从而提高代码的重用性,提高开发效率。2、如何使用继承父类|超类|基类:根据一些列子类抽象,抽取像的部分,定义在父类中子类|派生类:子类继承父类,有权使用父类中的内容,可以定义子类新增内容,所

2022-01-25 15:19:45 155

原创 Java入门到架构师教程之Java面向对象深入-垃圾回收机制(gc)

一、概述Garbage Collection 垃圾回收机制每个程序员都遇到过内存溢出的情况,程序运行时,内存空间是有限的,那么如何及时的把不再使用的对象清除将内存释放出来,这就是GC要做的事。说起垃圾回收机制(GC),大部分人都把这项技术当做Java语言的伴生产物。事实上,GC的历史比Java久远,早在1960年Lisp这门语言中就使用了内存动态分配和垃圾回收技术。[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-zjplf2rw-1642758992877)(1554

2022-01-21 18:00:45 32

原创 Java编程开发基础之面向对象深入课程-package与import

面向对象深入课程含有有以下部分:本文是最新全套Java入门到架构师教程里的配套文档,这一篇主要讲面向对象深入-package与import。如需全套Java入门到架构师教程请私聊或留言评论。一、package1、概述package存在的意义是防止命名冲突造成使用不便。package类似一个文件夹,文件夹内有各种文件。package与package的附属关系用“.”连接,类似父文件夹中的子文件夹。比如说 java.lang.String就是java文件夹中的lang文件夹中的String文件。ja

2022-01-19 17:20:38 158

原创 全新web前端开发教程之Jquery Ajax

1、$.ajax​ jquery调用ajax方法:​ 格式:$.ajax({});​ 参数:​ type:请求方式GET/POST​ url:请求地址url​ async:是否异步,默认是true表示异步​ data:发送到服务器的数据​ dataType:预期服务器返回的数据类型​ contentType:设置请求头​ success:请求成功时调用此函数​ error:请求失败时调用此函数get请求$.ajax({ typ

2022-01-14 17:37:43 25

原创 全新web前端开发教程之Jquery事件

1、ready加载事件​ ready()类似于 onLoad()事件​ ready()可以写多个,按顺序执行​ (document).ready(function())等价于(document).ready(function(){})等价于(document).ready(function())等价于(function(){})<!DOCTYPE html><html> <head> <meta charset="utf-8"> <t

2022-01-11 16:48:42 115

原创 全新web前端开发教程之Jquery Dom操作

​ jQuery也提供了对HTML节点的操作,而且在原生js的基础之上进行了优化,使用起来更加方便。​ 常用的从几个方面来操作,查找元素(选择器已经实现);创建节点对象;访问和设置节点对象的值,以及属性;添加节点;删除节点;删除、添加、修改、设定节点的CSS样式等。注意:以下的操作方式只适用于jQuery对象。一、操作元素的属性1、获取属性方法说明举例attr(属性名称)获取指定的属性值,操作 checkbox 时,选中返回 checked,没有选中返回 undefined。

2022-01-10 18:03:49 275

原创 全新web前端开发教程之Jquery选择器

和使用js操作Dom一样,获取文档中的节点对象是很频繁的一个操作,在jQuery中提供了简便的方式供我们查找|定位元素,称为jQuery选择器,选择器可以说是最考验一个人 jQuery 功力的地方,通俗的讲, Selector 选择器就是"一个表示特殊语意的字符串"。 只要把选择器字符串传入上面的方法中就能够选择不同的Dom 对象并且以 jQuery 包装集的形式返回。​ jQuery 选择器按照功能主要分为"选择"和"过滤"。 并且是配合使用的,具体分类如下。基础选择器掌握即可 ,其他用到再查阅。基础

2022-01-04 11:56:15 30

原创 全新web前端开发教程之Jquery核心对象

$ 符号在 jQuery 中代表对 jQuery 对象的引用, "jQuery"是核心对象。通过该对象可以获取jQuery对象,调用jQuery提供的方法等。只有jQuery对象才能调用jQuery提供的方法。$ <==> jQuery一、Dom对象 与 Jquery包装集对象明确 Dom 对象和 jQuery 包装集的概念, 将极大的加快我们的学习速度。原始的Dom对象只有DOM接口提供的方法和属性,通过js代码获取的对象都是dom对象;而通过jQuery获取的对象是jQuery包装集

2021-12-31 17:20:10 22

原创 全新java大数据教程之JavaScript表单

表单是我们页面向后台传输数据的一种非常常见的方式,在进行数据发送(请求发出)之前,我们应该现在页面进行一系列数据合法性的验证,节省不必要的错误数据的传输,以及提高用户的体验度。一、获取表单前两种常用1、document.表单名称2、document.getElementById(表单 id);3、document.forms[表单名称]4、document.forms[索引]; //从 0 开始例如:<body> <form id='myform' name="myfo

2021-12-31 15:01:00 1371

原创 全新java大数据教程之JavaScript的DOM对象(Document Object Model 文档对象模型)

一、DOM简介DOM:Document Object Model 文档对象模型要实现页面的动态交互效果,bom 操作远远不够,需要操作 html 才是核心。如何操作 htm,就是 DOM。简单的说,dom 提供了用程序动态控制 html 接口。DOM即文档对象模型描绘了一个层次化的节点树,运行开发人员添加、移除和修改页面的某一部分。dom 处于javascript 的核心地位上。每个载入浏览器的 HTML 文档都会成为 Document 对象。Document 对象使我们可以从脚本中对 HTML 页面

2021-12-23 16:41:05 72

原创 Java入门到架构师教程之JavaScript:history对象和location对象、JavaScript设计模式系统讲解与应用

一、history对象history 对象是历史对象。包含用户(在浏览器窗口中)访问过的 URL。history 对象是 window 对象的一部分,可通过 window.history 属性对其进行访问。history对象的属性:length,返回浏览器历史列表中的 URL 数量。history对象的方法:back():加载 history 列表中的前一个 URL。forward():加载历史列表中的下一个 URL。当页面第一次访问时,还没有下一个url。go(number|URL): URL

2021-12-21 17:41:43 1402

原创 Java入门到架构师教程之JavaScript:BOM对象、JavaScript设计模式系统讲解与应用

BOM的核心对象是window,它表示浏览器的一个实例。window对象有双重角色,它既是通过JavaScript访问浏览器窗口的一个接口,又是ECMAScript规定的Global对象。这意味着在网页中定义的任何一个对象、变量和函数,都以window作为其Global对象,因此有权访问parseInt()等方法。如果页面中包含框架,则每个框架都拥有自己的window对象,并且保存在frames集合中。在frames集合中,可以通过数值索引(从0开始,从左至右,从上到下)或者框架的名称来访问相应的wind

2021-12-19 19:43:55 30

原创 全新Java入门到架构师教程之JavaScript事件处理程序

事件就是用户或浏览器自身执行的某种动作。例如click、load和mouseover都是事件的名字,而响应某个事件的函数就叫做事件处理程序(或事件侦听器)。事件处理程序的名字以“on”开头,因此click事件的事件处理程序就是onclick,为事件指定处理程序的方式有好几种。一、HTML 事件处理程序某个元素支持的每种事件,都可以用一个与相应事件处理程序同名的HTML特性来指定。这个特性的值应该是能够执行的JavaScript代码:<input type="button" value="Pres

2021-12-13 16:10:16 636

原创 全新Java入门到架构师教程之事件、事件类型、事件流和事件模型

一、事件是什么?事件 (Event) 是 JavaScript 应用跳动的心脏 ,进行交互,使网页动起来。当我们与浏览器中 Web 页面进行某些类型的交互时,事件就发生了。事件可能是用户在某些内容上的点击、鼠标经过某个特定元素或按下键盘上的某些按键。事件还可能是 Web 浏览器中发生的事情,比如说某个 Web 页面加载完成,或者是用户滚动窗口或改变窗口大小。通过使用 JavaScript ,你可以监听特定事件的发生,并规定让某些事件发生以对这些事件做出响应。1、事件作用(1)验证用户输入的数据。(

2021-12-12 17:27:47 62

原创 全新Java入门到架构师教程之二维数组及其初始化、遍历方式

上篇文章写了《全新Java入门到架构师教程之Java15数组案例实现和Arrays》,这次将接下去说java15编程之二维数组及其初始化、遍历方式等。一、什么是二维数组二维数组可以看成以数组为元素的数组。其实多维数组不仅仅只有二维数组,还有三维数组,四维数组…, 但是三维以上很少见到,所以大家重点了解二维数组即可。举个栗子:int [][] a = {{1,2},{3,4,0,9},{5,6,7}};二、二维数组初始化1、动态初始化数组定义与为数组元素分配空间和赋值的操作分开进行数据类

2021-12-09 16:42:02 395

原创 全新Java入门到架构师教程之Java15数组案例-点名器的实现和Arrays

上篇文章写了《全新Java入门到架构师课程之Java15编程基础-数组(1):数组声明、初始化、数组元素的界限和遍历》,这次将接下去说java15编程之数组案例实现和Arrays一、数组基本练习//A:遍历int类型的数组 依次输出每个数组元素public static void printArray(int[] arr){ //循环遍历数组下标 for(int i=0;i<arr.length;i++){ System.out.println("输出int类型数组的每一个元素"+arr

2021-12-06 16:25:49 21

空空如也

空空如也

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

TA关注的人

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