- 博客(87)
- 收藏
- 关注
原创 注解:Annotation
一、注解注解(Annotation)是一种引用数据类型,编译之后也是生成xxx.class文件。自定义注解的语法格式:[修饰符列表] @interface 注解类型名{}注解的使用:注解使用时的语法格式:@注解类型名注解可以出现在类上、属性上、方法上、变量上等…注解还可以出现在注解类型上。JDK内置的注解:java.lang包下的注解类型:Deprecated:用@Deprecated 注释的程序元素表示该元素已过时,不鼓励程序员使用这样的元素,通常是因为它很危险或存
2021-12-29 15:43:50 305
原创 Java反射机制 01:概述&应用
一、反射机制反射机制的作用:通过Java语言中的反射机制可以操作字节码文件(代码片段、Class文件)。—— 可以读和修改字节码文件反射机制的相关类在java.lang.reflect.*包下。二、反射机制相关的重要的类java.lang.Class:代表整个字节码,代表一个类型。代表整个类。java.lang.reflect.Method:代表字节码中的方法字节码。代表类中的方法。java.lang.reflect.Constructor:代表字节码中的构造方法字节码。代表类中的构造
2021-12-23 14:08:51 481
原创 Java反射机制 课外02:资源绑定器(ResourceBundle)、类加载器(ClassLoader)
一、资源绑定器java.util 包下提供了一个资源绑定器,便于获取属性配置文件中的内容。资源绑定器只能绑定xxx.properties文件,并且这个文件必须放到类路径下。——文件的扩展名必须为propertiespublic class ResourceBundleTest01 { public static void main(String[] args) { // 资源绑定器,只能绑定xxx.properties文件。并且这个文件必须在类路径下。 //
2021-12-19 15:27:14 518
原创 Java反射机制 课外01:获取一个文件的绝对路径
一、获取一个文件的绝对路径方式一:New FileReader(“Name”);—— 这种方式的路径缺点是:移植性差,在IDEA中默认的当前路径是project的根。public class AboutPath { public static void main(String[] args) throws Exception{ // 这种方式的路径缺点是:移植性差,在IDEA中默认的当前路径是project的根。 // 这个代码假设离开了IDEA,换到了其它位置
2021-12-17 14:36:57 1178
原创 Java多线程 04:wait方法 和 notify方法(生产者和消费者模式)
一、关于Object类中的 wait 和 notify 方法wait 和 notify 方法不是线程对象的方法,是java中任何一个java对象都拥有的方法,因为这个是Object类中自带的方法。wait() 和 notify() 方法的作用:Object o = new Object();o.wait(): 让正在o对象上活动的线程进入无期限等待状态,直到被唤醒为止。o.notify(): 唤醒正在o对象上等待的线程。—— notifyAll()方法:这个方法是唤醒o对象上处于等待的所有
2021-12-14 17:52:21 468 1
原创 Java多线程 03:守护线程 & 定时器
一、守护线程Java语言中线程分为两大类:用户线程守护线程(后台线程)守护线程的特点:一般守护线程是一个死循环,所有的用户线程只要结束,守护线程自动结束。—— 其中具有代表性的就是:垃圾回收线程(守护线程)。注:主线程main方法是一个用户线程守护线程用在什么地方?每天00:00的时候系统数据自动备份。这个需要使用到定时器,并且我们可以将定时器设置为守护线程。一直在那里看着,每到00:00的时候就备份一次。所有的用户线程如果结束了,守护线程自动退出,没有必要进行数据备份了。void
2021-12-08 16:00:46 287
原创 Java多线程 02:线程安全
一、线程安全在多线程并发的环境下数据存在安全问题的条件—— 多线程并发的环境下,有共享数据,并且这个数据还会被修改,此时就存在线程安全问题。满足以下三个条件之后,就会存在线程安全问题:多线程并发有共享数据共享数据有修改的行为解决线程安全问题—— 使用线程同步机制:线程同步,实际上就是线程不能并发了,线程必须排队执行,会牺牲一部分效率,但数据安全了。线程同步涉及两个专业术语:异步编程模型 —— 线程并发—— 线程t1和线程t2,各自执行各自的,t1不管t2,t2
2021-12-04 17:15:51 194
原创 Java多线程 01:概述&使用
一、什么是进程和线程:——进程:是一个应用程序(一个进程是一个软件)。——线程:是一个进程中的执行场景 / 执行单元。注:一个进程可以启动多个线程。二、进程和线程的关系:——进程可以看做是现实生活当中的火车站。——线程可以看做是火车站当中的售票窗口。注:进程A和进程B的内存独立不共享(资源不会共享)。线程A和线程B的堆内存和方法区内存共享,但是栈内存独立,一个线程一个栈。三、实现线程的方式:第一种方式:编写一个类,直接继承java.lang.Thread,重写run
2021-12-04 14:08:30 373
原创 Java IO流 07:IO+Properties的联合应用
一、IO+Properties的联合应用IO+Properties的联合应用是一个非常好的设计理念:—— 以后经常改变的数据,可以单独写到一个文件中,使用程序动态获取。将来只需要修改这个文件中的内容,java代码不需要改动,不需要重新编译,服务器也不需要重启,就可以拿到动态的信息。类似于以上机制的这种文件被称为配置文件并且当配置文件中的内容格式是:key1=valuekey2=value的时候,我们把这种配置文件叫做属性配置文件。java规范中有要求:属性配置文件建议以.pro
2021-11-24 13:50:42 1645
原创 Java IO流 05:对象流(序列化 & 反序列化)
一、对象流ObjectInputStream:对象字节输入流ObjectOutputStream:对象字节输出流序列化(Serialize):Java对象存储到硬盘文件中。将Java对象的状态保存下来的过程。反序列化(DeSerialize):将硬盘文件上的数据重新恢复到内存当中,恢复成Java对象。注:参与序列化和反序列化的对象,必须实现Serializable接口,不然会出现 java.io.NotSerializableException:(对象不支持序列化)通过源代码发现,Ser
2021-11-19 14:59:23 435
原创 Java IO流 06 :File类(一次复制所有文件、目录-练习-CopyAll)
一、java.io.FileFile对象代表:文件和目录路径名的抽象表示形式。—— 一个File对象有可能对应的是目录,也可能对应的是文件(File只是一个路径名的抽象表示形式)File类和四大家族没有关系,所以File类不能完成文件的读和写。File类中常用的方法:booleanexists():判断此抽象路径名表示的文件或目录是否存在。booleancreateNewFile():如果不存在具有此抽象路径名指定名称的文件时,创建一个新的空文件booleanmkdir():创建此抽象路
2021-11-17 15:39:57 597
原创 Java IO流 04:数据流 & 标准输出流
一、数据流DataOutputStream:数据专属的输出流。DataInputStream:数据专属的输入流。这个流可以将数据连同数据的类型一并写入文件。DataOutputStream写的文件,只能使用DataInputStream去读。并且读的时候你需要提前知道写入的顺序。——读的顺序需要和写的顺序一致。才可以正常取出数据。注:这个文件不是普通文本文档。(这个文件使用记事本打不开。)——DataOutputStream(输出,编写)public class DataOutp
2021-11-03 17:42:40 120
原创 Java IO流 03:缓冲流 & 转换流
一、缓冲流BufferedReader:带有缓冲区的字符输入流。——使用这个流的时候不需要自定义char数组,或者说不需要自定义byte数组。自带缓冲。public class BufferedReaderTest01 { public static void main(String[] args) { //定义一个字符输入缓冲流 BufferedReader br = null; try { //创建一个文件字符输入流
2021-11-03 15:26:11 85
原创 Java IO流 02:文件流
FileInputStream(文件字节输入流)FileOutputStream(文件字节输出流)FileReader(文件字符输入流)FileWriter(文件字符输出流)
2021-11-02 20:43:10 114
原创 Java IO流 01:IO概述
一、IO流java中所有的流都是在:java . io . * ;IO流:通过IO可以完成硬盘文件的读和写。—— I :是Input(输入)—— O :是Output(输出)IO流的分类:按照流的方向进行分类:(以内存作为参照物)往内存中去,叫做 输入(Input),或者叫做 读(Read)。从内存中出来,叫做 输出(Output),或者叫做 写(Write)。按照读取数据方式不同进行分类:有的流是按照字节的方式读取数据,称为 字节流,一次读取1个字节byte,
2021-10-30 22:00:16 93
原创 Java集合04:Set接口 & Map接口
关于java.util.Set接口(单个方式存储元素)一、HashSet集合HashSet集合是非线程安全的。HashSet集合存储元素的特点:无序不可重复。——无序:存进去的顺序和取出来的顺序不一定相同。——不可重复:存进去一个1,不能再存进去一个1。放到HashSet集合中的元素实际上是放到HashMap集合中的key部分,底层是哈希表。二、TreeSet集合TreeSet集合存储元素的特点:无序不可重复的,储存的元素是可以自动按照大小顺序排序的。——无序:存进去的顺序
2021-10-27 14:02:00 127
原创 Java集合03:List接口
关于java.util.List接口(单个方式存储元素)一、List集合接口中的常用方法List集合存储元素的特点:有序可重复——有序:存进去的顺序和取出来的顺序相同,集合中的元素有下标,从0开始以1递增——可重复:存储进去一个1,可以再存进去一个1List集合继承了Collection接口,继承了Collection集合中的方法时,也具有自己“特有”的方法:——以下只列出List接口特有的常用的方法:voidadd(int index, E element): 在集合的指定下标位置插
2021-10-22 14:02:24 90
原创 Java集合02:Collection接口
一、关于java.util.Collection接口(单个方式存储元素)常用的方法Collection中能存放什么元素?—— 没有使用“泛型”之前,Collection中可以存储Object的所有子类型。—— 使用“泛型”之后,Collection中只能存储某个具体的类型。注:集合中不能直接存储基本数据类型,也不能直接存储Java对象,只能存储Java对象的内存地址Collection接口中的常用方法booleanadd(Object e):向集合中添加元素。intsize(
2021-10-15 16:35:20 114
原创 计算机英语常用单词
计算机英语增删改查这几个单词:增:add、save、new删:delete、drop改:update、set、modify查:find、get、query、select
2021-10-15 16:33:58 1209
原创 Java集合01:集合概述
一、集合的概述集合实际上就是一个容器,可以来容纳其他类型的数据。数组其实就是一个集合集合为什么在开发中使用较多?集合是一个容器,是一个载体,可以一次容纳多个对象。在实际开发中,假设连接数据库,数据库当中有10条记录,那么假设把这10条记录查询出来,在Java程序中会将10条记录封装成10个Java对象,然后将10个Java对象放到某一个集合中,将集合传到前端,然后遍历集合,将一个数据一个数据展现出来。集合不能直接存储基本数据类型,另外集合也不能直接存储Java对象,集合当中存储的都是Java
2021-10-13 21:31:04 162 2
原创 Java常用类05:Number类 & Random类 & 枚举类
????——数字类java.text.DecimalFormat — 数字格式化public class DecimalFormatTest01 { public static void main(String[] args) { //java.text.DecimalFormat --- 专门负责数字格式化的 //DecimalFormat 数字格式化 = new DecimalFormat("数字格式"); /* 数字格式有哪些
2021-09-24 16:18:56 153
原创 Java常用类04:Date类
???? Date(日期)类java.util.Datejava.text.SimpleDateFormat日期字符串格式& 字母符号Java中对日期的处理获得当前系统日期时间日期格式化(格式化Date的toString方法的字符串): date --转换-> String给定字符串日期,转换为Date类型: String --转换-> datepublic class DateTest01 { public static void main
2021-09-16 14:23:56 197
原创 Java常用类03 : 8种基本数据类型对应的8个包装类
????????????------前言有没有这种需求:调用doSome()方法的时候需要传一个数字进去。但是数字属于基本数据类型,而doSome()方法参数的类型是Object,属于引用类型,可见doSome()方法无法接收基本数据类型的数字,这时可以传一个数字对应的包装类进去。public class IntegerTest01 { public static void main(String[] args) { // 把100这个数字经过构造方法包装成对象。
2021-09-10 15:28:06 319
原创 Java常用类02:StringBuffer & StringBuilder
????????????—— 前言我们在实际开发的时候,如果需要进行字符串的频繁拼接,会占用大量的方法区(字符串常量池)内存,造成内存空间的浪费。——因为Java中的字符串是不可变的,每一次拼接都会产生新的字符串例:String s = “abc”;s += “hello”;以上两行代码,就导致方法区字符串常量池当中创建了三个对象“abc”、“hello”、“abchello”如果以后需要进行大量字符串的拼接操作,为了解决频繁拼接造成的内存空间浪费问题,建议使用JDK自带的:j
2021-09-03 12:58:10 86
原创 Java常用类01:String
????????????——String字符串的简介和存储原理String字符串的简介关于java JDK中内置的一个类:java.lang.StringString表示字符串类型,属于引用数据类型,不属于基本数据类型在java中随便使用双引号括起来的都是String对象,例:“abc”、“hello world!”java中规定,在JDK当中双引号括起来的字符串,是不可变的(都是储存在方法区的字符串常量池当中的)——为什么SUN公司把字符串存储在一个==字符串常量池==当中呢?——因为
2021-08-27 17:11:59 148 1
原创 Java面向对象22:Class Object
Class Objectto String()方法to String()方法源代码public String toString() { return getClass().getName() + "@" + Integer.toHexString(hashCode()); //类名@对象的内存地址转换为十六进制的形式}to String()方法的设计目的:通过调用这个方法可以将一个“Java对象”转换为“字符串表示形式 ”建议所有的子类都去重写to String()方法,to St
2021-08-15 13:33:03 97
原创 java面向对象21:类型和类型之间的关系,package和import介绍
is a (类继承)、has a(属性关联)、like a(接口实现)
2021-08-08 16:33:37 81
原创 Java面对对象20:final关键字
一、final关键字final 是java语言中的一个关键字final 表示最终的,不可变的final 修饰的类 不能被继承(没有子类)final 修饰的方法 无法被覆盖、被重写final 修饰的变量 一旦赋值后就不能修改,只能赋一次值final 修饰的引用 一旦指向某个对象,则不能再指向其他对象(该引用指向的对象内部的数据是可以修改的)final 修饰的实例变量 必须手动初始化,系统不给予默认值final 修饰的实例变量一般和static联合使用,称为 常量格式: public st
2021-08-06 10:31:03 82
原创 前端_CSS_03:盒子模型&浮动&定位
网页的格局:网页内容的主体规划——1. ⭐盒子模型:标签和标签存在包含关系时,位置的调整——2. ⭐浮动:多个块标签处于同一行的位置处理问题——3. ⭐定位:块标签在页面指定位置的处理问题
2021-06-17 16:27:07 318 2
原创 前端_CSS_02:CSS的选择器
一、三大基本选择器⭐标签名(元素)选择器⭐ID选择器⭐类(class)选择器二、其他选择器⭐层级选择器⭐属性选择器⭐分组选择器三、伪类选择器link、visited、hover、active
2021-06-17 11:20:12 76
原创 前端_HTML_03:标签
一、标签介绍标签——Tag标签(标记)是HTML语言的基本部分根标签是 HTML,包含两个子标签 head 和 body标签一般分为 单标签 和 双标签标签是分层次的;多数标签是成对出现的,包括开始标签和结束标签标签不区分大小写属性和属性值——Attribute属性是写在开始标签中的,附属于标签,对标签的特征进行设置属性的值可以用双引号也可以用单引号,不区分属性和属性值不区分大小写,属性之间也无先后次序——例<hr/ width="50%" align="ri
2021-06-11 17:20:52 460
原创 基础Java常用类
一、常用类 File(文件)介绍输入输出、IO;文件、目录(文件夹)如何显示文件的扩展名打开任意一个目录点击上面功能栏的 查看勾选 查看里面的 文件扩展名import java.io.File;——调用File类方法时,需提前import导入File类File:代表文件或者目录(文件夹)根据字符串创建File对象,需new注意路径的分割符号( “/” 或 “\”)File f1 = new File(“d:/a/文件名.txt”)——获得文件路径File 只是代表逻辑
2021-06-10 13:14:18 63
原创 前端_HTML_02:HTML入门
一、什么是HTMLHTML 是用来描述网页的一种语言HTML 指的是 超文本标记语言:HyperText Markup Language超文本:比普通文本更牛逼的文本,不仅仅可以展示文字,还可以展示各种媒体内容一般由前端工作人员来完成,后台研发人员不需要编写标记:(标签/元素/标记)——标记通常被称为 HTML 标签 (HTML tag)。• HTML 标签是由尖括号包围的关键词,比如<html>• 封闭类型标记(也叫双标记),必须成对出现,如<
2021-06-04 13:35:12 129 1
原创 Java异常机制03:自定义异常&实际应用中的经验总结
一、自定义异常使用Java内置的异常类可以描述在编程时出现的大部分异常情况。除此之外,用户还可以自定义异常。用户自定义异常类,只需继承Exception类即可。在程序中使用自定义异常类,大体可分为以下几个步骤:创建自定义异常类在方法中通过throw关键字抛出异常对象。如果在当前抛出异常的方法中处理异常,可以使用try-catch语句捕获并处理;否则在方法的声明处通过throws关键字指明要抛出给方法调用者的异常,继续进行下一步操作。在出现异常方法的调用者中捕获并处理异常。示
2021-05-28 10:35:02 540
原创 Java异常机制02:异常处理机制
一、异常处理机制抛出异常捕获异常异常处理五个关键字:try(监控、试验)、catch(捕捉)、finally(最后)、throw(<方法体>抛出异常)、throws(<函数方法>抛出异常)try、catch、finally一般连着使用,快捷键:Ctrl+Alt+Ttry、catch是异常处理必须要的东西,finally可以不要finally一般是处理善后工作,如IO,资源等需要关闭,会把关闭的方法放到finally中假设要多个catch捕获多个异常:异常范围应从小
2021-05-27 18:41:50 140
原创 Java异常机制01:初识异常
一、什么是异常实际工作中,遇到的情况不可能是非常完美的。比如:你写的某个模块,用户输入不一定符合你的要求;你的程序要打开某个文件,这个文件可能不存在或者文件格式不对;你要读取数据库的数据,数据可能是空的等;我们的程序再跑着,内存或硬盘可能满了。等等软件程序再运行过程中,非常可能遇到刚刚提到的这些异常问题,我们叫异常,英文是:Exception,意思是例外。异常指程序运行中出现的不期而至的各种状况,如:文件找不到、网络连接失败、非法参数等异常发生在程序运行期间,它影响了正常的程序执行流程
2021-05-27 12:16:07 226
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人