自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Uncaught DOMException: Blocked a frame with origin “null“ from accessing a cross-origin frame

这里写自定义目录标题Uncaught DOMException: Blocked a frame with origin "null" from accessing a cross-origin frameUncaught DOMException: Blocked a frame with origin “null” from accessing a cross-origin frame一般是跨域所导致的,分享遇到的其中一种 是通过VSCode本地编写html页面,运行在浏览器 地址栏以file://

2022-03-09 16:01:30 685 1

原创 禁止指定的ip访问本地的tomcat服务器

禁止指定的ip访问本地的tomcat服务器在conf/server.xml中 找到host标签,在host标签中加入一句话Valve className=“org.apache.catalina.valves.RemoteAddrValve” deny=“192.168.58.222”/>deny中是要禁止的ip地址Valve className="org.apache.catalina.valves.RemoteAddrValve" deny="192.168.58.222"/>

2021-05-28 19:33:08 209

原创 重定向和请求转发

重定向和请求转发浏览器控制跳转URL超链接form表单服务器端控制跳转方式请求转发重定向请求转发和重定向共同点都可以实现页面的跳转不同点语句不同转发:req.getRequestDispatcher("/success.jsp").forward(req,resp);重定向:resp.sendRedirect(req.getContextPath()+"/success.jsp");跳转前台地址显示转发:显示的跳转之前的地址重定向:显示的跳转之后的地址

2021-05-21 20:25:53 118

原创 关于路径的问题

关于路径的问题默认在show.jsp界面,如果所示:绝对路径绝对路径:用http://+服务器地址+端口号+访问地址访问的范围:任意服务器中任意资源都可以访问 <a href="http://127.0.0.1:80/web05/path1/add.jsp">同一个项目中同一个目录中文件add.jsp</a> <br/><a href="http://127.0.0.1:80/web05/path1/subpath/update.jsp">同一个

2021-05-21 20:21:56 140 2

原创 线程通信

线程通信应用场景:生产者和消费者问问题• 假设仓库中只能存放一件产品,生产者将生产出来的产品放入仓库,消费者将仓库中产品取走消费• 如果仓库中没有产品,则生产者将产品放入仓库,否则停止生产并等待,直到仓库中的产品被消费者取走为止• 如果仓库中放有产品,则消费者可以将产品取走消费,否则停止消费并等待,直到仓库中再次放入产品为止解决线程通信的三个方法wait() 表示线程一直等待wait(long timeout) 线程等待指定毫秒参数的时间wait(long timeout,int nanos

2021-05-07 10:22:41 88

原创 多线程(Lock锁)

多线程(Lock锁)Lock锁JDK1.5推出的新一代线程同步方式,更强大、更灵活、效率也更高。lock()lock()方法是平常使用得最多的一个方法,如果采用Lock,必须主动去释放锁,在发生异常时,不会自动释放锁。所以使用Lock必须在try catch中进行,并且将释放锁的操作放在finally中,防止死锁。l.lock();try { }catch(Exception e){ e.print... }finally { l.unlock();try

2021-05-07 08:47:05 1111

原创 设计模式中一些常用的模式

设计模式设计模式的作用重用设计和代码提高扩展性提高灵活性提高开发效率设计模式的分类创建型模式对象实例化的模式,创建型模式用于解耦对象的实例化对象结构型模式把类或对象结合在一起形成一个更大的结构行为型模式类和对象如何交互,及划分责任和算法简单工厂模式简单共产隔膜式并不是23种设计模式之一,因为他并不符合开闭原则。主要目的是为了设计模式入门以及引出工厂方法模式,适合产品子类比较少的、创建操作比较简单的情况。/** * 产品接口 */public int

2021-05-07 08:41:08 159

原创 多线程(创建方式、生命周期、同步锁、死锁)

多线程线程创建方式一继承Thread类。/** * * 线程的创建方式一: * A、继承了Thread类 重写run方法 * B、start开启线程 start()--->JVM--->run(); * C、线程和线程之间是竞争关系,共同争抢CPU的资源 所以每次执行结果不一定相同 */public class TestA { public static void main(String[] args) { De

2021-04-25 21:41:24 82

原创 2021-04-21 IO流

2021-04-21 IO流按处理的数据单元分类:字节流:以字节为单位获取数据,命名上以Stream结尾的流一般是字节流,顶级类InputStream、OutputStream。字符流:以字符为单位获取数据,命名上以Reader/Writer结尾的流一般是字符流,顶级类Reader、Writer。按处理对象不同分类节点流:可以直接从数据源或目的地读写数据,如FileInputStream、FileReader等。处理流:不直接连接到数据源或目的地,是”处理流的流”。通过对其他流的处理提高程序.

2021-04-21 20:04:46 142

原创 2021-04-19常见的集合(List、Set)

集合Collection(List,Set)集合的框架Collection接口存储一组不唯一,无序的对象-List接口存储一组 不唯一,无序的对象 #F44336Set接口存储一组唯一,无序的对象 #F44336Map接口存储一组键值对象 #F44336,提供key到value的映射Key唯一 无序 #F44336value 不唯一 无序 #F44336List集合List集合的主要实现类有ArrayList和LinkList,分别是数据结构中顺序表和链表的实现。另外还包括栈

2021-04-19 22:26:40 111

原创 2021.04.09数据结构的简介

数据结构数据结构=逻辑结构+存储结构+(在存储结构上的)运算/操作存储结构顺序存储结构:根据索引(下标)查找数据内容链式存储结构:方便于增加和删除的操作索引存储结构:方便范围的查找和比较散列存储结构:根据内容去查找数据逻辑结构:线性结构(线性表、栈、队列、数组)非线性结构(树结构、图结构)树结构二叉树优点:可以进行范围查询缺点:树会失去平衡,在进行数据查询的时候需要比较N多次才可以西湖新结果AVL数(平衡二叉树)优点:AVL树对平衡的要求比较严格,稍微有一点失衡直接使用算法进

2021-04-09 20:31:52 68

原创 2021.04.09折半查找算法

折半查找算法折半查找(二分查找)的原理:不使用递归来进行折半查找,代码如下:public class BinarySearch { public static void main(String[] args) { int[] array = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 }; System.out.println(searchLoop(array, 101)); } public static int searchLoop(i

2021-04-09 20:14:38 95

原创 2021.04.08递归实现斐波那契数列

使用递归实现斐波那契数列在数学上,斐波那契数列以如下被以递推的方法定义:F(1)=1,F(2)=1, F(n)=F(n-1)+F(n-2)(n>=3,n∈N*)代码如下:public static void main(String[] args) { int n = 10; System.out.println(n+" "+aa(n)); } public static int aa(int n){ int result =

2021-04-08 21:46:39 200

原创 2021.04.08计算5的阶乘

计算5的阶乘计算5的阶乘 5!=1*2*3*4*5 public static void main(String[] args) { int aa = aa(5); System.out.println(aa); } public static int aa(int n){ int result; if (n==1){ result = 1; }else {

2021-04-08 21:29:12 810

原创 2021.04.08选择排序

选择排序算法首先假设第一个数是最小数,让他依次与其他的数字比较,如果别的数比第一个数还小就互换位置,然后确定第一位的数字为最小的数后,假设第二个数为最小的数,同理比较。代码如下 public static void main(String[] args) { int arr[] = {10,15,20,11,88,25,4,60,100,31}; for (int i = 0; i < arr.length-1; i++) {

2021-04-08 21:23:24 65

原创 2021.04.08冒泡排序

冒泡排序算法冒泡排序:首先给出一个数组,欲想给里面的数字从大到小或者从小到大排序,原理是利用相邻的两个数比较。(从小到大排序)从第一个数和第二个数开始比较,如果第一个数大,则与第二个数互换位置(反之不换位置),并且用第二个位置上的数与第三个数比较,如果第三个数大,则不换位置,反之,互换位置…详细代码如下: public static void main(String[] args) { int[] arr = {10,15,20,11,88,25,4,60,100,31};

2021-04-08 20:55:07 53

原创 2021.04.07常用类之String、StringBuilder和StringBuffer

String、StringBuilder和StringBufferString类String是不可变的字符序列,StringBuilder和StringBuffer是可变序列。String中简单的方法str.length() //输出字符串的长度 字符的个数str3.isEmpty() //判断字符串是否为空str.startsWith("b") //判断字符串是XX开始的str.endsWith("t") //判断字符串是XX结束的str.toUpperCase() /.

2021-04-07 21:40:13 103 1

原创 2021.04.07常用类之包装类

常用类Integer类型Integer.MAX_VALUE //int类型表示的最大的范围Integer.MIN_VALUE //int类型表示的最小的范围Integer.BYTES //int类型占用几个字节Integer.parseInt(str) //字符串转化成int类型Integer in = new Integer(10);String s = in.toString(); //把当前Integer转成String装箱和拆箱 int a = 10;//基本类

2021-04-07 21:16:20 63

原创 2021.04.07 ==和equals与自动装箱的经典面试题

==和equals与自动装箱的经典面试题/** * @Author:ZMR * @create 10:08 2021/4/7 * * 面试题 */public class TestD { public static void main(String[] args) { int a = 10; Integer b = 10; System.out.println(a==b); //T System..

2021-04-07 10:21:57 67

原创 2021.04.06两个数组相同元素的个数

统计一下arr2中有多少和arr1中元素相同,并输出相同元素个数(不考虑顺序)/** * 统计一下arr2中有多少和arr1中元素相同,并输出相同元素个数(不考虑顺序) */public class TestC { public static void main(String[] args) { int[] arr1={10,2,3,4,34,54,65,76}; int[] arr2={90,32,12,34,54,65,45}; int

2021-04-07 10:20:15 178

原创 2021.04.06打印99乘法表

打印99乘法表/** * 打印99乘法表 */public class TestA { public static void main(String[] args) { for (int i = 1; i <= 9; i++) { for (int j = 1; j <= i; j++) { System.out.print(j+"*"+i+"="+(i*j)+"\t"); }

2021-04-06 21:28:22 54

原创 2021.04.06JAVA定义一个数组,随便输入一个数字,判断这个数在数组中是否存在,存在返回数组的下标,否则返回-1

定义一个数组,随便输入一个数字,判断这个数在数组中是否存在,存在返回数组的下标,否则返回-1public class TestD { public static void main(String[] args) { int arr[] = {2,4,6,8,13,19,54,67}; //定义的数组 int arr2[] = {18,22,24,78,152,5,6,80}; //定义的数组 Scanner scanner = new Scann

2021-04-06 21:26:49 3108 2

原创 2021.04.06JAVA输入7科考试分数,打印平均分,总分和及格的分数

从键盘依次输入7科考试分数,打印平均分,总分和及格的学生的分数public class TestC { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); double sum = 0; //总分 double arr[] = new double[7]; //及格的分数放入此数组 double avg = 0

2021-04-06 21:25:36 781

原创 2021.04.06百钱买百鸡

百钱买百鸡使用一百文钱买一百只鸡,其中公鸡五文钱一只,母鸡三文钱一只,小鸡一文钱三只。提示:使用双重for循环加if判断解决此问题/** * 1.百钱买百鸡 */public class TestB { public static void main(String[] args) { for (int i = 1; i < 20; i++) { //公鸡的数量 for (int j = 1; j < 33; j++) { //母鸡的

2021-04-06 21:22:49 72

原创 2021.04.06直角三角形

打印直角三角形/** * 1.打印直角三角形 */public class TestA { public static void main(String[] args) { for (int i = 1; i <= 5; i++) { for (int j = 1; j <= i ; j++) { System.out.print("*\t"); } Syste

2021-04-06 21:19:20 70

原创 2021.04.06异常处理

异常处理【1】finally和final和finalize的区别         finally处理异常的操作,无论try中代码是否报错 finally中代码都会执行          final:是一个关键字 可以修饰类 方法 变量          finalize:垃圾回收方法操作【2】如果在try中添加return语句finally中

2021-04-06 21:15:37 59

原创 2021.04.06内部、外部比较器

比较器内部比较器Comparable /** * 两个对象对比大小的方法 * @param obj 另一个对象 * @return 当前对象如果比传入的对象大,则返回整数,如果小,返回负数,如果相同,返回0 */int compareTo(Object obj);注意 compareTo 不是自己定义的compareTo方法 而是String中compareTo【1】引用数据类型的数据也是可以比较大小【2】如果想要比较大小,对象需要实现Compar.

2021-04-06 21:09:08 86

原创 2021.04.06==和equals和hashCode

==和equals方法==【1】如果判读的是基本类的数据,就是单纯比较值【2】如果判读的是引用类型的数据,比较的是对象的内存地址equals不会比较内存地址,只会比较两个对象的值是否相同如果我们比较自定义两个对象是否相同一定注意需要重写equals,如果不重写,这个时候就会调用objeect中的equalsobject类中的equals方法仍然比较的是内存地址java中对于hashCode的规定hash码值相同,两个对象不一定相同两个对象相同 , hash码值必须相同...

2021-04-06 20:54:59 64

原创 2021.04.06抽象类和接口

抽象类和接口抽象类【1】使用abstract修饰的类就是抽象类,抽象类中可以写抽象方法【2】一个类继承抽象类,要么重写里面所有的抽象方法,要么这个类也是抽象类【3】抽象类不可以创建对象【4】抽象类中不仅可以书写抽象方法,还可以书写普通方法【5】抽象类中是可以定义构造方法,注意:这个构造方法提供不是为了完成初始化操作,而是为了满足子类中继承的特性。接口【1】使用interface表示接口【2】在接口中定义的所有变量都是使用 public static final修饰【3】在接口中方法都是使

2021-04-06 20:43:30 47

原创 2021.04.06JAVA面向对象之内部类

内部类成员内部类(1)内部类可以直接使用外部类的成员变量和成员方法,外部类不可以直接使用内部类的变量和方法(2)内部类和外部类中出现崇明的变量解决方案     this.变量   调用的是内部类变量     外部类.this.变量    调用的是外部类变量(3)成员内部类  等级和成员变量、成员方法等级是一样的静

2021-04-06 20:19:23 70

原创 2021.03.31面向对象之三大特征及访问修饰符

面向对象的三大特征继承、封装、多态。继承1.父类也称作超类、基类;子类:派生类。2.JAVA中只有单继承,没有像C++那样的多继承,多继承会引起混乱,使得继承链过于复杂,系统难以维护。3.子类继承父类,可以得到父类的全部属性和方法(除了父类的构造方法),但不见得可以直接访问(比如父类私有的属性和方法)。4.如果定义一个类时,没有使用extends,则他的父类是:java.lang.Object。方法的重写重写父类中的方法没有办法满足子类的要求,这个时候我们就需要进行方法的重写。# 重.

2021-04-01 21:57:00 93

原创 2021.03.31JAVA面向对象之构造器、this、static、final关键字

构造方法作用:完成初始化赋值操作特点:1.方法名称必须和类型保持一致2.不需要定义返回值void3.构造方法的调用在进行new对象的时候会自动的执行对应的构造方法4.如果我们不提供构造方法,虚拟机会自动提供一无参的构造器,如果我们书写了构造方法,默认的无参将会被覆盖5.构造方法也是可以重载的6.构造方法的书写一般书写两个(A无参,B有参)对象的创建完全是由构造方法实现的吗?不完全是 ;创建对象的整个过程分为4步,构造方法的输出只是第3步this关键字this代表的是当前对象thi

2021-03-31 21:33:04 81

原创 2021.03.22JAVA数组

数组数组是相同类型数据的有序集合。数组的基本特点1.长度是确定的。数组一旦被创建,他的大小就是不可以改变的。2.在内存中分配连续的空间,每个元素占用的空间大小是相同的。3.同一个数组其元素的类型必须是相同数据类型,不允许出现混合类型。4.数据类型可以是任何数据类型,包括基本类型和引用类型。5.数组变量属于引用数据类型数组的声明type[ ] arr_name; //方式一(推荐使用这种方式)type arr_name[ ]; //方式二数组的初始化静态初始化int []

2021-03-22 20:29:55 54

原创 2021.03.17JAVA流程控制

流程控制三目运算符 int a=10; int b=20; // a>b是否成立T 如果返回true 输出a 否则输出b System.out.println(a>b?a:b);逻辑运算符& | ! && || ^ //逻辑运算符操作数是布尔类型的,返回结果也是布尔类型类型转换–自动类型转换byte a=123;int b=a;//自动类型转换/*类型转换--.

2021-03-17 21:09:28 55

原创 2021.03.10CSS

iframe :网页的嵌套frameset:网页的划分form表单表单的属性:text:普通文本框password:密码框radio:单选框(相同的name, value)} checkedcheckbox: 多选框 (value) }file:文件select:下拉框 }selectedtextarea:多行文本框submit:提交button:普通按钮—jsreset:重置按钮H5新增的属性了解即可CSS引入方式 3种行内样式内嵌样式外联

2021-03-11 21:01:26 47

原创 2021.03.11CSS

三大选择器ID选择器(#id)>类选择器(.class)>标签选择器(标签名)其他选择器后代选择器 p span :p中所有的span子选择器 p>span : p中直系子节点分组选择器 h1,h2,h3div:把网页进行模块化分类行内元素:不会自动换行---宽和高不生效块元素:会自动换行的行内块 img input浮动(float)定位(position) absolute绝对定位 relative相对定位 fixed:固定定位盒模型: padd

2021-03-11 20:58:04 79

原创 2021.03.09HTML

小标签(格式化标签)这些可以嵌套:b/strong:加粗标签big:字体变大标签small:字体变小标签i/em:斜体标签del:删除标签ins/u:下划线标签sup:上角标标签sub:下角标标签&nbsp; 空格 &lt;小于号 &gt;大于号超链接标签a标签 href:链接的地址超链接标签的作用:【1】实现页面之间跳转【2】实现锚点功能:{(1)可以实现同一个页面的锚点 #name;(2)也可以实现不同页面之间的锚点}href:跳转的地址{

2021-03-09 21:02:36 256

原创 2021.03.08HTML

C/S(客服端/服务器)      优点:用户体验度比较高,稳定      缺点:服务器每次改变,客服端都要改变B/S(浏览器/服务器)       优点:服务器端升级应用,客服端不需要做出改变       缺点:相对C/S模式不够稳定互联网的三大基石:&n

2021-03-08 19:27:48 73

原创 java中foreach三种遍历方法

foreach遍历的方法方法一:for(User u : user){System.out.println(u);}方法二:user.foreach(System.out::println)方法三:user.foreach(u -> System,out.println(u));

2020-11-16 00:07:19 2168

原创 spring容器中 Scope的作用域

spring容器中 Scope的作用域:singleton 特点:1.Spring IOC 容器启动时会创建 Bean 对象2.每次调用 getBean 都返回 spring 容器中的唯一一个对象prototype 特点:1. Spring IOC 容器启动时不会创建 Bean 对象。2. 每次调用 getBean 都会创建一个新 Bean 对象。...

2020-11-08 10:26:30 78

空空如也

空空如也

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

TA关注的人

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