自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(31)
  • 收藏
  • 关注

原创 Java中的对象流 ObjectInputStream 和ObjectOutputStream

ObjectInputStream和ObjectOutputStream是Java中用于对象序列化和反序列化的重要工具,它们属于Java I/O库中的对象流。

2024-05-29 13:49:11 259 1

原创 Java中的转换流InputStreamReader 和 OutputStreamWriter

在Java的I/O(输入/输出)库中,InputStreamReader 和 OutputStreamWriter 是两个重要的桥接类,它们被用来在字节流(InputStream 和 OutputStream)和字符流(Reader 和 Writer)之间进行转换。

2024-05-29 13:37:14 510

原创 Java中的打印流PrintStream 和 PrintWriter

PrintStream和PrintWriter在Java中都是用于打印输出的类,但它们之间存在一些明显的区别。

2024-05-29 13:31:08 445

原创 Java中的IO流

new File(File parnet,String child)//根据父目录构建文件+子路径构建。new File(String parnet,String child)//根据父目录+子路径构建。new File(String pathname) //根据路径构建一个File对象。java的IO流共涉及40多个类,实际上非常规则,都是从如上4个抽象类基类派生的。由这4个类派生出来的子类名称都是以其父类名作为子类名后缀。InputStream抽象类是所有类字节输入流的超类。

2024-05-29 13:25:09 726

原创 Java中的线程

同一个时刻,只允许执行一个线程。

2024-05-29 13:22:24 811

原创 Java的事件处理机制

Java事件处理是采取“委派事件模型”。当事件发生时,产生事件的对象,会把此“信息”传递给“事件的监听者”处理,这里所说的“信息”实际上就是java.awt.event事件类库里某个类所创建的对象,把它称为“事件的对象”

2024-05-10 14:48:23 344

原创 Java中的泛型

基本语法1class 类名<T、R…>{//…表示可以有多个泛型成员注意细节普通成员可以使用泛型(属性、方法)使用泛型的数组,不能初始化静态方法中不能使用类的泛型泛型类的类型,是在创建对象时确定的(因为创建对象时,需要指定确定类型)如果在创建对象时,没有指定类型,默认为Object基本语法2interface 接口名<T、R…>{注意细节接口中,静态成员也不能使用泛型(这个和泛型类规定一样)泛型接口中的类型,在继承接口或者实现接口是确定。

2024-05-09 15:48:22 446

原创 Java中TreeSet和TreeMap的底层原理

Java中的TreeSet是一个基于红黑树(Red-Black Tree)实现的NavigableSet接口的实现类。红黑树是一种自平衡的二叉查找树,能够在动态数据结构中维持排序和二分搜索的性能。TreeSet使用红黑树作为其底层数据结构。红黑树是一种特殊的二叉查找树,它满足以下五个特性:1. 每个节点要么是红色,要么是黑色。2. 根节点是黑色的。3. 每个叶节点(NIL或空节点)是黑色的。4.如果一个节点是红色的,则它的两个子节点都是黑色的。

2024-05-08 18:52:07 743

原创 Java中HashSet、LinkedHashSet和TreeSet的底层原理

Java中的HashSet的底层原理主要基于哈希表(HashMap)来实现。HashSet内部使用哈希表(实际上是一个HashMap的实例)来存储元素。哈希表由一个数组(桶)和多个链表(或红黑树,在Java 8及以后版本中,当链表长度超过某个阈值时,会转换为红黑树)组成。当向HashSet中添加元素时,首先会计算该元素的哈希码(通过调用对象的hashCode()方法)。哈希码是一个整数,用于确定元素在哈希表中的位置。使用哈希码和哈希表的大小(即桶的数量)来计算元素应该存放在哪个桶中。

2024-05-07 19:02:23 1338 1

原创 Java中ArrayList、LinkedList和Vector的底层原理

Java中的ArrayList底层原理主要涉及其数据结构、扩容机制、线程安全性以及元素存储和访问方式。ArrayList的底层数据结构是一个动态数组。这意味着ArrayList可以根据需要自动增长其容量,从而存储更多的元素。实际上,ArrayList内部维护了一个Object类型的数组,用于存储列表中的元素。当向ArrayList中添加元素时,如果当前数组的容量不足以容纳新元素,ArrayList会自动进行扩容。扩容操作涉及创建一个新的、容量更大的数组,并将原数组中的元素复制到新数组中。

2024-05-07 18:45:03 1137 1

原创 Java中ArrayList、LinkedList与Vector的区别

如果你的程序本省是线程安全的,那么使用ArrayList是更好的选择;LinkedList是一个双向链表,在添加和删除元素时具有比ArrayLiat更好的性能,但是在get与set方面若于ArrayList。当然,这些对比都是指数据量很大或者操作很频繁的情况下的对比,如果数据和运算量很小,那么对比将失去意义。ArrayList是一个可以改变大小的数组,当更多的元素加入到ArrayList中时,其大小将会动态的增长,内部的元素可以直接通过get与set方法进行访问,因为ArrayList本质上就是一个数组。

2024-05-05 19:46:22 580

原创 Java中Collection工具类

【代码】Java中Collection工具类。

2024-05-04 15:31:40 291 1

原创 Java中TreeSet和TreeMap

【代码】Java中TreeSet和TreeMap。

2024-05-04 14:46:07 190 1

原创 Java开发中如何选择集合实现类

在开发中,选择什么集合实现类,主要取决于业务的操作特点,然后根据集合实现类特性进行选择,分析如下:

2024-05-04 13:11:41 149 1

原创 Java中的Set接口

Node存放的元素数据是LinkedHashMap。

2024-04-28 15:46:46 863

原创 Java中List接口

2.如果有参构造器1.5倍,如果是无参构造器,第一次10,第二次开始按1.5扩。1.如果是无参,默认10,满后,就按2倍扩容;如果指定大小,则每次直接2倍扩。方式1:使用iterator。方式2:使用增强for。方式3:使用普通for。

2024-04-27 17:48:49 692

原创 Java中Collection接口和常用方法

迭代器执行原理。

2024-04-25 17:05:33 303

原创 Java中ArrayList常用方法

【代码】Java中ArrayList常用方法。

2024-04-25 17:03:20 236

原创 Java中的集合

集合框架体系图Collection接口 特点 方法Collection接口的子接口:List实现类:ArraysList、LinkedList、VectorCollection接口的子接口:Set实现类:HashSet、LinkedHashSetMap接口 特点方法 遍历方式Map接口的实现类:HashMap、Hashtable等Collection工具类的使用。

2024-04-25 17:00:38 134

原创 Java中的日期类

使用minus方法检测查看一年前和一年后的日期。使用plus方法检测增加时间的某个部分。MonthDay类:检查重复事件。LocalDateTime类。

2024-04-24 16:36:24 186

原创 Java中的BigInteger类和BigDecimal类

在调用divide方法时,指定精度即可,BigDecimal.ROUND_CEILING。BigDecimal适合保存精度更高的浮点型。BigInteger适合保存比较大的整型。如果有无线循环小数,就会。

2024-04-23 17:28:47 299 1

原创 Java中的Math类、Arrays类和System类

获取a-b之间的整数 (int)(a + Math.random() * (b-a+1))Math.random();Math.random() * (b - a) 返回的就是 0 <= 数 <=b-a。向下取整,返回<=该参数的最大整数(转成double)Math.ceil();//返回ab的最小值。//返回ab的最大值。Math.abs();

2024-04-23 16:24:49 676 1

原创 Java中的注解

使用 Annotation 时要在其前面增加 @ 符号, 并把该 Annotation 当成一个修饰符使用。用于修饰它支持的程序元素。

2024-04-22 14:44:34 323

原创 String、StringBuffer和StringBuilder的比较、效率测试和选择

【代码】String、StringBuffer和StringBuilder的比较、效率测试和选择。

2024-04-21 19:35:32 219 1

原创 Java中StringBuffer类和StringBuilder类

java.lang.StringBuffer代表可变的字符序列,可以对字符串内容进行增删很多方法与String相同,但StrinBuffer是可变长度的StringBuffer是一个容器。

2024-04-21 19:32:53 723 1

原创 Java中String类的常见方法

【代码】Java中String类的常见方法。

2024-04-21 09:46:51 176

原创 Java 异常 Exception

当程序中出现了某些“错误”,但该错误信息并没有在Throwable子类中描述处理,这个时候可以自己设计异常类,用于描述该错误信息。

2024-04-21 08:18:39 842 1

原创 Java中String类(里面4个练习是重点!!!)

注:如果一个类可以串行化,说明该对象可以在网络传输。

2024-04-20 17:04:19 316

原创 Java枚举和使用enum实现枚举

1.将构造器私有化,防止 直接 new2.去掉setXxx方法,防止属性被修改3.在Season内部直接创建固定的对象4.优化,可以加入 final 修饰符//定义个四个对象public static final Season SPRING = new Season("春天","温暖");public static final Season SUMMER = new Season("夏天","炎热");

2024-04-20 14:06:05 245

原创 Java内部类(难点、重点)

一个类的内部又完整的嵌套了另一个类结构,被嵌套的类称为内部类,内部类的最大的特点就是可以直接访问私有属性,并且可以体现类与类之间的包含关系。

2024-04-20 08:57:07 414

原创 Java代码块

代码块又称为初始化块,属于类中的成员(是类的一部分),类似于方法,将逻辑语句封装在方法体中,通过{}包围起来。但和方法不同,没有方法名,没有返回值,没有返回参数,只有方法体,而且不用通过对象或类显示调用,而是加载类时,或创建对象时隐式调用[修饰符]{代码1.修饰符可选,要写的话只能写static2.代码块分为两类,使用static修饰的代码块叫静态代码块,没有static修饰的叫普通代码块3.逻辑语句可以为任何逻辑语句我们不管使用哪个构造器,创建对象,都会先调用代码块的内容。

2024-04-19 17:38:45 316 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除