- 博客(28)
- 收藏
- 关注
原创 深拷贝和浅拷贝(java版)
要拷贝大量对象时,因为要不停的new对象,开销比较大,所以不推荐)重写Object中的clone方法,修改clone方法的访问修饰符,由protected改成public。原对象的值发生变化,拷贝对象的值也会随之发生变化,因为原对象和拷贝对象是同一块空间。这里说的拷贝主要是针对引用类型,而对于基本数据类型,拷贝就是直接把值给另一个对象。原对象的值发生变化,拷贝对象的值不发生变化,因为原对象与拷贝对象是两份不同的空间。Apache Common Lang序列化。重写clone方法方式。JackSon序列化。
2024-05-16 15:07:11 279
原创 java中的内部类
内部类是一个定义在另一个类中的类内部类可以把一些数据统一的隐藏起来,从而增强面向对象的封装性内部类的出现是为了减少一个类的使用,即:如果该类只会使用一次,并且他的父类或者要实现的接口,那么就可以方便的使用内部类,这样可以让代码的结构更加紧凑。
2024-04-29 16:15:01 164
原创 java中的set集合
Set集合不能重复,常规使用HashSet,在需要添加顺序和取出顺序一致的时候使用LinkedHashSet,当需要排序时使用TreeSet。
2024-04-20 14:41:37 1289
原创 java中的抽象
抽象类为了把相同但是不确定的东西提取出来,为了方便以后统一使用,并可以具有多种实现方案,目的是为了让子类实现没有方法体的方法叫做抽象方法必须用abstract修饰抽象类中可以没有抽象方法,但是抽象方法必须在抽象类中,即:普通的类不能有抽象方法抽象类也是使用abstract修饰抽象类中private和abstract不能同时在一个抽象方法中使用,因为private修饰的方法子类不可见,子类无法重写,而abstract修饰的方法子类必须重写,两者矛盾,因此不能同时使用。
2024-04-16 14:57:13 302 1
原创 java中的Map集合
上面列举了HashMap的特点,无序,key不能重复,每个元素存储的是key-value的形式,并且列举了常用的一些方法。
2024-04-15 08:22:48 388
原创 java中的final和Object类
因此,如果只使用equals进行比较的话,那样效率比较低,而如果先使用hashCode获得hash值,如果hash值不能就直接返回false,否则继续进行比较,这样可以大大的提高效率,因此在重写equals方法时,要重写hashCode方法进行优化。为什么在重写equals方法时要重写hashCode方法(简便记忆:提高性能)首先明白什么是hash冲突,其实也就是指的是hash值相同,
2024-04-14 16:44:21 276 1
原创 java中的包装类
出现的原因,在Integer的自动装箱中使用了Integer的valueOf方法,在这个方法中进行了优化,他缓存了经常使用的一些Integer数,范围是[-128,127],因此,当自动装箱的数字超过127或者小于-128时,就会是重新new一个对象,这样就会使得他们的地址不一样,也就是导致了128陷阱的出现。在类型转化过程中,由基本类型转化成包装类型叫做。在java5以后,开始提供自动装箱,自动拆箱。由包装类型转化成基本类型的过程叫做。将基本类型转化成包装类型。将包装类型转化成基本类型。
2024-04-14 12:44:05 281 1
原创 数据结构中的树
巧记:以左右的顺序为基础,根在最前面就是先序,根在中间就是中序,根在最后面就是后续。巧记:从左到右一层一层的遍历。红黑树(对应2-3-4树)
2024-04-09 14:37:21 491
原创 java中的栈和队列
特点:先进后出插入和删除只能在一段进行(栈顶),另一端称为(栈底)插入和删除的时候时间复杂度都是最理想的O(1)java中提供了一个类:Stack,并且实现了泛型。
2024-04-07 18:52:53 251
原创 Java中的List集合
Object set(int index,Object element)它用于用新元素替换列表中的现有元素。boolean add(Object element) 它将元素附加到列表的末尾。void addFirst(E element) 元素附加到列表的头部。E remove(int location) 删除指定位置的元素。E removeFirst() 删除并返回链接列表的头部一个元素。E removeLast() 删除并返回链接列表的尾部一个元素。.clear():它删除列表中的所有元素。
2024-03-31 15:13:35 805 1
原创 Java中的staic关键字
Java中的static关键字修饰变量static修饰的变量属于类变量,被所有类所创建的对象共享修饰方法this关键字不能在static方法中使用static修饰的方法不能直接使用非static修饰的方法非static修饰的方法可以直接使用static修饰的方法修饰代码块静态的代码块是为了优化程序的执行,无论代码放在什么位置都是在main方法中执行
2024-03-28 16:36:24 364
原创 Java中方法的参数
形参: 方法调用时需要传递进来的参数,在方法调用时才会被分配内存 实参: 方法被调用时传递进来的实际值,在方法调用时已经被初始化,并且在方法调用时被传入。
2024-03-26 15:13:47 138
原创 弹性盒子页面布局
页面布局1. 弹性盒子布局配套属性:flex-direction:作用对象:弹性盒子 设置弹性盒子内子元素的排列方向 其中有:row(横向,默认) column(竖着) row-reverse(反向横着) column-reverse(反向竖着)flex-wrap:作用对象:弹性盒子 设置弹性盒子内的子元素是否换行,其中有:nowrap(不换行,默认) wrap(换行)order:作用对象:弹性盒子内的子元素 设置子元素的排列方式,越小越靠前flex:作用对象:弹性盒子
2024-01-23 18:12:42 393 1
原创 CSS中的选择器
CSS中的选择器1. 基本选择器E{} 选择某一种元素 *{} *代表全部的元素E[attr]{} 属性选择器 ^= attr的开头是? *= 包含 =严格意义上那个的等于ID选择器 #id{}class 选择器 .class{}包含选择器 selector1 selector2 …{}子元素选择器 selector1>selector2>…{}兄弟选择器 selector1~selector2{} 从selector1向下寻找selector2的兄弟选择器的组合 sele
2024-01-23 11:42:52 433 1
原创 mysql事务和索引详解
注:事务就是一组操作的集合,成功一起成功,失败一起失败事务控制:开启事务:start transaction;/ begin;提交事务:commit;回滚事务:rollback;使用方法:首先语句全部执行成功语句出现错误开启事务执行mysql提交事务回滚事务。
2023-08-03 17:52:42 22
原创 【无标题】java中的输入输出
本篇文章介绍java中的输入输出。那我们为什么要学习java中的输入输出呢?因为输入输出可以让我们的程序更加灵活。Java输入输出是指使用java提供的一些类和方法来实现数据的输入和输出。数据的输入是指从键盘,文件,网络等来源获取数据;数据的输出是指将数据显示在屏幕,写入文件,发送到网络等目的地。Java输入输出是java编程的基础和重要组成部分,它可以增加我们的程序的交互性。
2023-07-14 22:48:58 147 2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人