10 2020 档案
摘要:函数式编程思想概述 在数学中,函数就是有输入量、输入量的一套计算方案,也就是“拿什么东西做什么事情”,相对而言,面向对象过分强调“必须通过对象的形式来做事情”,而函数式思想则尽量忽略面向对象的复杂语法--强调做什么,而不是以什么形式做。 面向对象的思想: 做一件事,找一个能解决这个事情的对象,调
阅读全文
摘要:线程池的概念和原理 线程池:其实就是一个容纳多个线程的容器,其中的线程可以反复使用,省去了频繁创建线程对象的操作,无须反复穿古剑线程而消耗过多资源。 简单来说,线程池就是在程序第一次启动的时候,就创建多个线程,保存到一个集合汇总,当我们想要使用线程的时候,就可以从集合中取出来线程使用。 当我们使用完
阅读全文
摘要:等待唤醒机制的代码实现。 注意: 包子铺线程和包子线程关系-->通信(互斥) 必须同时使用同步技术保证两个线程只能有一个在执行。 锁对象必须保证唯一,可以使用包子对象作为锁对象。 包子铺和吃货的类就需要把包子对象作为参数传递进来。 1. 需要在成员位置创建一个包子变量。 2. 使用带参数构造方法,为
阅读全文
摘要:线程间通信 概念 多个线程在处理同一个资源,但是处理的动作(线程的任务)却不相同。 比如:线程a用来生成包子,线程B用来吃包子,包子可以理解为同一资源,线程a和线程b处理的动作,一个是生产,一个是消费,那么线程a和线程b之间就存在线程通信问题。 为什么要处理线程间通信 多个线程并发执行时,在默认情况
阅读全文
摘要:线程安全问题 单线程程序是不会出现线程安全问题的,例如:一个电影院售票处卖编号1-100的门票,不会有问题。 多线程程序,没有访问共享数据,也不会产生线程安全问题,例如:三个电影售票处卖标号1-100的门票,但门票编号不同,也不会出现问题。 多线程程序访问了共享的数据,就会产生线程安全问题,例如:三
阅读全文
摘要:多线程运行原理 简单来说,多线程就是在程序执行的时候,再创建一个新的线程类,主程序执行的时候,是开辟了一条通往cpu的路径,而在主程序里面,有调用线程类的代码,也就是在执行的过程中,又开辟了一条新的通往cpu的路线。这也就是说,cpu在执行的时候就有了选择的余地,可以执行主线程,也可以执行线程类的内
阅读全文
摘要:概念 异常:指的是程序在执行过程中,出现的非正常的情况,最终会导致JVM的非正常停止。 在java等面向对象的编程语言中,异常本身是一个类,产生异常就是创建异常对象并抛出了一个异常对象。java处理异常的方式是中断处理。 异常指的并不是语法错误,语法错了,编译不会通过,不会产生字节码文件,根本不能运
阅读全文
摘要:0x00 Set接口 概述 java.util.Set接口 extends Collection接口 Set接口的特点: 不允许存储重复的元素。 没有索引,没有带索引的方法,也不能使用普通的for循环遍历。 java.util.HashSet集合 implements Set接口 特点: 不允许存储
阅读全文
摘要:0x00 List集合 java.util.List接口 extends Collection接口 list接口的特点: 有序的集合 允许存储重复的元素 有索引,包含了一些带索引的方法 1.list接口中带索引的方法(特有) public void add(int index,E elment):将
阅读全文
摘要:0x00 泛型 1.概述 泛型是一种未知的数据类型,当我们不知道使用什么数据类型的时候,可以使用泛型。 泛型也可以看出是一个变量,用来接收数据类型 E e:Element 元素 T t:Type 类型 例如:ArrayList集合在定义的时候,不知道集合中都会存储什么类型的数据,所以类型使用泛型。
阅读全文
摘要:0x00 Collection集合 1.集合概述 集合是java种提供的一种容器,可以用来存储多个数据。 2.集合和数组的区别 数组的长度是固定的,集合的长度是可变的。 数组中存储的是统一类型的元素,可以存储基本数据类型值。集合存储的都是对象,而且对象的类型可以不一致。在开发中一般当对象多的时候,使
阅读全文
摘要:0x00 Calendar类 1.概述 java.util.Calendar类:日历类 Calendar类是一个抽象类,里面提供了很多操作日历字段的方法。 Calendar类无法直接创建对象使用,里边有一个静态方法叫getInstance(),该方法返回了Calendar类的子类对象。 static
阅读全文
摘要:常用API 1.Object类 java.lang.Object类是Java语言的根类,也就是所有类的父类,所有对象(包括数组)都视线这个类的方法。 1. toString方法 直接打印对象的名字,其实就是调用对象的toString()方法。toString()打印的就是对象的地址值。 因为直接打印
阅读全文
摘要:漏洞重温之sql注入(FUZZ) [强网杯 2019]随便注 首先,根据页面,发现页面上有一个搜索框,并且url里面没有id等参数控制页面,粗略猜测该位置的注入类型是POST型。 post型注入一般使用抓包工具进行注入。 根据数据包,发现之前判断有误。但是在url里在查询操作之后多了一个可操作参数。
阅读全文
摘要:0x00 多态 1.概述 面向对象三大特征:封装性、继承性、多态性。 继承性是多态性的前提。 extends继承或者implements实现,是多态性的前提。 一个对象拥有多种形态,这就是:对象的多态性。 2.多态的格式和使用 代码当中体现多态性,其实就是一句话:父类引用指向子类对象。 格式 父类名
阅读全文
摘要:0x00 接口 接口就是一种公共的规范标准。 只要符合规范标准,就可以大家通用。 1.接口的格式 接口就是多个类的公共规范。 接口是一种引用数据类型,最重要的内容就是其中的:抽象方法。 如何定义一个接口的格式: public interface 接口名称{ //接口内容 } 备注:换成了关键字int
阅读全文
摘要:0x00 抽象类 概述 父类当中的方法,被他的子类们重写,子类各自视线都不尽相同。那么父类的方法生命和方法主题,只有声明还有意义,而方法主体则没有存在的意义了。我们把没有方法主体的方法称为抽象方法。Java语法规定,包含抽象方法的类就是抽象类。 简单来说,使用abstract关键字,然后去掉大括号,
阅读全文
摘要:0x00 继承 1.继承中方法的覆盖重写——应用场景 对于已经投入使用的类,尽量不要进行修改。推荐定义一个新的类,来重复利用其中共性内容,并且添加改动新内容。 2.继承中构造方法的访问特点 继承关系中父子类构造方法的访问特点: 子类构造方法当中有一个默认隐含的“super()”调动,所以一定是先调用
阅读全文
摘要:故事纯属虚构 俗不可耐 最近,我心里被填充的满满的,这种感觉,对我来说像是一个阔别许久的老朋友,想伸双手迎接,但怎么动作,都带着一股手足无措的味道。 现在的工作很好,每天有足够多的碎片时间让我自己慢慢提升。虽然大部分的时间都被我个人认为意义不大的文本工作占据,但不得不承认,在这些工作的磨炼中,我似乎
阅读全文
摘要:0x00 继承 继承是多态的前提,如果没有继承,就没有多态。 继承主要解决的问题是:共性抽取 1.继承关系当中的特点 子类可以用用父类的“内容”。 子类还可以拥有自己专有的内容。 **在继承的关系中,“子类就是一个父类”。也就是说,子类可以被当做父类看待。例如:父类是员工,子类是将是,那么“将是就是
阅读全文
摘要:0x00 static关键字 一旦用了static关键字,那么这样的内容不再属于对象自己,而是属于类的,所以凡是本类的对象,都共享一分。 static关键字修饰成员变量 如果一个成员变量使用了static关键字,那么这个变量不再属于对象自己,而是属于所在的类。也就是多个对象共享同一份数据。 stat
阅读全文
摘要:0x00 String类 定义 java.lang.String类代表字符串。 API当中说:Java程序中的所有字符串字面值(如:“abc”)都作为此类的实例实现。 其实就是说:程序当中所有的双引号字符串,都是String类的对象。 字符串的特点: 字符串是常量,内容用不可变。【重点】 正是因为字
阅读全文
摘要:0x00 对象数组 数组有一个缺点: 一旦创建,程序运行期间长度不可以发生改变。 0x01 ArrayList类 ArrayList类和数组的区别: 数组的长度不可以发生改变;但是ArrayList集合的长度是可以随意变化的。 对于ArrayList来说,有一个尖括号代表泛型。 泛型:也就是装在集合
阅读全文
摘要:0x00 匿名对象 匿名对象的说明 创建对象的标准格式: 类名称 对象名 = new 类名称(); 匿名对象就是只有右边的对象,没有左边的名字和赋值运算符。 格式: new 类名称(); 注意事项: 匿名对象只能使用唯一的一次,下次再用,不得不再创建一个新对象。 使用建议: 如果确定有一个对象只需要
阅读全文
摘要:0x00 API 概述 API,应用程序编程接口。Java API是一本程序员的字典。是JDK种提供给我们使用的类的说明文档。这些类将底层的代码实现封装了起来,我们不需要关心这些类是如何实现的,只需要学习这些类如何使用即可。所以我们可以通过查询API的方式,来学习Java提供的类,并得知如何使用他们
阅读全文
摘要:0x00 面向对象 1.局部变量和成员变量的区别 定义的位置不一样【重点】 局部变量:在方法的内部。 成员变量:在方法的外部,直接写在类当中。 作用范围不一样【重点】 局部变量:只有方法当中才可以使用,出了方法就不能再用。 成员变量:整个类全都可以通用。 默认值不一样【重点】 局部变量:没有默认值,
阅读全文
摘要:0x00 面向对象 【1】类和对象 什么是类:类是一组相关属性和行为的集合。可以看成是一类事物的模板,使用事物的属性特征和行为特征来描述该类事物。 现实中,描述一类事物: 属性:就是该事物的状态信息。 行为:就是该事物能够做什么。 什么是对象:对象是一类事物的具体体现,对象是类的一个实例,闭眼具备该
阅读全文
摘要:0x00 数组 1.获取数组内数据 直接打印数组名称,得到的是数组对应的内存哈希值。 访问数组元素的格式:数组名称【索引值】 索引值:就是一个int数字,代表数组当中元素的编号。 【注意】:索引值从0开始,一直到“数组长度-1”为止。 2.访问数组元素进行赋值 使用动态初始化数组的时候,其中的元素将
阅读全文