自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 String是一个不可变的类

String s = "Hello";s += " world!";这两行代码执行之后,原始的String对象中的内容到底有没有改变。答案是,没有改变。因为String 被设计成不可变的(immutable)类,所以他的所有对象都是不可变的对象。在这段代码中,s原先指向一个String对象,内容是“Hello”,然后我们对s进行了“+”拼接操作,这时,s就不指向原来的那个对象了,而是指向了另一个String对象,内容为“Hello world!”,原来的那个对象还存在于内存中,只...

2021-07-28 09:56:13 405

原创 队列(底层使用数组存储)

package array;/* @autor YANG @date 2021年07月27日18:48 队列(底层使用数组存储)*/public class Queue { Object[] elements; public Queue() { elements = new Object[0]; } // 入队 public void add(Object element) { Object[]

2021-07-27 19:34:08 85

原创 Java加深对栈的理解

package array;/* @autor YANG @date 2021年07月27日18:33 栈(底层使用数组存储数据)*/public class Stack { Object[] elements; public Stack() { elements = new Object[0]; } // 压栈 public void push(Object element) {// 创建一个

2021-07-27 19:32:34 51

原创 数组实现单向链表

package array;/* @autor YANG @date 2021年07月27日18:06 单向链表*/public class Node { Object data; Node next; public Node(Object data) { this.data = data; } // 追加节点 public Node append(Node node) {// 当前节点

2021-07-27 19:31:08 103

原创 数组操作,数组扩容

package array;/* @autor YANG @date 2021年07月27日16:19 数组->列表*/public class MyArray { private Object[] elements; // 初始化数组 public MyArray() { elements = new Object[0]; } // 获取数组长度 public int getSize()

2021-07-27 19:30:09 99

原创 MySQL

MySQL的select语句完整执行顺序1、from 组装来自不同数据源的数据2、where 基于指定条件对 from 组装的数据进行筛选3、group by 将数据根据给定的字段进行分组操作4、计算聚合函数5、having 筛选分组数据6、计算所有表达式7、select 选择字段8、order by 对结果集排序9、limit 对结果进行限制SQL连接查询外连接:左外连接:以左表为基准进行查询,左表的数据会全部展示出来。根据连接条件右表与左表匹配的数据显示相应字段的数据,如果

2021-07-27 11:17:45 47

原创 & 和 &&的区别

&,按位与&&,逻辑与虽然这两个运算符要求两边的值都为 true 整个表达式才为 true;但&&是短路的只要左边的表达式为 false 则整个表达式都为 false 右边的表达式不会执行。很多时候我们都需要&&而不是&,例如在验证用户登录时判定用户名 不为 null 且不为空字符串时,应当写成username != null && !username.equals(""),二者的顺序不能交换,更不能使用&,

2021-07-23 20:19:45 187

原创 深拷贝与浅拷贝

浅拷贝只复制对象的引用(地址),不会复制对象本身,新对象和就对象共享一块内存空间。深拷贝会另外创造一个一模一样的对象,和原对象不共享内存,修改新对象不会影响到原对象。clone 出来的对象也是浅拷贝对象,如果想要深拷贝一个对象,那这个对象必须要实现Cloneable接口、实现 clone 方法,并在 clone 方法中把该对象的其他对象也要 clone 一份,这就要求这个被引用的对象也必须实现 Cloneable 接口并且实现 clone 方法。...

2021-07-23 20:11:57 28

原创 new 和 clone 的区别

首先,我们常常遇见这种情况:有一个对象z,在某时刻z对象已经包含了一些有效的值,此时可能需要一个和z完全相同的新对象x,并且此后对x的任何改动都不会影响到z中的值,也就是说,z和x是两个独立的对象,但x的值由z对象确定,这种情况就可以使用clone关键字实现。new,他的本意就是在内存中分配空间。在执行 new 关键字时,首先看 new 关键字 后边的类型,因为知道了类型,才知道要分配多大的空间。分配完内存之后,在调用构造函数,填充对象的各个域,这就是对象的初始化,构造函数返回之后,一个对象创建完毕,可

2021-07-23 20:00:30 372

原创 Java的“4”大特性

封装:通常认为封装是把对象的属性和行为封锁起来,对数据的访问只能通过已经定义的接口。面向对象的本质就是将现实世界事物封装成一个完全自治、封闭的对象。我们编写一个实体类就是对数据和数据的操作进行封装。封装就是隐藏一切可以隐藏的东西,只给外界提供最简单的接口。继承:是从已知类得到继承信息创建一个新类的过程。提供信息的类称之为父类(超类、基类);得到继承信息的类我们称为子类(派生类)。继承让软件系统有了一定的延续性,同时继承也是封装程序中可变因素的重要手段。多态:是指允许不同子类型的对象对同一消息做出不同

2021-07-21 20:10:53 82

空空如也

空空如也

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

TA关注的人

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