![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java
文章平均质量分 73
想进阿里的小菜鸡
小小菜鸡的进阶之路
展开
-
java多线程
一、基本概念:程序、进程、线程进程可以细化为多个线程。每个线程,拥有自己独立的:栈、程序计数器多个线程,共享一个进程中的结构:方法区和堆。程序:为完成特定任务、用某种语言编写的一组指令的集合。即一段静态的代码,静态对象。进程:是程序的一次执行过程,或者是正在运行的一个程序。是一个动态的过程:有它自身的产生、存在、消亡的过程。进程作为资源分配的单位,系统在运行时会为每个进程分配不同的内存区域。线程:进程可以进一步细化为线程,是一个程序内部的一条执行路径。与进程不同的是同类的多个线程共享进原创 2022-04-20 19:48:18 · 317 阅读 · 0 评论 -
Java反射总结
一、概述Reflection(反射)是被视为动态语言的关键,反射机制允许程序在执行期间借助于Reflection API获取到任何类的内部信息,并能直接操作任意对象的内部属性及方法。二、反射与封装性1.通过反射,可以调用类中私有构造器、私有方法、私有字段;也可以调用非私有的结构。在动态调用中使用反射。2.反射与封装的矛盾不矛盾,反射的初衷是为了调用类中公有的且是运行时类中的方法。三、java.lang.Class的类的理解加载到内存中国的类,称为运行时的类,此运行时的类就是cla原创 2022-01-15 20:40:38 · 290 阅读 · 0 评论 -
枚举类和注解
一、枚举类类的对象只有有限个,确定的。当需要定义一组常量时,强烈建议使用枚举类。当需要使用一组常量时,推荐使用枚举类。1.定义类的对象只有有限个,确定的。若枚举类只有一个对象,则可以作为一种单例模式的实现方式。2.定义枚举类JDK5.0之前,自定义枚举类;JDK5.0之后,使用enum关键字定义枚举类。2.1自定义枚举类1.私有化构造器2.类中属性私有化,且为final即用private final 定义属性3.在构造器对属性初始化4.提供当前枚举类的多个对象原创 2022-01-05 09:21:17 · 390 阅读 · 0 评论 -
Java泛型
一、泛型的理解所谓泛型就是允许在定义类、接口时通过一个标识表示类中某个属性的类型或者是某个方法的返回值及参数类型。这个类型参数将在使用时确定。二、使用1.集合中使用泛型ArrayList<Integer> list = new ArrayList<Integer>();2.嵌套泛型Set<Map.Entry<String,Integer>> entry = map.entrySet();3.总结①集合接口或集合类在JDK5.0时原创 2021-12-29 15:19:04 · 258 阅读 · 0 评论 -
Java常用类2.0
一、StringBuffer1.String、StringBuffer、StringBuilder比较String:不可变的序列,底层用char[]存储数据。StringBuffer:可变字符序列;线程安全,效率低。底层用char[]存储数据。StringBuilder:可变的字符序列;线程不安全,效率高。底层用char[]存储数据。2.源码分析①StringBuffer b1 = new StringBuffer();底层创建了一个长度为16的字符数组。②StringBuf原创 2021-12-29 10:07:03 · 166 阅读 · 0 评论 -
Java常用类1.0
目录一、String类二、String常用方法三、String与其他结构之间的转换一、String类1.声明为final的,不可被继承。2.String实现了Serializable接口:表示字符串是支持序列的。实现了Comparable接口:说明String是可以比较大小的。3.String内部定义了final char[] value用于存储字符串数据。4.String表示不可变的字符序列:当对字符串重新复制时,需要重写指定内...原创 2021-12-19 17:04:33 · 594 阅读 · 4 评论 -
Java集合看这一系列就够了---最后一篇
上一篇https://blog.csdn.net/weixin_56640241/article/details/121783221Map概述一、Map存储双列的数据,Key—Value。1.HashMap:作为Map的主要实现类,线程不安全,效率高,可以存储null的key与value。2.LinkedHashMap:保证在遍历Map元素时,可以按照添加的顺序实现遍历。原因:在原有的HashMap底层结构基础上,添加了一对指针,指向前一个与后一个元素。用于频繁遍历.3.Ha..原创 2021-12-13 20:03:04 · 2590 阅读 · 27 评论 -
Java集合看这一系列就够了---3
Java集合看这一系列就够了---2https://blog.csdn.net/weixin_56640241/article/details/121731610一、List接口方法1.add(int index,Object ele):将ele插入到下标为index处,下标从0开始。2.addAll(int index,collection eles):从index处将所有的collection插入。addAll(collection e):默认从尾端插入。3.int indexOf(原创 2021-12-08 09:51:09 · 493 阅读 · 16 评论 -
Java集合看这一系列就够了---2
上一篇地址https://blog.csdn.net/weixin_56640241/article/details/121730601?spm=1001.2014.3001.5501目录一、List二、ArrayList源码分析三、LinkedList源码分析四、Vector源码分析一、List动态数组。元素是有序的,且可以重复。List接口有三个实现类:ArrayList、LinkedList、Vector。1.经典面试题:ArrayList、LinkedLis.原创 2021-12-05 17:10:03 · 962 阅读 · 2 评论 -
Java集合看这一系列就够了---1
Java集合概述一、Java容器概述二、 集合框架三、Collections接口中的方法四、遍历集合一、Java容器概述1.集合、数组都是对多个数据进行存储操作的结构,简称为Java容器。2.1数组的特点:一旦初试化后其长度就确定了;并且其元素的数据类型也就确定了。2.2数组的缺点:1.一旦初始化后,其长度就不可以修改。2.数组中提供的方法非常有限,对于增删改查等操作非常不便,效率不高。3.获取数组中实际元素的个数需求,数组无现成的属性或方法可以使用。4.数组存储数据的特点是有序的、可以原创 2021-12-05 16:35:24 · 947 阅读 · 0 评论 -
java笔记-----异常处理
一、try-catch-finallytry{ //可能出现异常的代码块}catch(异常类型1 名字){ //处理异常}catch(异常类型2 名字){ //处理异常}finally{ //要执行的代码}说明:finally是可以选择不写的;使用try将可能出现异常代码包装起来,在执行过程中一旦出现异常,就会生成一个对应异常类的对象,根据此对象的类型去catch中进行匹配。一旦try中的异常对象匹配到某一个catch时,就进入catch中进行异常的处理。一旦处理完成就跳原创 2021-11-18 14:34:58 · 387 阅读 · 0 评论 -
java笔记-----内部类(使用频率较低)
一、定义当一个事物的内部还有一个部分需要一个完整的结构进行描述,而这个内部的完整的结构又只为外部事物提供服务,那么整个内部的完整结构最好使用内部类。 内部类可以同时对同一个包中的其他类隐藏。 内部类的方法可以访问定义这个类的作用域中的数据,包括原本私有的数据。二、分类内部类包括成员内部类、局部内部类(方法内、代码块内、构造器内)。三、成员内部类作为一个类:类内可以定义属性、方法、构造器等;可以被final修饰,表示此类不能被继承,言外之意,不使用final就可以被继承;可以被abstra原创 2021-11-18 13:59:23 · 459 阅读 · 0 评论 -
java笔记-----接口
一、关键字intersface定义:intersface 名字{}二、用法java不支持多重继承,但是有了接口后,就可以得到多重继承的效果了。 JDK7及以前,只能在接口中定义全局常量和抽象方法。常量和方法只写名字和类型也会默认为全局常量和抽象方法。接口中不能定义构造器,即接口不可以实例化对象。 Java开发中,接口通过让类来实现(implement)的方式被使用如果类实现了接口,并且重写了接口中所有的抽象方法,则此类就可以实例化对象,如果没有重写所有的抽象方法,则此类就是抽象类。 一个原创 2021-11-17 19:54:13 · 200 阅读 · 0 评论 -
java笔记-----抽象类和抽象方法
一、abstract关键字abstract可以用来修饰类、方法。 抽象类不可以用来实例化对象。但是抽象类中一定有构造器可以便于子类来实例化对象。抽象方法只有方法的声明,没有方法体。包含抽象方法的类一定是抽象类,抽象类中可以没有抽象方法。抽象方法就是为了让不同的对象去实现它的。 继承抽象类的子类,要么重写其所有的抽象方法,要么将子类声明为抽象类。二、abstract用法在父类中一个方法无法明确其的方法体时,但是其子类又必须使用该方法时,可以将该方法定义为抽象方法,强制子类去重写该方法。 注意原创 2021-11-17 17:15:14 · 300 阅读 · 0 评论 -
java笔记-----static+单例设计模式
目录一、static:某些特定的数据在内存空间中只有一份二、实例变量和静态变量三、static修饰方法:静态方法四、开发中的static五、单例模式一、static:某些特定的数据在内存空间中只有一份static可以用来修饰属性、方法、代码块、内部类 静态变量随着类的加载而加载,早于对象的创建,且在内存中只有一份。 可以用类名.静态方法来直接调用方法。二、实例变量和静态变量实例变量:我们创建了类的多个对象,每个对象都独立的拥有一套类中非静态属性。当修改其中一个对象的非静原创 2021-11-08 15:06:49 · 250 阅读 · 0 评论 -
java笔记-----equal、==、toString
一、==用于基本数据类型和引用数据类型变量中。 对于引用数据来讲,比较的是引用对象的地址值是否相同,即两个引用是否指向一个引用对象。 对于基本数据类型比较的是数值是否相等。int 10 ==double 10.0 返回为true。char类型的本质是数值。二、equals是一个方法而非运算符 只适用于引用数据类型的比较 String、Data、File、包装类等,等都重写了Object类中的equals()方法。重写以后比较的不是地址值,而是数值。 通常情况下,比较自定义类的对象是否相同原创 2021-11-04 15:38:09 · 123 阅读 · 0 评论 -
java笔记-----多态
目录一、多态性二、多态的使用三、总结四、补充一、多态性父类的引用指向子类的对象或子类的对象赋值给父类的引用。 例:父类 名字 = new 子类() 2.可以理解为一个事物的多种形态二、多态的使用当调用子父类同名同参的方法时,实际执行的是子类重写父类的方法。称为虚拟方法调用。 编译看左,执行看右 在编译期,只能调用父类中声明的方法;在执行期,实际执行的是子类重写的父类的方法。使用前提: 有类的继承关系 方法的重写(子类重...原创 2021-11-04 14:36:34 · 125 阅读 · 0 评论 -
java笔记-----继承
目录一、继承关键字extends二、方法的重写三、重写的规定四、Super关键字五、子类对象的实例化全过程一、继承关键字extends使用方法:class A extends B :A类继承B类继承的好处减少了代码的冗余,复用性好 便于功能的扩展为多态的使用,提供了前提继承的体现一但子类继承了父类后,子类中就获取了父类中声明的结构:属性+方法 私有的属性和方法也会被继承,只是封装性的影响,使用的子类不能直接调用而已。子类继承...原创 2021-11-03 21:27:49 · 99 阅读 · 0 评论 -
java笔记-----封装
一、权限修饰符程序设计追求“高内聚,低耦合”。private权限,使用对象.属性不可以直接调用,要是用类中定义的方法调用,相当于该属性被隐藏了,只有在类的定义中可以使用,在定义类之后就只能用方法来调用。二、封装性的体现将类的属性私有化,同时提供公共的方法来获取和设置此属性的值。 不对外部暴露的私有方法。三、权限修饰符4种权限:private、缺省(权限不写)、protect、public。权限从小到大 修饰类的话只能用缺省或者public,并且一个java.class文件中,只能有原创 2021-11-03 10:34:56 · 120 阅读 · 0 评论 -
黄金矿工java实现
项目价值:1.可以熟悉下java的可视化界面编程,整个项目并没有使用封装、多台的相关知识,继承性和重写用到了。2.整个项目只用到了JavaSE的基础知识,更多的是对JFrame类中pain方法的重写。3.我对着视频手敲一遍用了6个小时左右,视频在的部分章节存在问题,我在评论区留言了,没有时间的不建议,对于学习Java意义不大,但是可能会增加学习Java的兴趣。项目用到的图片imags文件下的图片项目代码:背景类BackGroundImgs:package GoldMin原创 2021-11-01 09:11:45 · 2336 阅读 · 2 评论