• 等级
  • 28164 访问
  • 11 原创
  • 2 转发
  • 149652 排名
  • 18 评论
  • 44 获赞

Java中this和super关键字的深入理解

一、this关键字(1)本质编译器在调用某个实例方法时,实际上会把当前的实例对象的引用作为第一个参数传递给方法,例如经过编译器的处理,分别变成Animal.weight(pig,300)、Animal.weight(dog,100)。而如果想从方法内部获取当前对象的引用,就有一个专门的关键字this,表示“调用方法的那个对象”的引用(如pig和dog)。(2)this的含义1.在Java中,每...

2018-06-14 22:23:35

Java中transient关键字的详细总结

一、概要介绍Java中的transient关键字,transient是短暂的意思。对于transient修饰的成员变量,在类实例的序列化处理过程中会被忽略。因此,transient变量不会贯穿对象的序列化和反序列化,生命周期仅存于调用者的内存中而不会写到磁盘里持久化。(1)序列化Java中对象的序列化指的是将对象转换成以字节序列的形式来表示,这些字节序列包含了对象的数据和信息,一个序列化后的对...

2018-06-14 22:15:12

Java中volatile关键字的最全总结

一、简介volatile是Java提供的一种轻量级的同步机制。Java 语言包含两种内在的同步机制:同步块(或方法)和 volatile 变量,相比于synchronized(synchronized通常称为重量级锁),volatile更轻量级,因为它不会引起线程上下文的切换和调度。但是volatile 变量的同步性较差(有时它更简单并且开销更低),而且其使用也更容易出错。二、并发编程的3个基本概...

2018-06-13 17:28:14

Java修饰符的总结(最全)

引言:Java的修饰符根据修饰的对象不同,分为类修饰符、方法修饰符、变量修饰符,其中每种修饰符又分为访问控制修饰符和非访问控制修饰符。访问控制存在的原因:a、让客户端程序员无法触及他们不应该触及的部分 b、允许库设计者可以改变类内部的工作方式而不用担心影响到客户端程序员1.类修饰符访问修饰符:公共类修饰符public非访问控制符:抽象类修饰符abstract、最终类修饰符final...

2018-06-07 18:45:24

Java中的final、finally、finalize的区别

声明:本文只是简单介绍了三者之间的区别,三者的详细用法参见本人的其他文章。#深入理解Java的final关键字#浅析java的finally#Java深入理解finalize()方法1.final是一个关键字,用来修饰变量、方法和类。修饰变量表示变量赋值后不可变,即常量。修饰方法表示方法不可覆盖。修饰类表示类不可继承,同时不能被abstract修饰。2.finally是异常处理结构的一...

2018-06-05 20:53:37

浅析java的finally

1.finally用法(1)finally用在异常捕获中try/catch语句中,不论有没有发生异常或try/catch中出现return语句,finally中的语句都会被执行。(2)finally必须使用在所有catch的最后位置,常用来处理一些后续的工作,如释放资源2.try、catch、finally中的return执行顺序根据JVM规范,try/catch、finally的retu...

2018-06-05 20:33:15

深入理解Java的final关键字

1.final关键字有几种用法(1)修饰变量#用final关键字修饰的变量,只能进行一次赋值操作,并且在生存期内不可以改变它的值。final修饰的变量可以先声明,后赋值。#final修饰基本类型时,起到常量的作用,基本类型的值不可变。final修饰引用类型时,不能再指向其他的对象,但被引用的对象的值是可以改变的(引用变量的值实际上是它所引用的对象的地址)。...

2018-06-05 13:36:30

Java 深入理解finalize()方法

1.什么是finalize()方法?,finalize()是Object的protected方法,子类可以覆盖该方法以实现资源清理工作。另外,Java技术允许使用finalize()方法在垃圾收集器将对象从内存中清除出去之前做必要的清理工作。2.finalize()方法什么时候被调用?垃圾回收器GC在回收对象进行内存释放前会先调用finalize方法3.finali...

2018-06-05 13:25:40

Java如何从字符串中提取数字

在使用java编程处理字符串时,常常需要获取字符串中的数字,来进行进一步的计算。接下来介绍几种从字符串中提取数字的方法。(1)正则表达式    这里正则表达式表示匹配除数字以外的字符,然后replaceAll方法使用空字符代替匹配的字符,这样剩下的字符串  就只包括数字。最后只需要将str转换为int类型就结束了(2)用字符串方法处理    这里通过一个f

2017-12-19 13:56:14

java中如何添加JTextArea到窗口

JMenuBarjb=newJMenuBar();   JTextAreaja=newJTextArea(50,30);   JScrollPanejsp=newJScrollPane(ja);    jf.setJMenuBar(jb);   jf.setSize(800,600);   jf.setLayout(newB

2016-11-24 22:02:22

Java中如何根据图片文件创建Image对象,且将Image对象保存为文件形式

一.创建与保存1.根据一个文件路径创建Image对象   Imageimage=ImageIO.read(newFile(filepath));2.将Image对象保存为文件形式   BufferedImageimage=ImageIO.read(newFile(filepath));//要想保存这个对象的话你要把image声明为BufferedImage类型

2016-11-24 21:23:06

堆和栈的区别

 一、预备知识—程序的内存分配  一个由C/C++编译的程序占用的内存分为以下几个部分  1、栈区(stack)—  由编译器自动分配释放  ,存放函数的参数值,局部变量的值等。其  操作方式类似于数据结构中的栈。  2、堆区(heap)  —  一般由程序员分配释放,  若程序员不释放,程序结束时可能由OS回  收  。注意它与数据结

2016-10-11 21:35:11

UML图之基础篇(用例图)

综述用例图(use case diagram)是指由参与者(Actor)、用例(UseCase)以及它们之间的关系构成的用于描述系统功能的视图。主要用来描述“用户、需求、系统功能单元”之间的关系。用例图定义了系统的功能需求,它是从系统的外部看系统功能,并不描述系统内部对功能的具体实现。用例图多用于静态建模阶段(主要是业务建模和需求建模),帮助开发团队以一种可视化的方式理解系统的功能需求。

2016-10-07 11:35:32

老鼠只爱大米

只会写诗的程序员
关注
  • 软件外包/努力向上的代码搬运工
  • 中国 上海 普陀区
奖章
  • 持之以恒