![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java
文章平均质量分 64
蛋翼
这个作者很懒,什么都没留下…
展开
-
【java进阶10:IO流】File类、序列化与反序列化、作业:目录拷贝、IO+Properties的联合应用
IO流,什么是IO?通过IO可以完成硬盘文件的读和写。IO流的分类:有多种分类方式:一种方式是按照流的方向进行分类:以内存为参照物。 往内存中去,叫:输入(Input),或者叫:读(Read) 从内存中出,叫:输出(Output),或者叫:写(Write)另一种方式是按照读取数据方式不同进行分类:字节流 有的流是按照字节的方式读取数据,一次读取一个字节byte(8个二进制位)。这种流是万能的,什么类型的文件都可以读取。包括:文本文件、图片、声音文件、视频文件等······原创 2023-04-08 13:00:00 · 357 阅读 · 0 评论 -
【java进阶13: 注解】java内置的需要掌握的注解、元注解、反射注解、反射方法上的注解、注解在开发中的作用
只能出现在类上面,要求这个类中必须有一个int类型的id属性,如果没有这个属性就报异常,如果有这个属性则正常运行。如果一个注解的属性名是:value,并且该注解类型中只有这一个属性时在使用的时候,该属性名可以省略。注解中的属性为数组时,如果只写一个参数,则大括号可以省略,属性有枚举类型时怎么用。这个Target注解用来标注“被标注的注解”可以出现在哪些位置上。用来标注“注解类型”的“注解”,称为“元注解”这是一个元注解,用来标注“注解类型”的“注解”这是一个元注解,用来标注“注解类型”的“注解”原创 2023-04-11 14:15:00 · 466 阅读 · 0 评论 -
【java进阶12: 反射】获取类的字节码的三种方式、获取文件绝对路径(包括以流的方式返回)、资源绑定器、可变长度参数、反射调用对象方法、获取某个类的父类/实现的接口
通过类加载器加载,看到以上代码类加载会找String.class文件,找到就加载,那么是怎么进行加载的呢? 注意:扩展类加载器专门加载:C:\Program Files\Java\jdk1.8.0_221\jre\lib\ext*.jar。 如果通过“启动类加载器”加载不到的时候,会通过“扩展类加载器”加载。双亲委派,如果都加载不到,才会考虑从应用类加载器中加载。 如果“扩展类加载器”没有加载到,那么会通过“应用类加载器”加载。“父”无法加载到,再从“扩展类加载器”中加载,这个称为“母”原创 2023-04-10 13:00:00 · 1204 阅读 · 0 评论 -
【java进阶11:多线程】实现多线程的方式、线程的生命周期、线程调度、多线程并发中数据的安全问题、死锁、守护线程、定时器、wait和notify方法、生产者和消费者模式
多线程什么是进程?什么是线程?进程是一个应用程序(可以理解为是一个软件)。线程是一个进程中的执行场景/执行单元。一个进程可以启动多个线程。对于java程序来说,当在DOS命令窗口中输入:java HelloWorld 回车之后先启动JVM,而JVM就是一个进程。JVM先启动一个主线程调用main方法;同时再启动一个垃圾回收线程负责看护,回收垃圾。最起码,现在的java程序中至少有两个线程并发,一个是执行main方法的主线程,一个是垃圾回收线程。进程和线程的关系阿里巴巴:进程京东:进程。原创 2023-04-09 12:15:00 · 138 阅读 · 0 评论 -
【java进阶09:集合】泛型、增强for、Collections集合工具类
集合概述什么是集合?有什么用?数组实际上就是一个集合。集合实际上就是一个容器,可以来容纳其他类型的数据。集合为什么在开发中使用的比较多? 集合是一个容器,是一个载体,可以一次容纳多个对象。在实际开发中,假设连接数据库,数据库当中有10条记录,那么假设把这10条记录查询出来,在java程序中会将10条数据封装成10个java对象,然后将10个java对象放到某一个集合当中,将集合传到前端,然后遍历集合,将一个数据一个数据展现出来。原创 2023-04-07 08:00:00 · 269 阅读 · 0 评论 -
【java进阶08:异常】finally关键字、自定义异常类、用户业务作业、军队武器作业
注意:java中异常发生之后如果一直上抛,最终抛给了main方法,main方法继续上抛,抛给了调用者JVM,JVM知道这个异常发生,只有一个结果:终止java程序的执行。假设java中没有对异常进行划分,没有分为编译时异常和运行时异常,所有的异常都需要在编写程序阶段对其进行预处理,将是怎样的效果? 异常发生之后,如果我选择了上抛,抛给了我的调用者,调用者需要对这个异常继续处理,那么调用者处理这个异常同样有两种处理方式。编译时异常和运行时异常,都是发生在运行阶段,编译阶段异常是不会发生的。原创 2023-04-05 22:35:11 · 431 阅读 · 0 评论 -
【java进阶07:常用类】String类、包装类、日期类Date、数字类、随机数、枚举类型
获取自1970年1月1日 00:00:00 000 到当前系统时间的总毫秒数,以及统计一个方法执行所耗时长。生成5个不重复的随机数[0~100],如果重复,则重新生成,然后放到数组当中,要求这5个随机数不能重复。String、int、Integer之间的互相转换。通过访问包装类的常量,来获取最大值和最小值。获取系统当前时间,以及对日期的格式化。String类中需要掌握的一些方法。String类型的字符串存储原理。Integer类当中常用的方法。String类的面试题一个。String类中的构造方法。原创 2022-11-25 09:15:00 · 435 阅读 · 0 评论 -
【java进阶06:数组】使用一维数组模拟栈数据结构 使用二维数组模拟酒店,酒店管理系统 Arrays工具类 冒泡排序算法、选择排序算法、二分法
数组总结:1、数组的优点和缺点,并且要理解为什么。空间存储上,内存地址是连续的每个元素占用的空间大小相同知道首元素的内存储地址通过下标可以计算出偏移量通过一个数学表达式,就可以快速计算出某个下标位置上元素的内存地址,直接通过内存地址定位,效率非常高优点:检索效率高缺点:随机增删效率低,数组无法存储大数据量注意:数组最后一个元素的增删效率不受影响。2、一维数组的静态初始化和动态初始化静态初始化:动态初始化://四个长度的一维数组,每个元素默认值0。原创 2022-11-24 10:00:00 · 499 阅读 · 0 评论 -
【java进阶05:内部类与匿名内部类】
当new的对象后面有{}时,这就是一个匿名内部类。只是new的不是一个接口的匿名内部类,而是一个类的,相当于匿名重写方法。所以当我们又加了一个{},表示的含义,其实就是一个代码块。原创 2022-11-23 08:00:00 · 92 阅读 · 0 评论 -
【java进阶04:继承】Object类需要重写的方法:toString()方法、equals()方法、finalize()方法 以及 hashCode()方法
这个老祖宗类中的方法需要先研究一下,因为这些方法都是所有子类通用的。任何一个类默认继承Object,就算没有直接继承,最终也会间接继承。String类中SUN重写了他的toString方法和equals方法。使用IDEA自动生成toString和equals方法。String对象比较的时候必须使用equals方法。Object类的 toString() 方法。GC负责调用的finalize方法。Object类的equals方法。equals()方法重写练习。hashCode()方法。原创 2022-11-22 08:00:00 · 903 阅读 · 0 评论 -
【java进阶03: package和import】及访问控制权限
同一个包中import可以省不同包的两个类,一个类中要使用另一个类中的东西,必须有import解释之前接收键盘输入时使用的java.util.Scanner ,以及使用java.lang.下所有的类都不需要导。原创 2022-11-21 14:05:47 · 673 阅读 · 0 评论 -
【java进阶02:抽象类和接口】类与类之间的关系 抽象类与接口的区别
什么是抽象类非抽象类继承抽象类,该抽象类中有抽象方法,非抽象子类中一定要对该抽象方法进行实现,否则报错面试判断题:java中凡是没有方法体的方法都是抽象方法。错误的。原创 2022-11-18 08:00:00 · 281 阅读 · 0 评论 -
【java进阶01:final关键字】final修饰的变量只能赋一次值
final修饰的类无法继承。final修饰的引用一旦指向某个对象,则不能再指向其他对象,但该引用指向的对象内部的数据是可以修改的。编辑final修饰的实例变量必须手动初始化,因为系统不会赋默认值,强制手动赋值,否则报错final修饰的实例变量一般和static联合使用,成为常量。原创 2022-11-17 19:13:15 · 2986 阅读 · 0 评论 -
【java基础19:super关键字】用法、内存图里的运行原理等 之前的作业:猜数字、计算器、打印时/分/秒(满进/少退)
super关键字 super是一个关键字 super: super能出现在实例方法和构造方法中 super的语法是:“super.”、“super()” super不能使用在静态方法中 super.大部分情况下是可以省略的。 super.什么时候不能省略 父类和子类中有同名属性/相同方法,想在子类中访问父类的东西,“super.”不能省 super()只能出现在构造方法第一行,通过当前的构造方法去调用“父类”中其他的构造方法原创 2022-05-06 01:00:00 · 343 阅读 · 0 评论 -
【java基础18:方法覆盖与多态】什么时候使用方法覆盖 toString方法的覆盖 多态的基础语法与作用 向上/向下转型
方法覆盖与多态;什么时候使用方法覆盖 toString方法的覆盖 多态的基础语法与作用 向上/向下转型原创 2022-05-05 01:00:00 · 510 阅读 · 0 评论 -
【java基础17:继承】子类调用父类方法 何时使用继承 Object中有哪些方法 println()方法的解释 toString 方法的测试
继承(extends) 什么是继承?继承有什么用? 继承:在现实世界中也存在,例如:父亲有钱,儿子不用努力也很有钱 继承的作用: 基本作用:字类继承父类,代码可以得到复用。 主要/重要作用:有了继承关系,才有了后期的方法覆盖和多态机制 继承的相关特性 B类继承A类:A类为超类(superclass)、父类、基类。 B类则称为子类(subclass)、派生类、扩展类 class A{}class B extends A{}//原创 2022-05-03 01:00:00 · 3245 阅读 · 0 评论 -
【java基础16:static、this关键字】this什么时候不能省 java中变量的存储位置 类体中能放哪些东西的总结
目录static关键字this关键字this作业1this作业2this什么时候不可以省略java中变量的存储位置综合作业1综合作业2总结:static关键字 static修饰的统一都是静态的,都是类相关的,不需要new对象,直接采用”类名.“访问 /* static: 1、static翻译为:“静态的” 2、所有的static关键字修饰的都是类想关的,类级别的 3、所有static 修饰的,都是原创 2022-05-02 01:00:00 · 488 阅读 · 0 评论 -
【java基础15:面向对象】与面向过程的区别 类和对象的概念 空指针异常、方法调用时参数传递问题、构造方法、封装
目录面向对象和面向过程有什么区别类和对象的概念程序在什么情况下会出现空指针异常呢?方法调用时参数的传递问题构造方法封装面向对象和面向过程有什么区别 从语言方面出发: 对于C语言来说,是完全面向过程的。 对于C++语言来说,是一半面向过程,一半面向对象。(C++是半面向对象的) 对于java语言来说,是完全面向对象的。 什么是面向过程的开发方式? 面向过程的开发方式主要的特点是:...原创 2022-05-01 01:00:00 · 568 阅读 · 0 评论 -
【java基础14: 方法】方法重载及方法递归
目录方法方法重载方法递归方法 什么是方法,有什么用? 方法(method)是可以完成某个特定功能的并且可以重复利用的代码片段。 在C语言中,方法被称为“函数”。在java中,叫做方法。 你定义/抽取一个方法,而这个方法却无法完成某个功能。那么抽取的这个方法毫无意义。一般一个方法就是一个功能单元。 假如在以后的开发中,某个功能是可以独立抽取出来的。建议定义为方法,这样以后只要需要这个功能,那么直接调用这个方法即可,而不需要重复编写业务逻辑代码。 没用方法的求和原创 2022-04-30 01:00:00 · 242 阅读 · 0 评论 -
【Java基础13:控制语句的练习】
计算1000以内不能被7整除的整数之和计算:1+2-3+4-5+6-7+·····+100的结果从控制台输入一个正整数,计算该数的阶乘,例如:输入5,阶乘为54321质数判断输出星号图形——*金字塔用for循环,尽量避免在循环外部输出更新表达式位置上的变量完数给一个不多于5位的正整数,判断其是几位数并逆序打印原创 2022-04-29 01:00:00 · 1254 阅读 · 0 评论 -
【java基础12 控制循环的语句:BREAK CONTINUE】
目录break语句:continue语句:break 和return的区别:break终止循环,return终止方法break语句: break是java语言当中的关键字,被译为“中断/折断” break+";" 可以成为一个单独的完整的java语句: break; break语句使用在switch语句中,用来中止循环的执行。 break语句同样可以使用在循环语句中,用来中止循环的执行。 break终止哪个循环呢? break;语句使用在原创 2022-04-28 01:00:00 · 264 阅读 · 0 评论 -
【java基础11 控制语句:WHILE】
目录WHILE循环语句do…whileWHILE循环语句 while循环的语法结构: while(布尔表达式){ 循环体;} while循环的执行原理: 先判断布尔表达式的结果: *true -执行循环体 *判断布尔表达式的结果: *true -执行循环体 *判断布尔表达式结果 *true —执行循环体 *判断布尔表达式结果: ·······原创 2022-04-27 01:00:00 · 156 阅读 · 0 评论 -
【java基础10 控制语句:FOR】java用for循环找出100以内的质数,以及找出10000以内的质数,并且每八个换行输出 猜数、100-999的水仙花数
目录FOR循环练习FOR循环 循环结构: 在程序当中总有一些需要反复/重复执行的代码,假设没有循环结构,那么这段需要重复执行的代码就需要重复编写。代码无法得到重复使用。所以多数编程语言都是支持循环结构的。将来把需要反复执行的代码片段放到“循环体“,再联合”计数器“,共同控制这段需要反复执行的代码。 基本上所有的编程语言支持的循环包括三种: for循环 while do . . .while 当前示例主要讲解for循环,for循环的语法结构: 语法结构原创 2022-04-26 01:00:00 · 778 阅读 · 0 评论 -
【java基础09 控制语句:SWITCH】
switch语句 switch语句也属于选择结构,也是分支语句 switch语句的语法结构: 一个比较完整的switch语句应该这样编写: public class SwitchText01 { public static void main(String[] args){ switch(int或String类型的字面值或变量){ case int或String类型的字面值或变量: java语句;原创 2022-04-25 01:00:00 · 451 阅读 · 0 评论 -
【java基础08 控制语句:IF】
目录java中的if语句,属于选择结构。if语句又被称为分支语句/条件控制语句练习java中的if语句,属于选择结构。if语句又被称为分支语句/条件控制语句 if语句的语法结构:四种编写方式 public class IfText01 { public static void main(String[] args){//第一种:条件为真,执行java语句,如果条件为假,不执行并结束 if (true){ java语句原创 2022-04-24 01:00:00 · 789 阅读 · 0 评论 -
【java基础7 过渡8:接收用户键盘输入】
目录接收用户键盘输入方法Scanner类中方法的区别接收用户键盘输入方法System.out.println(); 负责向控制台输出【从内存到控制台,输出的过程,这是从内存中出来了】接收用户键盘输入,从“键盘”到“内存” 。【输入的过程,到内存中去】以下代码,固定编写就可以接收用户键盘的输入。public class KeyInputText { public static void main(String[] args){ //第一步:创建键盘扫描原创 2022-04-23 01:00:00 · 2567 阅读 · 0 评论 -
【java基础07:运算符】算术、关系、逻辑、赋值类、字符串连接运算符,三元运算符
java的运算符:算术运算符、关系运算符、逻辑运算符、赋值类运算符、字符串连接运算符、三元运算符。++--运算符、短路与、短路或原创 2022-04-21 01:00:00 · 333 阅读 · 0 评论 -
【java基础06:数据类型】及拓展、转义字符、计算机二进制的表现形式
JAVA是强类型语言,所有的变量必须先定义才能使用。计算机只认识二进制,那么计算机是怎么表示现实世界当中的文字的呢?计算机二进制的三种表现方式:源码、反码、补码char类型整数型整数型之间的类型转换浮点数布尔型:boolean基本数据类型之间的互相转换转义字符原创 2022-04-20 01:00:00 · 577 阅读 · 0 评论 -
【java基础05:变量】
变量 什么是变量? 变量本质上说是内存中的一块空间,这块空间“有数据类型”、“有名字”、“有字面值”。 变量包含三部分:数据类型、名称、字面值【数据】 变量是内存中存储数据的最基本的单元。 数据类型的作用 不同的数据有不同的类型,不同的数据类型底层会分配不同大小的空间。 数据类型是指导程序在运行阶段应该分配多大的内存空间。 变量要求:变量中存储的具体的“数据”必须和变量的“数据类型”一致,当不一致时编译报错。 声明/定义 变量的语法格式: 数据类型(空原创 2022-04-19 13:20:52 · 116 阅读 · 0 评论 -
【java基础04:注释 关键字 标识符 字面值 字节】
注释 单行注释 //这里是单行注释 多行注释 /*这里是多行注释里面的内容可以换行*/ 文档注释S /** * @Description HelloWorld * @Author qishi *//** 这里面的文档注释可以换行 文档注释允许把关于程序的信息嵌入到程序内部,我们可以用javadoc来提取这些信息,形成帮助文档 */ 关键字*在编写的过程中记忆abstract assert boolean.原创 2022-04-19 12:59:20 · 387 阅读 · 0 评论 -
【java基础03:java程序的运行】用dos命令窗口编译运行时出现“错误:编码GBK 的不可映射字符”的解决方法 用IDEA打开eclipse java项目时出现编译错误的解决方法
windows操作系统是如何搜索硬盘上某个命令的呢?首先会从当前目录下搜索 当前目录搜索不到的话,会从环境变量path指定的路径当中搜索某个命令 如果都搜索不到,则报错。——配置环境变量Path、classpath 注意:Path环境变量和java语言没有关系,path环境变量是属于Windows操作系统的一个知识点。Path环境变量是专门给Windows操作系统指路的。 javac想要随意使用,需要将javac所在的目录配置到环境变量Path中: Path=XXXX;C原创 2022-04-18 17:56:18 · 1120 阅读 · 0 评论 -
【java基础02:第一个java程序】HelloWorld public class 和class的区别 java的加载与运行原理 println和print的区别
java的语言特性 简单性 在JAVA中,真正操作内存的是JVM(JAVA虚拟机)(C++语言写的一个虚拟机) 所有的java程序都是运行在java虚拟机当中的。 而java虚拟机执行过程中再去操作内存 对于C或者C++来说,程序员都是可以直接通过指针操作内存的 C或者C++更灵活,可以直接程序员操作内存,但是要求程序员技术精湛。C语言或C++更有驾驭感 java语言屏蔽了指针概念,程序员不能直接指针操作,或者说程序员不能直接操作内存。这种方式也有缺点: ...原创 2022-04-04 10:51:07 · 758 阅读 · 0 评论 -
【java基础01:常用的dos命令】
学习编程语言所需要的基础dos命令原创 2022-04-03 10:27:05 · 701 阅读 · 0 评论