
java
文章平均质量分 93
学习视频:
动力节点:https://www.bilibili.com/video/BV1Rx411876f?spm_id_from=333.788.b_636f6d6d656e74.12
黑马:https://www.bilibili.com/video/BV1HJ411n7Cc?p=1
顺毛黑起
小白一枚,路漫漫其修远兮,吾将上下而求索
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Git--分布式版本控制工具
视频学习参考:【黑马程序员Git全套教程,完整的git项目管理工具教程,一套精通git-哔哩哔哩】 https://b23.tv/5NWxwGm原创 2022-07-27 12:44:02 · 190 阅读 · 0 评论 -
java基础语法(四十一)—注解(二)
注解的概述注释:用文字描述程序,给程序员看的。注解:说明程序的,给计算机看的。*定义:注解(Annotation),也叫元数据。一种代码级别的说明。它是JDK1.5及以后版本引入的一个特性。与类、接口、枚举是在同一个层次。它可以声明在包、类、字段、方法、局部变量、方法参数等的前面,用来对这些元秦进行说明,注释。*概念描述︰*JDK1.5之后的新特性*说明程序的*使用注解︰@注解名称*作用分类∶1.编写文档:通过代码里标识的注解生成文档【生成文档doc文档]】2.代码分析:通过代码里标识的原创 2020-12-10 21:31:09 · 194 阅读 · 0 评论 -
java基础语法(三十九)—反射机制(二)
反射的概述java在计算机中奖励的三个阶段如下图所示:框架:半成品软件。可以在框架的基础上进行软件开发,简化编码。反射:将类的各个组成部分封装为其他对象,这就是反射机制。好处:可以在程序运行过程中操作这些对象可以解耦,提高程序的可扩展性获取Class对象的方式:Class.forName(“全类名”):将字节码文件加载内存,返回Class对象类名.class:通过类名的属性class获取对象.getClass():getClass()方法在Object类中定义结论:同一个字节码文原创 2020-12-10 19:46:30 · 241 阅读 · 0 评论 -
java基础语法(十三)接口—(二)函数式接口
函数式接口的概念**函数式接口在java中是指:有且仅有一个抽象方法的接口。当然接口中可以包含其他的方法(默认,静态,私有)格式:只要确保接口中有且仅有一个抽象方法。修饰符 interface 接口名称{ public abstract 返回值类型 方法名称(可选参数信息); //其他非抽象方法内容}接口当中抽象方法的public abstract是可以省略的@FunctionalInterface注解作用:可以检测接口是否是一个函数式接口 是:编译原创 2020-12-10 19:22:58 · 205 阅读 · 0 评论 -
java基础语法(四十二)--网络编程
网络基本概念网络通信协议∶通过计算机网络可以使多台计算机实现连接,位于同一个网络中的计算机在进行连接和通信时需要遵守一定的规则,这就好比在道路中行驶的汽车一定要遵守交谲规则一样。在计算机网络中,这些连接和通信的规则被称为网络通信协议,它对数据的传输格式、传输速率、传输步骤等做了统一规定,通信双方必须同时遵守才能完成数据交换。TCP/IP协议︰传输控制协议/因特网互联协议( Transmission Control Protocol/Internet Protocol),是Internet最基本、最广泛.原创 2020-12-05 16:06:45 · 280 阅读 · 0 评论 -
sun.misc.BASE64Decoder和sun.misc.BASE64Encoder不可用
转载的出处:https://www.cnblogs.com/wsygdb/p/7890237.html最近研究项目,JDK是9.0.4,在IDEA上配置好JDK为9后,发现项目有错,查看发现sun.misc.BASE64Decoder和sun.misc.BASE64Encoder不可用。错误提示:Error:(29, 16) java: 找不到符号 符号: 类 BASE64Decoder 位置: 程序包 sun.misc解决方法:在和报错同目录下创建一个Base64.class,将转载 2020-06-02 20:03:24 · 2361 阅读 · 0 评论 -
java基础语法(四十一)—注解(一)
1.注解,或者叫做注释,英文单词是: Annotation2、注解Annotation是一种引用数据类型。编译之后也是生成xxx.class文件。3. 怎么自定义注解呢?语法格式?[修饰符列表] @interface 注解类型名{}4、注解怎么使用,用在什么地方?第一:注解使用时的语法格式是:@注解类型名第二:注解可以出现在类上、属性上、方法上、变量上等…注解还可以出现在注解类型上。/*自定义注解 MyAnnotation */public @interface MyAnnota原创 2020-05-24 22:08:10 · 266 阅读 · 0 评论 -
java基础语法(四十)类加载器
关于JDK中自带的类加载器:1.什么是类加载器?专门负责加载类的命令/工具.ClassLoader2.JDK中自带了3个类加载器启动类加载器:rt.jar扩展类加载器:ext/*.jar应用类加载器:classpath3.假设有这样一段代码:String s = “abc”;代码在开始执行之前,会将所需要类全部加载到JVM当中.通过类加载器加载,看到以上代码类加载器会找string.class文件,找到就加载,那么是怎么进行加载的呢?首先通过“启动类加载器”加载。注意:启动类加载原创 2020-05-24 21:46:36 · 287 阅读 · 0 评论 -
java基础语法(三十九)—反射机制(一)
反射机制1、反射机制有什么用?通过java语言中的反射机制可以操作字节码文件.优点类似于黑客( 可以读和修改字节码文件)通过反射机制可以操作代码片段。(class文件)2、反射机制的相关类在哪个包下?java.lang.reflect.*;3、反射机制相关的重要的类有哪些?java.lang.Class:代表整个字节码,代表一个类型,代表整个类java.lang.reflect.Method:代表字节码中的方法字节码。代表类中的方法java.lang.reflect.Constructo原创 2020-05-24 21:21:12 · 240 阅读 · 0 评论 -
java基础语法(三十八)线程和进程(五)——生产者和消费者问题
1、使用wait方法和notify方法实现“生产者和消费者模式”2、什么是“生产者和消费者模式”?生产线程负责生产,消费线程负责消费。生产线程和消费线程要达到均衡。这是一种特殊的业务需求,在这种特殊的情况下需要使用wait方法称notify方法。3.、wait和notify方法不是线程对象的方法,是普通java对获都有的方法。4、wait方法和notify方法建立在线程同步的基础之上。因为多线程要同时操作一个仓库。有线程安全问题。5、 wait方法作用:o.wait()让正在o对象上活动的线程原创 2020-05-24 21:09:23 · 422 阅读 · 0 评论 -
java基础语法(三十七)线程和进程(四)——守护线程、定时器
守护线程.java语言中线程分为两大类:一类是:用户线程一类是:守护线程(后台线程)其中具有代表性的就是:垃圾回收线程(守护线程).守护线程的特点:一般守护线程是一个死循环,所有的用户线程只要结束,守护线程自动结束.注意:主线程main方法是一个用户线程.守护线程用在什么地方呢?每天00:00的时候系统数据自动备份。这个需要使用到定时器,并且可以将定时器设置为守护线程。一直在那里看着,每到00:00的时候就备份一次。所有的用户线程如果结束了,守护线程自动退出,没有必要进行数据备份了.原创 2020-05-24 21:04:07 · 269 阅读 · 0 评论 -
java基础语法(三十六)线程和进程(三)——线程安全
关于多线程并发环境下,数据的安全问题.1.1.为什么这个是重点?以后在开发中,我们的项目都是运行在服务器当中,而服务器已经将线程的定义,线程对象的创建,线程的启动等,都已经实现完了.这些代码我们都不需要编写.最重要的是:你要知道,你编写的程序需要放到一个多线程的环境下运行,你更需要关注的是这些数据在多线程并发的环境下是否是安全的。(重点: ***)1.2、什么时候数据在多线程并发的环境下会存在安全问题呢? 同时满足三个条件: 条件1:多线程并发。 条原创 2020-05-20 18:31:21 · 385 阅读 · 0 评论 -
java基础语法(三十五)线程和进程(二)——线程的调度以及优先级
线程的调度关于线程的调度1.1.常见的线程调度模型有哪些?抢占式调度模型:哪个线程的优先级比较高,抢到的CPU时间片的概率就高一些/多一些。java采用的就是抢占式调度模型.均分式调度模型:平均分配CPU时间片。每个线程占有的CPU时间片时间长度一样.平均分配,一切平等.有一些编程语言,线程调度模型采用的是这种方式。1.2.java中提供了哪些方法是和线程调度有关系的呢? 实例方法: vold setPriority (int newPriorit原创 2020-05-16 20:58:51 · 363 阅读 · 0 评论 -
java基础语法(三十四)线程和进程(一)
线程和进程的理解1.什么是进程?什么是线程?进程是一个应用程序(一个进程是一个软件)线程是一个进程中的执行场景/执行单元。一个进程可以启动多个线程.2、对于java程序来说,当在DOS命令窗口中输入:java HelloWorld 回车之后。会先启动JVM,而JVM就是一个进程。JVM再启动一个主线程调用main方法。同时再启动一个垃圾回收线程负责看护,回收垃圾.最起码,现在的java程序中至少有两个线程并发,一个是垃圾回收线程,一个是执行main方法的主线程。3.进程和线程是什么关原创 2020-05-16 20:10:37 · 295 阅读 · 0 评论 -
java基础语法(三十三)序列化和反序列化、Io+Properties的联合使用、日志
对序列化和反序列化的理解1、java.io.NotSerializableException:Student对象不支持序列化!!!2、参与序列化和反序列化的对象,必须实现Serializable接口。3、注意:通过源代码发现。Serializable接口只是一个标志接口:public interface Serializable {}这个接口当中什么代码都没有。那么它起到一个什么作用呢?起到标识的作用,标志的作用, java虚拟机看到这个类实现了这个接口,可能会对这个类进行特殊待遇。Se原创 2020-05-16 19:40:07 · 258 阅读 · 0 评论 -
java基础语法(三十二)File类以及目录的拷贝
File类File类和四大家族没有关系,所以File类不能完成文件的读和写。File对象代表什么?文件和目录路径名的抽象表示形式。C:\Drivers这是一个File对象C:\Drivers\Lan\Realtek\Readme.txt也是File对象。一个File对象有可能对应的是目录,也可能是文件。File只是一个路径名的抽象表示形式。3、File类中常用的方法public class FileTest01 { public static void main(String[原创 2020-05-16 19:39:51 · 306 阅读 · 0 评论 -
java基础语法(三十一)带有缓冲区的字符流、数据流、标准输出流
带有缓冲区的字符流BufferedReader带有缓冲区的字符输入流。使用这个流的时候不需要自定义char数组。或者说不需要自定义byte数組。自带缓冲。public class BufferedReaderTest01 { public static void main(String[] args) throws Exception { FileReader reader=new FileReader("copy02.java"); //当一个流的构造方法原创 2020-05-16 18:52:20 · 337 阅读 · 0 评论 -
java基础语法(三十)文件的复制
使用FileInputStream + FileOutputStream 完成文件的拷贝。拷贝的过程应该是一边读,一边写。使用以上的字节流拷贝文件的时候,文件类型随意,万能的。什么样的文件都能拷贝。public class copy01 { public static void main(String[] args) { FileInputStream fis=null; FileOutputStream fos=null; try {原创 2020-05-16 18:39:33 · 183 阅读 · 0 评论 -
java基础语法(二十九)FileReader和FileWriter的使用
1、FileReader文件字符输入流,只能读取普通文本。读取文本内容时,比较方便,快捷。public class FileReaderTest { public static void main(String[] args) { FileReader reader=null; try { //创建文件字符输入流 reader = new FileReader("temp.txt"); /原创 2020-05-16 18:38:21 · 262 阅读 · 0 评论 -
java基础语法(二十八)IO-FileInputstream、FileOutputstream
FileInputstream1、以下看会就好,不需要掌握public class FileInputstreamTest01 { public static void main(String[] args) { FileInputStream fis=null; try { //创建文件字节输入流对象 /...原创 2020-05-07 21:52:50 · 344 阅读 · 0 评论 -
java基础语法(二十七)IO
1、Io流,什么是Io?I: InputO: Output通过IO可以完成硬盘文件的读和写。2、Io流的分类?有多种分类方式:一种方式是按照流的方向进行分类:以内存作为参照物,往内存中去,叫做输入(Input)。或者叫做读(Read) .从内存中出来,叫做输出(Output)。或者叫做写(Write)。另一种方式是按照读取数据方式不同进行分类:有的流是按照字节的方式读取数据,...原创 2020-05-07 21:45:34 · 285 阅读 · 0 评论 -
java基础语法(二十六)Map接口(二)
properties属性类Properties是一个Map集合,继承Hashtable,Properties的key和value都是String类型。Properties被称为属性类对象。Properties是线程安全的。public class PropertiesTest01 { public static void main(String[] args) { ...原创 2020-05-07 21:39:39 · 211 阅读 · 0 评论 -
java基础语法(二十五)Map接口(一)
Map简单回顾Map和Collection没有继承关系。Map集合以key和value的方式存储数据:键值对key和value都是引用数据类型。key和value都是存储对象的内存地址。key起到主导的地位, value是key的一个附属品。下图数map的继承结构图常用方法Map 接口中常用方法:V put(K key, V value) 向Map集合中添加键值对V ge...原创 2020-05-07 20:27:21 · 777 阅读 · 0 评论 -
java基础语法(二十四)HashSet、TreeSet
HashSet集合:无序不可重复public class HashSetTest01 { public static void main(String[] args) { Set<String>strs=new HashSet<>(); //添加元素 strs.add("hello3"); strs...原创 2020-04-27 15:43:40 · 197 阅读 · 0 评论 -
java基础语法(二十三)泛型、foreach
泛型1、泛型这种语法机制,只在程序编译阶段起作用,只是给编译器参考的2、使用了泛型的好处:第一:集合中存储的元素类型统一了第二:从集合中取出的元素类型是泛型指定的类型,不需要进行大量的“向下转型”3、泛型的缺点:导致集合中存储的元素缺乏多样性。大多数业务中,集合中元素的类型还是统一的,所以这种泛型特性被认可。public class GenericTest01 { publi...原创 2020-04-27 15:39:13 · 366 阅读 · 0 评论 -
java基础语法(二十二)List
List接口常用方法1、List集合存储元素特点:有序可重复 有序:List集合中的元素有下标,从0开始,依次递增 可重复:存储的元素可以重复2、List既然是Collection接口的子接口,那么肯定List接口有自己"特色"的方法; 以下只列出List接口特有的常用的方法 void add(int index,E element) 在列表的指定位置插...原创 2020-04-27 15:31:41 · 16643 阅读 · 0 评论 -
java基础语法(二十一)集合
集合概述1、什么是集合,有什么用数组其实就是一个集合。集合实际上就是一个容器,可以容纳其它类型的数据。集合为什么说在开发中使用较多?集合是一个容器,是一个载体,可以一次容纳多个对象。在实际开发中,假设链接数据库,数据库当中有10条记录,假设把这10条记录查询出来,在java程序中会将10条记录封装成10个java对象,然后将10个java对象放到某一个集合当中,将集合传到前端,然后遍历集...原创 2020-04-27 15:07:49 · 382 阅读 · 0 评论 -
java基础语法(二十)异常
1、什么是异常,java提供异常处理机制有什么用?程序在执行过程中发生了不正常的情况,而这种不正常的情况叫做:异常java把该异常信息打印输出到控制台,让程序员看到异常信息后可以对程序进行修改,让程序更加健壮。2、java语言安装异常是以什么形式存在的呢异常在java中以类的形式存在,每一个异常类都可以创建异常对象3、异常的继承结构Throwable 不管是错误还是异常都是可以抛出的。...原创 2020-04-19 16:05:56 · 841 阅读 · 0 评论 -
java基础语法(十九)日期、数字格式化、随机数、枚举
日期1、怎么获取系统当前时间public class dateTest01 { public static void main(String[] args) throws Exception { //获取系统当前时间(精确到毫秒的系统当前时间) //直接调用无参数构造方法 Date nowTime = new Date(); ...原创 2020-04-19 15:43:47 · 369 阅读 · 0 评论 -
java基础语法(十八)Integer
8中基本数据类型对应的包装类型1、java中为8种基本数据类型又对应准备了8中包装类型。8中包装类型属于引用数据类型,父类是Object.2、思考:为什么要再提供8种包装类型?8中基本数据类型不够用public class IntegerTest01 { public static void main(String[] args) { //需求:调用doSome()...原创 2020-04-19 15:28:34 · 637 阅读 · 0 评论 -
java基础语法(十七)String
常用关于javaIDK中内置的一个类:java.lang.String1、String表示字符串类型,属于引用数据类型,不属于基本数据类型。2、在java中使用双引号括起来的都是String对象。3、java中规定,双引号括起来的字符串,是不可变的。4、在JDK当中双引号括起来的字符串都是直接存储在方法区的“字符串常量池”当中的为什么SUN公司把字符串存储在一个"字符串常量池"当中呢?...原创 2020-04-11 21:24:18 · 345 阅读 · 0 评论 -
java基础语法(十六)数组
数组简介Array:1、java语言当中的数组是一种引用数据类型。不属于基本数据类型。数组的父类是Pbject.2、数组实际上是一个容器,可以同时容纳多个元素。(数组是一个数据的集合)3、数组当中可以存储基本数据类型的数据,也可以存储引用数据类型的数据。4、数组因为是引用类型,所以数组对象是堆内存当中。(数组是存储在堆当中的)5、数组当中如果存储的是"java对象"的话,实际上存储的是...原创 2020-04-10 22:57:20 · 1887 阅读 · 0 评论 -
java基础语法(十五)匿名内部类
匿名内部类:1、什么是内部类?内部类:在类的内部又定义了一个新的类,被称为内部类。2、内部类的分类:静态内部类:类似于静态变量实例内部类:类似于实例变量局部内部类:类似于局部变量3、使用内部类编写的代码,可读性很差,能不用尽量不用。4、匿名内部类是局部内部类的一种。因为这个类没有名字而得名,叫做匿名内部类。不建议使用匿名内部类,因为一个类没有名字,没有办法重复使用,另外代码太乱...原创 2020-04-10 22:22:22 · 198 阅读 · 0 评论 -
java基础语法(十四)Object类
Object类及APIJDK类库的根类:object任何一个类默认继承object,就算没有直接继承,最终也会间接继承。object类当中有哪些常用方法,去哪里找这些方法?第一种方法:到源代码当中。(但是这种方式比较麻烦,源代码也比较难)第二种方法:查阅java的类库的帮助文档什么是API?应用程序编程接口。整个JDK的类库就是一个javase的API。每一个API都会配置一套A...原创 2020-04-10 22:19:27 · 277 阅读 · 0 评论 -
java基础语法(十三)接口—(一)
接口的基础语法1、接口也是一种"引用数据类型",编译之后也是一个class字节码文件。2、接口是完全抽象的。(抽象类是半抽象的)。或者说接口是特殊的特殊的抽象类3、语法:接口的定义[修饰符列表] interface 接口名{}[修饰符列表] class 类名{}[修饰符列表] abstract class 类名{}4、接口支持多继承,一个接口可以继承多个接口。5、接口中只包含...原创 2020-03-31 18:03:15 · 553 阅读 · 0 评论 -
java基础语法(十二)抽象abstract
1、什么是抽象类?类和类之间具有共同特征,将这些共同特征提取出来,形成的就是抽象类。类本身是不存在的,所以抽象类无法创建对象(无法实例化)2、抽象类属于什么类型?抽象类也属于引用数据类型。3、抽象类怎么定义语法:[修饰符列表] abstract class 类名{类体;}4、抽象类是无法实例化的,无法创建对象的,所以抽象类是用来被子类继承的。5、final和abstract不...原创 2020-03-31 14:56:04 · 574 阅读 · 0 评论 -
java基础语法(十一) super关键字
Super关键字1、 super是一个关键字,全部小写2、 super和this对比:this:this能出现在实例方法和构造方法中。this的语法是:”this.”、”this()”this不能使用在静态方法中。this.大部分情况下是可以省略的,在区分局部变量和实例变量的时候不能省略。public void setName(String name){this.name = n...原创 2020-03-26 15:41:49 · 373 阅读 · 0 评论 -
java基础语法(十)--final关键字、package和import、访问控制权限
final关键字1、final是一个关键字,表示最终的、不可变的。2、final修饰的类无法被继承。3、final修饰的方法无法被覆盖。4、final修饰的变量一旦赋值后,不可重新赋值【不可二次赋值】5、final修饰的实例变量实例变量有默认值+final修饰的实例变量一旦赋值不能重新赋值综合考虑,java语言最终规定实例变量使用final修饰之后,必须手动赋值,不能采用系统默认值。...原创 2020-02-07 18:40:33 · 475 阅读 · 0 评论 -
java基础语法(九)--多态性
1、多态基础语法关于多态中涉及到的几个概念:*向上转型(upcasting)子类型—>父类型 (又被称为:自动类型转换)*向下转型(downcasting)父类型—>子类型(又被称为:强制类型转换)【需要加强制类型转换符】*无论是向上转型还是向下转型,两种类型之间必须要有继承关系。没有继承关系,程序是无法编译通过的。//动物类public class Animal {...原创 2020-02-07 18:35:00 · 232 阅读 · 0 评论 -
java基础语法(八)--继承性
继承1、继承的基本作用是:代码的复用。但是继承最重要的作用是:有了继承才有了以后方法的覆盖和多态机制。2、继承语法格式:[修饰符列表] class 类名 extends 父类名{类体 = 属性 + 方法}3、java语言当中的继承只支持单继承,一个类不能同时继承很多类,只能继承一个类。在c++中支持多继承。4、关于继承中的一些术语:B类继承A类,其中:A类...原创 2020-02-07 18:23:30 · 318 阅读 · 0 评论