Java基础
文章平均质量分 52
基础学习
乌云不要说话
这个作者很懒,什么都没留下…
展开
-
Java学习笔记 --- Stream流
tream流的好处直接阅读代码的字面意思即可完美展示无关逻辑方式的语义:获取流、过滤姓张、过滤长度为3、逐一打印Stream流把真正的函数式编程风格引入到Java中代码简洁原创 2023-05-11 17:12:13 · 327 阅读 · 0 评论 -
Java学习笔记 --- 正则表达式
想灵活运用正则表达式,必须了解其中各种元字符的功能,元字符从功能上大致分为:1、限定符2、选择匹配符3、分组组合和反向引用符4、特殊字符5、字符匹配符6、定位符。原创 2023-02-24 19:11:50 · 18156 阅读 · 0 评论 -
Java学习笔记 --- 反射
1、Class 也是类,因此也继承 Object 类(类图)2、Class 类对象不是 new 出来的,而是系统创建的3、对应某个类的 Class 类对象,在内存中只有一份,因此类只加载一次4、每个类的实例都会记得自己是由哪个 Class 实例所生成5、通过 Class 对象可以完整的得到一个类的完整结构,通过一些列API6、Class 对象是存放在堆的7、类的字节码二进制数据,是放在方法区的,有的地方称为类的元数据(包括方法代码,变量名,方法名,访问权限等)原创 2022-12-12 17:40:33 · 318 阅读 · 0 评论 -
Java学习笔记---网络编程
1、概念:两台设备之间通过网络实现数据传输2、网络通信:将数据通过网络从一台设备传输到另一台设备3、java.net包下提供了一系列的类或接口,供程序员使用,完成网络通信1、概念:两台或多台设备通过一定物理设备连接起来构成了网络2、根据网络的覆盖范围不同,对网络进行分类 局域网:覆盖范围最小,仅仅覆盖一间教室或者一个机房 城域网:覆盖范围较大,可以覆盖一个城市 广域网:覆盖范围最大,可以覆盖全国,甚至全球,万维网是广域网的代表1、概念:用于唯一标识网络中的每台计算机/主机2、查原创 2022-12-03 17:26:23 · 454 阅读 · 0 评论 -
Java学习笔记 --- IO流
文件是保存数据的地方/*** 演示 FileInputStream 的使用(字节输入流 文件 -> 程序) 读取文件*/}//演示读取文件//单个字节读取,效率比较低@Testtry {//创建 FileInputStream 对象用于读取文件//从该输入流读取一个字节的数据,如果没有输入可用,此方法将停止//如果返回-1 表示读取完毕= -1) {//int转成char类型输出}try {//关闭文件流,释放资源}}}原创 2022-11-26 17:12:21 · 1155 阅读 · 0 评论 -
Java学习笔记 --- 多线程
1、线程是由进程创建的,是进程的一个实体2、一个进程可以拥有多个线程1、Java语言中,引入了对象互斥锁的概念,来保证共享数据操作的完整性2、每个对象都对应于一个可称为“互斥锁”的标记,这个标记用来保证在任一时刻,只能有一个线程访问该对象3、关键字 synchronized 来与对象的互斥锁联系。当某个对象用 synchronized 修饰时,表明该对象在任一时刻只能由一个线程访问4、同步的局限性:导致程序的执行效率要降低。原创 2022-11-18 18:53:30 · 699 阅读 · 0 评论 -
Java学习笔记 --- Java事件处理机制
Java事件处理是采取“委派事件模型”,当事件发生时,产生事件的对象会把此“信息”传递给“事件的监听者”处理,这里所说的“信息”实际上就是 java.awt.event事件类库里某个类所创建的对象,把它称为“事件的对象”原创 2022-11-14 11:03:10 · 538 阅读 · 0 评论 -
Java学习笔记 --- Java绘图技术
下图说明了Java坐标系。坐标原点位于左上角,以像素为单位。在Java坐标系中,第一个是x坐标,表示当前位置为水平方向,距离坐标原点x个像素;第二个是y坐标,表示当前位置为垂直方向,距离坐标远点y个像素。原创 2022-11-13 15:03:43 · 563 阅读 · 0 评论 -
Java学习笔记 --- 自定义泛型
自定义泛型原创 2022-11-11 17:07:51 · 691 阅读 · 0 评论 -
Java学习笔记 --- 泛型
1、泛型又称参数化类型,是JDK5.0出现的新特性,解决数据类型的安全性问题2、在类声明或实例化时只要指定好需要的具体的类型即可3、Java泛型可以保证如果程序在编译时没有发出警告,运行时就不会产生ClassCastException异常。同时代码更加简洁,健壮4、泛型的作用是:可以在类声明时通过一个标识表示类中某个属性的类型,或者是某个方法的返回值的类型,或者是参数类型//该数据类型在定义Person对象的时候指定,即在编译期间就确定E是什么类型。原创 2022-11-11 15:12:23 · 653 阅读 · 0 评论 -
Java学习笔记 --- TreeSet和TreeMap
TreeSet和TreeMap。原创 2022-11-07 20:54:20 · 262 阅读 · 0 评论 -
Java学习笔记 --- Properties
1、Properties 类继承自 Hashtable类并且实现了Map接口,也是使用一种键值对的形式来保存数据2、它的使用特点和 Hashtable 类似3、Properties 还可以用于 从 xxx.properties 文件中,加载数据到 Properties 类对象,并进行读取和修改4、xxx.properties 文件通常作为配置文件。原创 2022-11-07 19:42:40 · 197 阅读 · 0 评论 -
Java学习笔记 --- Hashtable
1、存放的元素是键值对:即K-V2、Hashtable 的键和值都不能为 null,否则会抛出 NullPointerException3、Hashtable 使用方法基本上和 HashMap 一样4、Hashtable 是线程安全的(synchronized),HashMap 是线程不安全的。原创 2022-11-07 19:16:32 · 153 阅读 · 0 评论 -
Java学习笔记 --- HashMap
一、基本介绍1、Map 接口的常用实现类:HashMap、Hashtable和Properties2、HashMap 是 Map 接口使用频率最高的实现类3、HashMap 是以 key-val 对的方式来存储数据(HashMap$Node类型)4、key 不能重复,但是值可以重复,允许使用 null 键和 null 值5、如果添加相同的 key,则会覆盖原来的 key-val,等同于修改(key不会替换,val会替换)原创 2022-11-07 15:25:48 · 452 阅读 · 0 评论 -
Java学习笔记 --- Map接口方法
1、Map 与 Collection 并列存在。用于保存具有映射关系的数据:Ket - Value2、Map 中的 key 和 value 可以是任何引用类型的数据,会封装到 HashMap$Node 对象中3、Map 中的 key 不允许重复,原因和 HashSet 一样4、Map 中的 value 可以重复5、Map 的 key 可以为 null,value 也可以为 null,注意 key 为 null,只能有一个,value 为 null,可以多个。原创 2022-11-05 21:05:32 · 678 阅读 · 0 评论 -
Java学习笔记 --- LinkedHashSet
1、LinkedHashSet 是 HashSet 的子类2、LinkedHashSet 底层是一个 LinkedHashMap,底层维护了一个数组 + 双向链表3、LinkedHashSet 根据元素的 HashCode 值来决定元素的存储位置,同时使用链表维护元素的次序,这使得元素看起来是以插入顺序保存的4、LinkedHashSet 不允许重复元素。原创 2022-11-05 16:21:29 · 517 阅读 · 0 评论 -
Java学习笔记 --- HashSet
1、HashSet 实现了 Set 接口2、HashSet 实际上是 HashMap3、可以存放 null 值,但是只能有一个 null4、HashSet 不保证元素是有序的,取决于hash后,再确定索引的结果5、不能有重复元素/对象。原创 2022-11-04 20:09:04 · 1151 阅读 · 0 评论 -
Java学习笔记 --- Set接口方法
1、无序(添加和取出的顺序不一致),没有索引2、不允许重复元素,所以最多包含一个null3、JDK API 由 Set 接口的实现类有。原创 2022-11-04 14:22:50 · 336 阅读 · 0 评论 -
Java学习笔记 --- LinkedList
1、LinkedList 实现了双向链表和双端队列特点2、可以添加任意元素(元素可以重复),包括null3、线程不安全,没有实现同步。原创 2022-11-01 16:47:31 · 256 阅读 · 0 评论 -
Java学习笔记 --- Vector
1、Vector类的定义说明2、Vector底层也是一个对象数组,protected Object[ ] elementData;3、Vector是线程同步的,即线程安全,Vector类的操作方法带有 synchronized4、在开发中,需要线程同步安全时,考虑使用Vector。原创 2022-11-01 11:46:51 · 156 阅读 · 0 评论 -
Java学习笔记 --- ArrayList
1、permits all elements,including null,ArrayList 可以加入 null,并且多个2、ArrayList 是由数组来实现数据存储的3、ArrayList 基本等同于Vector,除了 ArrayList 是线程不安全(执行效率高),在多线程情况下,不建议使用 ArrayList。原创 2022-11-01 11:23:47 · 745 阅读 · 0 评论 -
Java学习笔记 --- Collection接口方法
1、Iterator 对象称为迭代器,主要用于遍历 Collection 集合中的元素2、所有实现了 Collection 接口的集合类都有一个 iterator() 方法,用以返回一个实现了Iterator接口的对象,即可以返回一个迭代器3、Iterator 的结构4、Iterator 仅用于遍历集合,Iterator 本身并不存放对象。原创 2022-10-30 16:46:25 · 596 阅读 · 0 评论 -
Java学习笔记 --- 集合
前面我们保存多个数据使用的是数组,那么数组有不足的地方,进行分析1、长度开始时必须指定,而且一旦指定,不能更改2、保存的必须为同一类型的元素3、使用数组进行增加元素的代码,比较麻烦1、可以动态保存任意多个对象,使用比较方便2、提供了一系列方便的操作对象的方法:add、remove、set、get等3、使用集合添加、删除新元素的代码更加简洁明了。原创 2022-10-30 15:26:33 · 92 阅读 · 0 评论 -
Java学习笔记 --- 日期类
Date:精确到毫秒,代表特定的瞬间2、SimpleDateFormat:格式化和解析日期的类,它允许进行格式化(日期->文本),解析(文本->日期)和规范化。原创 2022-10-28 16:10:49 · 298 阅读 · 0 评论 -
Java学习笔记 --- BigInteger和BigDecimal类
BigInteger 适合保存比较大的整型 BigDecimal 适合保存精度更高的浮点型(小数)原创 2022-10-27 19:50:06 · 393 阅读 · 0 评论 -
Java学习笔记 --- System类
1、exit:退出当前程序2、arraycopy:复制数组元素,比较适合底层调用,一般使用Arrays.copyOf完成复制数组。3、currentTimeMillens:返回当前时间距离 1970-1-1 的毫秒数。1、exit:退出当前程序。4、gc:运行垃圾回收机制。原创 2022-10-27 16:11:52 · 113 阅读 · 0 评论 -
Java学习笔记 --- Arrays类
Arrays 里面包含了一系列的静态方法,用于管理或操作数组(比如排序和搜索)原创 2022-10-27 15:31:20 · 641 阅读 · 0 评论 -
Java学习笔记 --- Math类
Math 类包含用于执行基本数学运算的方法,如初等指数、对数、平方根和三角函数。原创 2022-10-25 18:53:32 · 181 阅读 · 0 评论 -
Java学习笔记 --- StringBulider类
1、一个可变的字符序列。此类提供一个与 StringBuffer 兼容的API,但不保证同步,该类被设计用作 StringBuffer 的一个简易替换,用在字符串缓冲区被单个线程使用的时候。如果可能,建议优先采用该类,因为在大多数实现中,它比 StringBuffer 要快2、在 StringBulider 上的主要操作是 append 和 insert 方法,可重载这些方法,以接受任意类型的数据。原创 2022-10-25 17:14:15 · 331 阅读 · 0 评论 -
Java学习笔记 --- StringBuffer类
1、java.lang.StringBuffer 代表可变的字符序列,可以对字符串内容进行增删2、很多方法与 String 相同,但是 StringBuffer 是可变长度3、StringBuffer 是一个容器1、String 保存的是字符串常量,里面的值不能更改,每次String类的更新实际上就是更改地址,效率较低。原创 2022-10-25 16:13:21 · 418 阅读 · 0 评论 -
Java学习笔记 --- String类
1、String 对象用于保存字符串,也就是一组字符序列2、字符串常量对象是用双引号括起的字符序列。3、字符串的字符使用Unicode字符编码,一个字符(不区分字母还是汉字)占两个字节4、String类比较常用的构造方法(其他查询手册)原创 2022-10-24 22:00:55 · 517 阅读 · 0 评论 -
Java学习笔记 --- 包装类
1、针对八种基本数据类型相应的引用类型——包装类2、有了类的特点,就可以调用类中的方法。原创 2022-10-23 17:11:24 · 136 阅读 · 0 评论 -
Java学习笔记 --- 异常处理
1、如果一个方法(中的语句执行时)可能发生某种异常,但是并不能确定如何处理这些异常,则 此方法应显示的声明抛出异常,表明该方法将不对这些异常进行处理,而由该方法的调用者负 责处理2、在方法声明中用 rhrows 语句可以声明抛出异常的列表,thorws 后面的异常类型可以是方法中 产生的异常类型,也可以是它的父类}//创建了一个文件流对象//这里的异常是一个编译异常//1.可以使用try - catch - finally。原创 2022-10-22 18:04:34 · 948 阅读 · 0 评论 -
Java学习笔记 --- 异常
Java语言中,将程序执行中发生的不正常情况称为“异常”。(开发过程中的语法错误和逻辑错误不是异常)原创 2022-10-22 14:33:22 · 414 阅读 · 0 评论 -
Java学习笔记 --- 注解
使用 Annotation 时要在其前面加 @ 符号,并把该 Annotation 当成一个修饰符使用,用于修饰它支持的程序元素原创 2022-10-20 20:26:21 · 378 阅读 · 0 评论 -
Java学习笔记 --- 枚举类
1、枚举对应英文(enumeration,简写 enum)2、枚举是一组常量的集合3、可以这样理解:枚举属于一种特殊的类,里面只包含一组有限的特定的对象原创 2022-10-20 16:55:26 · 1010 阅读 · 1 评论 -
Java学习笔记 --- 内部类
一个类的内部又完整的嵌套了另外一个类的结构。被嵌套的类称为内部类(inner class),嵌套其他类的类称为外部类(outer class)。就是我们类的第五大成员(属性、方法、构造器、代码块、内部类),内部类最大的特点就是可以直接访问私有属性,并且可以体现类与类之间包含的关系。原创 2022-10-19 15:36:12 · 582 阅读 · 0 评论 -
Java学习笔记 --- 接口
接口就是给出一些没有实现的方法,封装到一起,到某个类要使用的时候,在根据具体情况把这些方法写出来。语法:interface 接口名 { 属性 方法:抽象方法,默认实现方法,静态方法}class 类名 implements 接口 { 自己属性; 自己方法; 必须实现接口的抽象方法;}小结:1、在JDK7.0之前,接口里面的所有方法都没有方法体,即都是抽象方法2、JDK8.0后接口可以有静态方法,默认方法,也就是说接口中可以有方法的具体实现原创 2022-10-18 15:52:08 · 988 阅读 · 0 评论 -
Java学习笔记 --- 抽象类
当父类的某些方法,需要声明,但是又不确定如何实现时,可以将其声明为抽象方法,那么这个类就是抽象类}}//抽象类}//父类方法不确定性的问题//考虑将其设计为抽象方法,抽象方法就是没有实现的方法//没有实现就是值没有方法体//当一个类中存在抽象方法时,需要将该类声明为抽象类//一般来说,抽象类会被继续,由其子类继承来实现抽象方法}1、用abstrac关键字来修饰一个类时,这个类就叫抽象类访问修饰符 abstract 类名 { }原创 2022-10-17 17:01:59 · 798 阅读 · 0 评论 -
Java学习笔记 --- final关键字
表示最后的,最终的可以用于修饰类,属性,方法,局部变量1、当不希望类被继承时,可以用final修饰2、当不希望父类的某个方法被子类覆盖/重写(override)时,可以用final关键字修饰3、当不希望类的的某个属性的值被修改,可以用final修饰4、当不希望某个局部变量被修改,可以使用final修饰。原创 2022-10-16 20:28:09 · 416 阅读 · 0 评论