自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

一介白衣入江南

做做笔记,秃头怪!

  • 博客(37)
  • 收藏
  • 关注

原创 Java异常机制详解

异常(Exception)的概念异常指程序运行过程中出现的非正常现象,例如用户输入错误、除数为零、需要处理的文件不存在、数组下标越界等。在Java的异常处理机制中,引进了很多用来描述和处理异常的类,称为异常类。异常类定义中包含了该类异常的信息和对异常进行处理的方法。所谓异常处理,就是指程序在出现问题时依然可以正确的执行完。Java是采用面向对象的方式来处理异常的。处理过程:抛出异常:在...

2019-12-27 16:29:53 3438 3

原创 JS小练习——判断滚动条是否到底部(onscroll事件)

实现功能要求:当我们下拉这个滚动条时,判断它是否到达最底部,如果到达最底部,则两个表单项可以点击,如果没有到达,则不可以点击。并且要勾选第一个按钮之后,才可以提交。disabled 属性可设置或返回是否禁用 checkbox。语法:Object.disabled=true|falsetrue表示禁用 false表示可用clientWidth clientHeight这两个属性都可以获取...

2019-06-06 22:20:35 10660 6

原创 java.security.InvalidAlgorithmParameterException: the trustAnchors parameter must be non-empty

javax.net.ssl.SSLException: java.lang.RuntimeException: Unexpected error: java.security.InvalidAlgorithmParameterException: the trustAnchors parameter must be non-empty at sun.security.ssl.Alerts.getSSLException(Alerts.java:208) at sun.security.ssl.SSLSo

2021-11-29 10:09:04 2788

原创 Mq消息丢失解决方案

1.生产者存放消息的过程中丢失消息解决办法:1)事务机制:(同步方式,不推荐)对于RabbitMQ来说,生产者发送数据之前开启RabbitMQ的事务机制 channel.txselect,如果消息没有进队列,则生产者受到异常报错,并进行回滚channel.txRollback,然后重试发送消息。如果收到了消息,则可以提交事务channel.txCommit。这是同步操作,会影响性能。2)异步机制:confirm模式来解决同步机制的性能问题。每次生产者发送的消息都会分配一个唯一的id,如果写入到了

2021-11-12 11:27:49 14004

原创 消息中间件MQ场景常见问题(消息丢失,重复消费,垃圾消息,延时消费)

业务场景:秒杀 ——> 下单 ——> 支付这三个核心流程中,真正并发量大的是秒杀功能,下单和支付功能实际并发量很小。所以,我们在设计秒杀系统时,有必要把下单和支付功能从秒杀的主流程中拆分出来,* 特别是下单功能要做成mq异步处理的。而支付功能,比如支付宝支付,是业务场景本身保证的异步** 消息丢失问题:* 问题背景:上一步秒杀操作成功了,发送消息的时候出现网络问题或broker挂了等原因,导致消息发送失败,造成消息丢失* 解决办法:增加一张消息发送表

2021-11-12 10:42:23 6706 3

转载 object类、scanner类、String类、StringBuffer类、基本数据类型对应包装类、自动拆装箱

JAVA常用API概念:API全名:application(应用) programming(程序) interface(接口)API是应用程序编程接口Java APIJava API就是sun公司提供给我们使用的类,这些类将底层的实现封装了起来,我们不需要关心这些类是如何实现的,只需要学习这些类如何使用。我们可以通过查帮助文档来了解Java提供的API如何使用API就是java的工具...

2020-01-30 09:31:28 217 1

原创 二分查找(折半查找)

二分法检索(binary search)又称折半检索,二分法检索的基本思想是设数组中的元素从小到大有序地存放在数组(array)中,首先将给定值key与数组中间位置上元素的关键码(key)比较,如果相等,则检索成功;否则,若key小,则在数组前半部分中继续进行二分法检索;若key大,则在数组后半部分中继续进行二分法检索。这样,经过一次比较就缩小一半的检索区间,如此进行下去,直到检索成功或检...

2020-01-29 16:13:43 349 1

原创 冒泡排序的基础算法及优化

冒泡排序是最常用的排序算法,在笔试中也非常常见,那么何为冒泡排序呢?通俗的来说就是一次比较两个元素,如果他们的顺序错误就把他们交换过来,这样越大的元素会经由交换慢慢“浮”到数列的顶端。1.原理:比较两个相邻的元素,将值大的元素交换到右边2.思路:依次比较相邻的两个数,将比较小的数放在前面,比较大的数放在后面。(1)第一次比较:首先比较第一和第二个数,将小数放在前面,将大数放在后面。(2...

2020-01-29 11:57:55 511 1

原创 Java——for-each循环

增强for循环for-each是JDK1.5新增加的功能,专门用于读取数组或集合中所有的元素,即对数组进行遍历。public class Test { public static void main(String[] args) { String[] ss = { "aa", "bbb", "ccc", "ddd" }; for (String temp...

2020-01-12 11:55:13 1302

原创 Java中数组的拷贝

数组的拷贝System类里也包含了一个 static void arraycopy ( object src, int srcpos, object dest, int destpos,int length)方法,该方法可以将src数组里的元素值赋给dest数组的元素,其中srcpos指定从src数组的第几个元素开始赋值,length参数指定将src数组的多少个元素赋给de...

2020-01-12 11:47:35 892

原创 throws 声明异常

异常的处理方式之二:声明异常(throws)当CheckedException产生时,不一定立刻处理它,可以再把异常throws出去。在方法中使用try-catch-finally是由这个方法来处理异常。但是在一些情况下,当前方法并不需要处理发生的异常,而是向上传递给调用它的方法处理。如果一个方法中可能产生某种异常,但是并不能确定如何处理这种异常,则应根据异常规范在方法的首部声明该方法可能...

2019-12-27 17:52:10 3148 1

原创 try-catch-finally

异常的处理方式之一:捕获异常捕获异常是通过3个关键词来实现的:try-catch-finally。用try来执行一段程序,如果出现异常,系统抛出一个异常,可以通过它的类型来捕捉(catch)并处理它,最后一步是通过finally语句为异常处理提供一个统一的出口,finally所指定的代码都要被执行(catch语句可有多条;finally语句最多只能有一条,根据自己的需要可有可无)。如图所示。...

2019-12-27 17:44:22 2828 1

原创 Java300集速学堂(5)

1. 编写应用程序,创建类的对象,分别设置圆的半径、圆柱体的高,计算并分别显示圆半径、圆面积、圆周长,圆柱体的体积。编写一个圆类Circle,该类拥有:a) 一个成员变量,radius(私有,浮点型);//存放圆的半径b) 两个构造方法(无参、有参);c) 三个成员方法 double getArea() //获取圆的面积 double getPerimeter() //获取圆的...

2019-12-27 11:57:52 1228

原创 Java300集速学堂第四章作业答案

速学堂第四章作业选择: 1.B 2.D 3.AC 4.AC 5.C编程题:编写 Java 程序用于显示人的姓名和年龄。定义一个人类Person。 该类中应该有两个私有属性: 姓名 (name) 和年龄 (age) 。定义构造方法用来初始化数据成员。再定义显示(display()) 方法将姓名和年龄打印出来。在 main 方法中创建人类的实例然后将信息显示。定义一个圆类—...

2019-12-11 21:53:03 753

原创 Java基础——方法,方法的重载,方法的可变个数的参数

方法方法的定义:方法用于定义该类或该类实例的行为特征和功能实现。方法是类和对象行为特征的抽象。方法很类似于面向过程中的函数。面向过程中,函数是最基本单位,整个程序由一个个函数调用组成。语法格式:[修饰符] 方法返回值类型 方法名(形参列表) { // n条语句}方法的调用方式: 对象名.方法名(实参列表)形式参数:在方法声明时用于接收外界传入的数据。实参:调用方法...

2019-12-09 22:15:27 2563

原创 Java基础小练习——银行利率

银行利率表如下表所示,请计算存款10000元,活期1年、活期2年,定期1年,定期2年后的本息合计。import java.util.Scanner;public class TestBankInterestRate { public static void main(String[] args) { Scanner scanner = new Scanner(System.in);...

2019-12-06 17:19:32 2267

原创 定时器的应用练习题

定时器练习<!doctype html><html><head><meta charset="utf-8"><title>定时器的应用</title> <style> *{ margin:0; padding: 0; } #box1{ width:100px; hei...

2019-07-15 19:10:52 906

原创 JS—定时器与练习

定时器有以下两个方法:1,setInterval() :按照指定的周期(以毫秒计)来调用函数或计算表达式。方法会不停地调用函数,直到 clearInterval() 被调用或窗口被关闭,方法中需要一个定时器的标识作为参数,这样将关闭标识对应的定时器 定时调用 可以将一个函数每隔一段时间调用一次 参数: 1. 回调函数,该函数每隔一段时间被调用一次 2.每次调用间隔的时间,单位是...

2019-07-14 15:53:25 1446

原创 字符串和正则表达式相关的方法

常用的方法有以下四种:1.split( )可以将一个字符串拆分成数组方法中可以传递一个正则表达式作为参数,这样方法会根据正则表达式去拆分 var str="3ajvf2gaj3kg5vka"; var result=str.split(/[0-9]/); console.log(result);2.search( )可以搜索字符串是否含有指定内容如果搜索到就返回第一次的索...

2019-06-12 11:29:44 3289 1

原创 正则表达式语法及小练习

正则表达式正则表达式用于定义一些字符串的规则计算机可以根据正则表达式,来检查一个字符串是否符合规则获取将字符串中字符中符合规则的内容提取出来语法:var 变量 =new RegExp(“正则表达式”,“匹配模式”);在构造函数中可以传递一个匹配模式作为第二个参数可以是 i 忽略大小写, g 全局匹配模式正则表达式的方法 test() 符合要求则返回true, 否则返回fal...

2019-06-12 11:06:31 1607

原创 BOM ——浏览器对象模型

浏览器对象模型(BOM)可以使我们通过JS来操作浏览器在BOM中为我们提供了一组对象,用来完成对浏览器的操作Bom对象1.Window:代表的是整个浏览器的窗口,同时它也是网页中的全局对象2.Navigator:代表的是当前浏览器的信息,通过该对象可以来识别不同的浏览器3.Location:代表当前浏览器的地址信息,通过该对象可以获取地址信息,或者操作浏览器跳转页面4.History...

2019-06-08 21:04:48 2434

原创 JS键盘事件—onkeydown,onkeyup

键盘事件onkeydown 按键被按下对于某个按键一直按着不放,则事件会一直触发当onkeydown连续触发式,第一次和第二次之间会有一个间隔时间,其他之后会非常的快这种设计是为了防止我们误操作onkeyup 按键被松开 键盘事件一般都会绑定给一些可以获取到焦点的对象,或者是document可以通过keyCode来获取按键的编码通过它可以判断那个按键被按下除了keyCo...

2019-06-08 12:57:13 6411 1

原创 JS拖拽图片

div跟随鼠标移动我们先了解这个小练习实现div跟随鼠标移动<!doctype html><html><head><meta charset="utf-8"><title>div跟随鼠标移动</title> <style> #box1{ width: 100px; height:10...

2019-06-07 23:25:54 7008 1

原创 JS事件及相关知识

事件对象当事件的响应函数被触发时,浏览器每次都会将一个事件对象作为实参传递进响应函数在事件对象中封装了当前事件相关的一切信息例如:我们鼠标的移动,键盘的按下等等都是我们所说的事件对象需要知道的知识点:onmousemove 该事件会在鼠标元素中移动时触发clientX 可以获取鼠标指针的水平坐标clientY 可以获取鼠标指针的垂直坐标我们用一个小例子来解释:我们实现的功能是要...

2019-06-07 22:39:27 1135

原创 JS来获取全局样式值—style,currentStyle,getComputedStyle() 并解决浏览器兼容性问题

一. style对象style读取样式语法:元素.style.样式名还可以设置通过style属性设置的样式语法:元素.style.样式=样式值注意: 如果Css的样式值含有-, 这种名称在JS中是不合法的,比如background-color 我们在使用是要把这样的名称修改为驼峰命名法 去掉-,然后将-号后的字母大写注意:通过style属性设置和读取的都是内联样式,无...

2019-06-03 14:58:26 4147

原创 JS—添加删除记录练习

<!doctype html><html><head><meta charset="utf-8"><title>添加删除记录练习</title> <style> .employeeTable { border:1px solid red; } </style>/* 1.c...

2019-06-01 21:18:23 1897

原创 按钮小练习

<!doctype html><html><head><meta charset="utf-8"><title>按钮小练习</title> <script> //全选按钮 //点击按钮以后,四个多选框全都选中 //#checkedAllBtn window.onload=function...

2019-06-01 20:57:14 689

原创 图片切换小练习

<!doctype html><html><head><meta charset="utf-8"><title>图片切换练习</title> <style> #outer{ width:950px; heigh:650px; padding:10px; margin: 50px...

2019-05-31 19:57:49 1561

原创 Js中Dom查询练习

Dom查询方法一 ,获取元素节点通过document对象调用1.getElementById() 通过id属性获取一个元素节点对象2.getElementsByTagName() 通过标签名获取一组元素节点对象3.getElementsByName() 通过name属性获取一组元素节点对象二,获取元素节点的子节点通过具体的元素节点调用1.getElementByTagN...

2019-05-31 19:52:42 1673 2

原创 JavaScript Math 对象

Math 对象Math和其他的对象不同,它不是一个构造函数。它属于一个工具类不用创建对象,它里边封装了数学运算相关的属性和方法,用于执行数学任务。例如:Math.pI表示圆周率,我们可以直接使用它console.log(Math.PI);Math 对象常使用的方法1.abs()可返回数的绝对值。2. Math.ceil()可以对一个数进行向上取整,小数位只要有值就自动进13....

2019-05-31 14:58:24 1356

原创 Js中的Date对象

Date对象作用:Date 对象用于处理日期和时间。1.创建一个Date对象如果直接使用构造函数创建一个data对象,则会封装为当前代码执行的时间 var d =new Date(); console.log(d); Date 对象会自动把当前日期和时间保存为其初始值。2.创建一个指定的时间对象需要在构造函数中传递一个表示时间的字符串作为参数日期的格式: 月/日/年 时:分...

2019-05-31 14:31:06 1375

原创 详解JS中遍历数组的八种方法——内置函数(消除循环结构)

常见遍历数组的方法(内置)遍历:就是将数组中的元素全部取出来。一,利用for()循环 var arr=[1,2,3,4,5,6] for(var i=0;i<arr.length;i++){ //arr.length是数组的长度 console.log("arr="+arr[i]); }缺点:这种写法比较麻烦二,forEach()forEach(...

2019-04-21 11:43:54 6023 2

原创 JS中数组常用的四个方法

数组常用的四个方法1.push()方法语法:数组名.push(元素1,元素2,,,,,);该方法可以向数组的末尾添加一个或多个元素,并返回数组的新长度可以将要添加的元素作为方法的参数传递push() 方法是把它的参数顺序添加到 ArrayObject 的尾部。它直接修改 ArrayObject,而不是创建一个新的数组。2.unshift() 方法语法:数组名.unshift(元素1,...

2019-04-20 20:38:06 1256 4

原创 JavaScript中的数组知识

数组(Array)1.什么是数组?数组也是一个对象,数组就是一组数据的集合。不同的是普通对象是使用字符串作为属性名的。而数组是使用数字来作为索引操作元素。 索引:从0开始的整数其表现形式就是内存中的一段连续的内存地址数组名称其实就是连续内存地址的首地址如图1所示:2、关于JS中的数组特点数组定义时无需指定数据类型数组定义时可以无需指定数组长度数组可以存储任何数据类型...

2019-04-20 09:22:00 929 2

原创 JavaScript中基本数据类型的强制转换

JavaScript中基本数据类型转化将一个数据类型强制转换为其他的数据类型主要指String Number Boolean 这三种之间的相互转化。一.其他数据类型转换String我们有两种方法可以使其他数据类型转换为String;方法一:调用被转换类型的toString()方法该方法不会影响原变量,它会将转换的结果返回;但是注意:null和undefined这两个值没有tost...

2019-04-19 11:10:36 2172 1

原创 JavaScript的数据类型(二)

引用数据类型——对象(Object)在前面我们了解的五种基本数据类型,他们的的值都是单一的,值与值之间没有联系。对象属于一种复合的数据类型,在对象中可以保存多个不同数据类型的属性。对象是带有属性和方法的特殊数据类型。 下面就介绍一下对象:一.对象的分类内建对象ES标准中的定义的对象 如:math String Number 等宿主对象由浏览器提供的对象 ,比如 ...

2019-04-18 21:58:38 988 2

原创 JavaScript的数据类型

初识JavaScript的六大数据类型基本数据类型字符串String数值Number布尔型Boolean空值Null未定义Undefined引用数据类型对象Object简单介绍数据类型的运用1.字符串(String)类型字符串是存储字符的变量。字符串可以是引号中的任意文本,可以使用单引号或双引号,但是不要混着用。引...

2019-04-17 09:13:49 881 3

空空如也

空空如也

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

TA关注的人

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