自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Java 静态变量(类变量)和实例变量以及局部变量三者之间的区别区别?

1.写法不同 静态变量用static修饰 实例变量和局部变量则不用static修饰 2.定义位置 静态变量和实例变量均在类中但不在方法或局部块中 3.存储地方不同 静态变量存储在方法区,所有对象共享静态变量 实例变量存储在堆内存 局部变量存放在栈中 4.生命周期 实例变量与对象共存亡静态变量与方法共存亡 静态变量与进程共存 局部变量与创建区域共存亡 5.初始值不同 静态变量没有初始值 实例变量有默认初始值 局部变量有默认初始值 表格 实例变量(成员变量)

2021-08-07 21:15:48 139

原创 java堆内存,栈内存和方法区

Java程序运行在JVM(Java虚拟机)上,这是Java能跨平台的主要原因 JVM主要三种存储区 堆内存 1.JVM只有一个堆区,被所有线程共享,在虚拟机启动时创建,是虚拟机所管理的内存中最大的一块。此内存区域的唯一目的就是存放对象实例和数组 2.在堆中分配的内存,由Java虚拟机的自动垃圾回收器来管理 3.创建一个对象时,引用变量存放在栈内存中,对象存放在堆内存中 引用变量的值是对象在堆中的首地址,这样建立起了联系(引用变量实质其实是个指针)引用变量在程序运行到其作用域之外后被...

2021-08-07 21:15:30 196

原创 JMM(java内存模型)

1.JMM是什么 JMM :java内存模型 线程 ----》 Java工作内存 ---》JMM控制 ----》主内存 2.JMM作用 现在不同品牌的电脑会存在各种硬件差异以及不同系统的电脑会导致对内存访问的不同,JMM存在就是保证Java程序能够对不同硬件和不同系统的电脑进行内存访问。 3.JMM三大特征 (1)原子性 原子性指的是一个操作是不可分割,不可中断的,一个线程在执行时不会被其他线程干扰。 int i = 2; int j = i; i++; i = i + 1; 第一句..

2021-08-07 21:15:08 79

原创 抽象类和接口区别?

共同点: 都不能实例化,都必须依赖子类完成实例化。 都是为了抽象,都是为了加强动态绑定(就是一个父类可以指向多个子类的现象)。 不同点: 抽象类可以有构造函数,是提供给子类依赖初始化的,接口中不可以有构造函数。 抽象类中可以没有抽象方法,但是有抽象方法的类一定是抽象类,接口中所有的方法都是抽象方法。 抽象类使用是is-a原则 接口使用是has-a原则(is-a是一种继承关系,指的是类的父子继承关系。表达的是一种方式:这个东西是那个东西的一种。例如:长方体与正方体之间--正方体是长方体的一种...

2021-08-07 21:14:49 136

原创 我所用过的设计模式

1.单例模式 保证只产生一个对象 分为懒汉式和恶汉式 主要运用场景:XMl文件的解析 public class Danli { //恶汉式单例 会造成内存消耗 //private static Danli danli=new Danli(); //懒汉式单例 private static Danli danli=null; private static Lock lock=new ReentrantLock(); private Danli() { } // public

2021-08-07 21:14:31 48

原创 Java异常处理

检查性异常:最具代表的检查性异常是用户错误或问题引起的异常,这是程序员无法预见的。例如要打开一个不存在文件时,一个异常就发生了,这些异常在编译时不能被简单地忽略。 运行时异常:运行时异常是可能被程序员避免的异常。与检查性异常相反,运行时异常可以在编译时被忽略。 运行时异常:空指针异常 类型转换异常 算术异常 序列化异常 端口异常 数字格式转换异常 检查性异常:ClassNotFoundExceptionSQLExceptionIOExceptionFileN...

2021-08-07 21:14:06 68

原创 String,StringBuffer类和StringBuilder类

一、可变与不可变 String类是一个不可变类,即创建String对象后,该对象中的字符串是不可改变的,直到这个对象被销毁。StringBuffer与StringBuilder都继承自AbstractStringBuilder类,在AbstractStringBuilder中也是使用字符数组保存字符串,是可变类。 由于String是可变类,适合在需要被共享的场合中使用,当一个字符串经常被修改时,最好使用StringBuffer实现。如果用String保存一个经常被修改的字符串,该字符串每次修改时都会创建

2021-08-07 21:12:55 139

原创 Java面向对象

Java创建对象的方式有五种 1.New关键字创建对象 People peo1 = new People (); 2.克隆创建对象 People peo2= (People ) peo1 .clone(); 3.反序列化创建对象 ObjectInputStream in = new ObjectInputStream(new FileInputStream("Employee .obj")); People peo1 = (People ) in.re...

2021-08-07 21:11:41 47

原创 多线程自用

1.创建多线程的方式 继承Thread重写run()方法 //方式1 public class Demo1 extends Thread{ //重写的是父类Thread的run() public void run() { System.out.println(getName()+"is running..."); } public static void main(String[] args) { Demo1...

2021-08-07 21:11:17 82

空空如也

空空如也

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

TA关注的人

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