- 博客(29)
- 收藏
- 关注
原创 分布式搜索引擎-elasticsearch
elasticsearch是一款非常强大的开源搜索引擎,具备非常多强大功能,可以帮助我们从海量数据中快速找到需要的内容。
2024-09-03 08:17:24
328
原创 26.java-单元测试&xml&注解
XML的全称为(EXtensible Markup Language),是一种可扩展的标记语言。标记语言:通过标签来描述数据的一门语言(标签有时我们也将其称之为元素)可扩展:标签的名字是可以自己定义的用来限定xml文件中可使用的标签以及属性import com// 1. 获取根标签 Element rootElement = document . getRootElement();
2024-02-25 10:14:05
1166
原创 25.java-反射
方法名说明返回所有公共构造方法对象的数组返回所有构造方法对象的数组返回单个公共构造方法对象返回单个构造方法对象Class<?//反射空参构造方法(解剖)//使用空参构造方法对象,构造对象//反射带参构造方法(解剖)//小括号中,一定要跟构造方法的形参保持一致//使用有参构造方法对象,构造对象Object o2 = constructor1.newInstance("张三");//[暴力反射]带参构造方法(解剖)//开启权限//使用有参构造方法对象,构造对象。
2024-02-23 20:11:48
652
原创 24.java-类加载器
作用 : 负责将.class文件(存储的物理文件)加载在到内存中加载时机 : 用到即加载调用类的静态方法访问类或者接口的静态变量,或者为该类静态变量赋值使用反射方式来强制创建某个类或接口对应的java.lang.Class对象初始化继承体系直接使用 java.exe 命令来运行某个主类类加载器的过程加载:通过包名+类名,获取这个类,准备用流进行传输,将类加载到内存中,加载完毕创建一个class对象验证:检验文件中的信息是否符合虚拟机规范,有没有安全隐患
2024-02-20 08:51:41
1061
原创 23.java-日志框架
官网 : https://logback.qos.ch/index.html。jar 包 : 本质来说是压缩包, 内部存储的都是别人已经写好的代码。Jakarta : Apache基金旗下的开源Java项目社区。通常可以设置2个日志输出位置:一个是控制台、一个是系统文件中。
2024-02-19 19:49:18
365
原创 21java-多线程-高级
从newFixedThreadPool的底层来看,LinkedBlockingQueue是一个用链表实现的有界阻塞队列,它并未指定容量,是一个无边界的阻塞队列,最大长度为Integer.MAX_VALUE.对于一个无边界队列来说,是可以不断的向队列中加入任务的,这种情况就有可能因为任务过多导致内存溢出问题。 线程池在启动的时,会创建大量空闲线程,当我们向线程池提交任务的时,线程池就会启动一个线程来执行该任务。核心线程和临时线程都在忙,任务队列也满了,新的任务过来的时候才会开始任务拒绝。
2024-02-01 17:55:24
954
原创 20.java-多线程
正在运行的程序.线程指的就是程序中的任务.单线程 : 程序只有一条执行路径多线程 : 程序有多条执行路径概述生产者消费者模式是一个十分经典的多线程协作的模式,弄懂生产者消费者问题能够让我们对多线程编程的理解更加深刻。所谓生产者消费者问题,实际上主要是包含了两类线程: 一类是生产者线程用于生产数据 一类是消费者线程用于消费数据为了解耦生产者和消费者的关系,通常会采用共享的数据区域,就像是一个仓库生产者生产数据之后直接放置在共享数据区中,并不需要关心消费者的行为。
2024-01-31 11:46:35
1154
原创 14java-递归&&异常
可以使用异常的机制管理业务问题,如提醒程序员注意。同时一旦出现bug,可以用异常的形式清晰的指出出错的地方定义一个异常类继承Exception.重写构造器。在出现异常的地方用throw new 自定义对象抛出**作用:**编译时异常是编译阶段就报错,提醒更加强烈,一定需要处理!定义一个异常类继承RuntimeException.重写构造器。在出现异常的地方用throw new 自定义对象抛出!**作用:**提醒不强烈,编译阶段不报错!!运行时才可能出现!!
2024-01-29 20:19:44
740
原创 18.java-File 类
File类代表操作系统的文件对象(文件、文件夹)思路 : 今后但凡是要用 Java 程序操作文件或文件夹, 第一个就要想到File类。
2024-01-28 15:47:42
500
原创 16.java-数据结构
数据结构是计算机底层存储、组织数据的方式。是指数据相互之间是以什么方式排列在一起的。通常情况下,精心选择的数据结构可以带来更高的运行或者存储效率各种数据结构的特点和作用是什么样的队列:先进先出,后进后出。栈:后进先出,先进后出。数组:内存连续区域,查询快,增删慢。链表:元素是游离的,查询慢,首尾操作极快。
2024-01-26 16:22:54
478
1
原创 15.java-集合
哈希值:是根据某种规则算出来的int类型的整数Public int hashCode():调用底层C++代码计算出的一个随机数(常被人称作地址值)如果想要集合中的元素可重复用ArrayList集合,基于数组的。(用的最多)如果想要集合中的元素可重复,而且当前的增删操作明显多于查询用LinkedList集合,基于链表的如果想对集合中的元素去重用HashSet集合,基于哈希表的。(用的最多)如果想对集合中的元素去重,而且保证存取顺序。
2024-01-25 09:32:17
1220
原创 12.java-枚举
编译器为枚举类新增了几个方法,枚举类都是继承:java.lang.Enum类的,从enum类也会继承一些方法。枚举类中的第一行,只能写一些合法的标识符(名称),多个名称用逗号隔开。(第一行必须罗列的是枚举对象的名字)枚举的构造器都是私有的,所以枚举类对外不能创建对象。枚举类也可以有抽象方法,但是枚举项必须重写该方法。枚举 : 可以理解是一种多例设计模式。从第二行开始,可以定义其他各种成员。枚举类都是最终类,不可以被继承。
2024-01-24 21:56:44
380
原创 11.2正则表达式
//任何字符\d //一个数字: [0-9]\D //非数字: [^0-9]\s //一个空白字符: [ \t\n\x0B\f\r]\S //非空白字符: [^\s]\w //[a-zA-Z_ 0-9]英文、数字、下划线\W //[^\w] -个非单词字符贪婪的量词(配合匹配多个字符)X?//X,一次或根本不X* //X,零次或多次(任意次数)X+ //X,一次或多次X{n} //X,正好n次X{n,} //X,至少n次X{n,m} //X,至少n但不超过m次。
2024-01-24 21:55:59
457
原创 11.1java-设计模式
*小结:**模板设计模式的优势,模板已经定义了通用结构,使用者只需要关心自己需要实现的功能即可。当我们需要使用一个接口,但是只需要接口中的一部分方法,就可以创建一个适配器类。将抽象类整体,看做为是一个模板,而模板中不能决定的东西,就定义为抽象方法。3.提供一个类方法,保证返回的是同一个对象。2.定义一个类变量记住类的一个对象。2.定义一个类变量用于存储对象。-让使用模板的人,来丰富方法。3.定义一个类方法,返回对象。确保一个类只有一个对象。1.把类的构造器私有。1.把类的构造器私有。
2024-01-24 21:55:44
372
原创 11.0java-内部类&&Lambda表达式
创建成员内部类对象要先创建外部类对象:外部类命.内部类名 对象名 = new 外部类名().new 内部类名();创建静态内部类对象:外部类命.内部类名 对象名 = new 外部类名.内部类名。**特点:**匿名内部类本质就是一个子类,并会立即创建出一个子类对象。一种特殊的局部内部类;可以直接访问外部类的静态成员,不可以直接访问外部类的实例成员.Lambad表达式只能简化函数式接口的匿名内部类的写法形式。内部类调用外部类的变量通过:外部类名.this.变量名。**作用:**用于更方便的创建一个子类对象。
2024-01-24 21:55:23
355
原创 9.java-抽象类
*final:**被abstract 修饰的方法,强制要求子类重写,被final修饰的方法子类不能重写**private:**被abstract修饰的方法,强制要求子类重写,被private修饰的方法子类不能重写**static:**被static 修饰的方法可以类名调用,类名调用抽象方法没有意义静态。
2024-01-24 20:11:22
322
原创 8.java-多态
多态是在继承实现情况下的一种现象,表现为:对象多态,行为多态一个对象表现出来的多种形态,一个对象可以是本类类型,也可以是父类类型父类引用指向子类对象。**作用:**多态机制可以在不修改父类代码的基础上,允许多个子类进行功能的扩展。
2024-01-24 20:10:53
348
原创 7.java-继承
1.定义与作用继承就是赠与获取的关系,直接获取资源,增强功能等Java中的继承指的是子类获取了父类提供的属性或方法,从而大大实现代码的复用,并增强了子类的功能,同时提高了代码的可维护性。2.使用方式,子类使用extends关键字实现继承。
2024-01-24 20:10:24
792
原创 6.java-Static和final关键字
final表示“最终的、不可改变的、完结的”final关键字,可以修饰方法,类,变量在使用final声明变量时,一般会要求变量名的单词全部大写,且变量名由多个单词组成时,多个单词之间用下划线“_”分隔开,比如“
2024-01-24 20:09:57
873
原创 5.java-String,arraylist常用API
(每次试图改变字符串对象实际上是新产生了新的字符串对象了,变量每次都是指向了新的字符串对象,之前字符串对象的内容确实是没有改变的,因此说String的对象是不可变的。(字符串拼接实际上是调用StringBuilder创建一个对象调用方法拼接产生一个新的字符串,对象New出来的所以在堆内存中,不在字符串常量池)比较引用类型数据的时候,如果没有修改比较的规则,则比较地址值,如果修改了比较的规则,则比较内容(String字符串就修改了规则,比较的是内容)//< >:泛型(广泛的类型、泛泛的类型、未知的类型)
2024-01-24 20:08:56
707
原创 4.Java封装应用
定义:所谓封装,就是将类中成员变量通过私有的访问控制符private进行修饰,不允许外部的对象直接调用属性,在类中提供公共的setXXX与getXXX方法给属性赋值或取值,这种机制称为封装作用:计算机代码更加规范,同时使数据更加安全,外部不能轻易篡改数据建议 java 的类一律使用封装1.定义与作用为了更好体现面向对象编程及扩展八大基本数据类型的功能,给八大数据类型设置了对应的类类型,这种跟基本数据类型对应的类类型称为包装类2.基本数据类型与包装类的对应关系long——Long。
2024-01-24 20:08:27
363
原创 3.Java面向对象基础
1.面向对象按Java的编程思想,将现实中的万物都比作为”对象“,也就是”万物皆对象“,然后将对象的特点引入到Java编程之中,因为”对象“更加贴近现实生活,方便了对编程的理解与实现。2.对象的特点对象:包含特征与行为,这些行为与特征能够很方便的表示出来,那么java程序也是如此。
2024-01-24 20:05:02
889
原创 2.Java方法的应用和数组
Arrays数组工具,在Java.utils包中,可以实现数组的排序与动态扩容与缩容。指的是封装了能够实现某个功能的代码块,实现方法的复用,方便维护和修改。元素的下标(索引):元素在数组中存储的位置号,结束为数组的长度-1。比如:int[][] arr = new int[3] [4]数组的长度length:指的是数组中存储元素的最大的个数。数组元素的赋值与取值: 都是通过数组名(下标)来存取。数组的存储空间:存地址(栈), 存内容(堆)二维数组中元素表示:数组名[行下标] [列下标]
2024-01-24 20:04:35
442
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人