
JAVA
文章平均质量分 59
信息学奥赛-李老师
这个作者很懒,什么都没留下…
展开
-
maven简介
1.maven是干什么的?Maven是基于项目对象模型(POM project object model),可以通过一小段描述信息(配置)来管理项目的构建,报告和文档的软件项目管理工具,通俗点讲,就是通过pom.xml文件的配置获取jar包,而不用手动去添加jar包2.maven的优点①.简洁了添加jar包的过程。②.我们需要导入哪个jar包的时候不需要去了解他的jar包依赖关系,maven会自动导入他的相关依赖包。③.帮我们节省了,去寻找jar包的过程,可以更好地让我们去注重编程。3.mave原创 2022-03-21 16:13:31 · 236 阅读 · 0 评论 -
JAVA-异常
首先我们来看一下java异常体系结构图一、java异常体系Thorwable类(表示可抛出)是所有异常和错误的超类,两个直接子类为Error和Exception,分别表示错误和异常。其中异常类Exception又分为运行时异常(RuntimeException)和非运行时异常, 这两种异常有很大的区别,也称之为不检查异常(Unchecked Exception)和检查异常(Checked Exception)。1、Error与ExceptionError是程序无法处理的错误,它是由JVM产生和原创 2022-03-08 18:35:31 · 149 阅读 · 0 评论 -
JAVA-浅拷贝和深拷贝
对于java拷贝的理解在java语言中,当我们需要拷贝一个对象的时候,常见的会有两种方式的拷贝;深拷贝和浅拷贝。浅拷贝只是拷贝了原对象的地址,所以原对象的任何值发生改变的时候,拷贝对象的值也会随之而发生变化。深拷贝则是拷贝源对象的所有值而不是地址,所以即源对象的值发上变化时,拷贝对象的值不会发生变化。一:浅拷贝浅拷贝示意图:我们来做一个基本的演示:定义一个User类public class User {private String username = "张三";private Str原创 2022-03-08 18:31:10 · 288 阅读 · 0 评论 -
JAVA-代理
代理(Proxy)是一种设计模式,提供了对目标对象另外的访问方式;即通过代理对象访问目标对象.这样做的好处是:可以在目标对象实现的基础上,增强额外的功能操作,即扩展目标对象的功能.这里使用到编程中的一个思想:不要随意去修改别人已经写好的代码或者方法,如果需改修改,可以通过代理的方式来扩展该方法java中的代理模式:*定义:给目标对象提供一个代理对象,并且由代理对象控制对目标对象的引用*目的:①:通过代理对象的方式间接的访问目标对象,防止直接访问目标对象给系统带来不必要的复杂性②:通过代理业务对原原创 2022-03-08 18:28:47 · 173 阅读 · 0 评论 -
JAVA内部类
内部类是一个定义在另一个类中的类。那为什么要使用内部类呢?其主要原因有以下三点1.内部类方法可以访问该类定义所在的作用域中的数据,包括私有数据2.内部类可以对统一包中的其他数据隐藏起来,增强面向对象的封装性3.当想定义一个回调函数且不想编写大量代码时,使用匿名内部类比较便捷内部类代码示例:public class Person {//人在出生的时候选择性别private String[] sex = {“男性”,“女性”};class Xiaoming{private String xia原创 2022-03-08 18:25:53 · 143 阅读 · 0 评论 -
JAVA-线程实例
cpu可能会在任何一句话执行完毕的时候切换到下一个线程,所以在多线程并行的时候要注意逻辑的前后关系两个线程轮流输出,一个输出AA一个输出B,AABAABAABAABAABAAB…当CPU运行时间和等待时间达到1:1甚至1:2的时候就需要开启多线程来降低资源浪费多线程操作数据库,速度会快一些...原创 2022-03-08 18:24:36 · 316 阅读 · 0 评论 -
JAVA-接口
类实现接口,实际上就是在落实指定的规范 实现接口使用implements如果一个类要实现一个接口,那么这个类要实现这个接口的所有方法 类不支持多继承但是接口支持多实现,接口支持多实现 为啥类不支持多继承,因为面对同名方法时会出现干扰的问题,而在接口的多实现时,同名方法都没实现,因此不会出现这种冲突如果一个类实现了接口,但又不想实现这些方法时,需要这个类为一个抽象类 抽象类可以对接口进行扩展,可以扩充新标准抽象类位于接口和类的中间,也是一种非常仿生的东西,抽象类可以实现也可以继续向下甩锅,类要原创 2022-03-08 18:19:47 · 145 阅读 · 0 评论 -
JAVA基础知识_05
面试点:88.Object默认自带这几个方法面试点:89.equals(Object obj):比较两个句柄引用的地址是否是同一个地址,如果返回值为true,证明两个句柄引用的是同一个对象getClass():反射获取类信息hashCode():获取对象的散列码 散列:本身代表虽然无规则,但分布的相对均匀,就相当于把一堆数据分布,大体上分布的均匀。通常用数组来实现散列notify():唤醒线程(让线程从等待状态进入就绪状态)notifyAll():唤醒全部线程toString():默认原创 2022-01-20 19:18:57 · 269 阅读 · 0 评论 -
JAVA基础知识_04
面试大重点!!!:80.类初始化(生成对象)顺序是什么或者对象初始化顺序是什么?静态方法块>普通方法块>构造函数父类>子类非静态的属性和非静态的块属于同一级别,谁在上边谁先执行静态的属性和静态的块属于同一级别,谁在上边谁先执行不管new多少个对象,静态方法只在第一个对象执行一次当子类继承了一个父类,一定是父类先初始化子类才初始化 父类静态有限,子类静态第二,父类全部非静态优先(非静态块有先,构造方法最后),最后是子类全部非静态(非静态块有先,构造方法最后)当n原创 2022-01-14 17:48:42 · 138 阅读 · 0 评论 -
JAVA构造器
Cat cat1 = new Cat();Cat();叫做构造器public Cat(){}构造器与类同名。在构造 Employee 类的对象时, 构造器会运行,以便将实例域初始化为所希望的状态。构造器与其他的方法有一个重要的不同。构造器总是伴随着 new 操作符的执行被调用,而不能对一个已经存在的对象调用构造器来达到重新设置实例域的目的。构造器的特点:①.构造器的名称和类的名称相同②.构造器没有返回值③.构造器的最主要特点是创建对象,并且在创建对象的时候给对象赋予初 始值④.在一个原创 2022-01-10 22:10:44 · 167 阅读 · 0 评论 -
JAVA基础知识_03
50.堆中的地址是值的地址,栈中的地址是引用地址51.句柄=值的地址(堆中的地址) 引用类型赋值,就是把右侧值的地址交给左侧存储基本类型句柄和值在一起,值是直接拷贝(没有地址一说)52.传参的时候,相当于把地址拷贝过来53.在a方法里边无论做任何的操作,都无法改变b方法里边变量单位指向如果改变堆中的值,会对所有引用这个值的变量造成影响(指针也是这个原理)54.线程和方法都是一个栈,栈中地址就是一个数组,地址是连续的堆中的地址是随机分配的55.JAVA四大特性:封装,继承,多态,抽象56.原创 2022-01-10 17:21:36 · 213 阅读 · 0 评论 -
JAVA基础知识_02
46.java类首先进入内存JVM(java运行时)的方法区程序内部执行是靠栈实现的,线程的本质就是栈。47.static表示静态的,进入内存就会在jvm中的方法区内的静态区开辟存储空间,可以直接调用。48.在方法区内的Person属于类,不能被调用。当Person a = new Person();时,在堆中开辟内存给Person,创造出对象Person,才能被调用。在栈中存放句柄指向对象的地址。对象里面的变量有默认值,基本变量是0。引用变量是null.49.对象赋值...原创 2022-01-07 22:31:31 · 207 阅读 · 0 评论 -
JAVA基础知识_01
1.任何语言都有自己擅长的领域,因为他有自己的库函数2.javac XXX.java — XXX.class 由jdk翻译成中间语言class文件java XXX 由jre直接翻译成汇编或者C语言java se 就是java核心技术 ,然后由java社区引入大牛开发第三方功能,开发出越来越多的功能,形成java生态JAVA社区:JAVA开发的一个共同开发JAVA的平台JAVA生态:通过JAVA社区里的人不断开发JAVA,使得JAVA越来越好用,然后吸引更多人来开发JAV原创 2022-01-06 19:29:48 · 458 阅读 · 0 评论 -
java汉诺塔递归算法
java汉诺塔递归算法/规则:有A,B,C三个柱子,在A柱子上有n个圆盘从小到大摞起来,要求每次移动一个圆盘,最终将所有圆盘按照从小到大移动到C柱子上,每次大的不能压小的。//思路:若f(n)->C,则f(n-1)->B,f(n-2)->C,f(n-3)->B,以此类推可以推出f(1)首先去哪个柱子。那么每当确定一个柱子那么下一个柱子位置也确定,加入f(1)->C,那么f(2)->B,这里注意所有的开始的圆盘都在A这个柱子上,若圆盘较多,将多个圆盘移到B上那么,此时他原创 2021-03-16 19:13:31 · 2519 阅读 · 0 评论