Java基础
pengboboer
啊
展开
-
Java是引用传递还是值传递?
突然想起自己在刚学Java的时候,成员变量名和方法参数名相同时,我搞不清楚set方法中的this到底是指的哪个值。想想真的挺搞笑的,但是当时确实就是想不明白,哈哈。这种类似傻傻分不清的问题,Java的传递问题算一个,今天来总结一下。直接先解答问题: 在Java中方法参数传递的方式是按值传递的。 参数是基本类型,传递的是基本类型的字面量值的拷贝。 参数是引用类型,传递的是所引用的对象在队中地址值的拷贝。 或者有的更官方一点的说法叫:Java函数调用时采用的求值策略为值传递。如果你理解上面的几句话,原创 2020-09-05 18:00:08 · 159 阅读 · 2 评论 -
Java四大引用、了解一下。
前言Java中的引用很多开发者可能都不太清楚具体是什么、我们来总结一下强引用(Strong Reference)我们平时最常用的那就是强引用:Object object = new Object();只要某个对象与强引用有关联,JVM必定不会回收这个对象,哪怕内存不足,抛出OutOfMemory也不回收这种对象软引用(Soft Reference)SoftRefer...原创 2019-12-12 18:25:47 · 205 阅读 · 0 评论 -
匿名内部类访问的局部变量为什么需要用final修饰?
前言看到标题,有一种很熟悉的感觉,我相信只要有几个月开发经验的人,总会遇到一个问题:匿名内部类访问的局部变量,必须用final修饰,要不然编译不通过。很多人都知道需要加final,但是这是为什么呢?原因一句话解释:保持数据的一致性。基本数据类型:保持值的一致性 引用类型:保持引用的一致性匿名内部类访问局部变量,编译器会拷贝一份使用的值通过匿名内部类的构造方法传进来如果方法中...原创 2019-12-12 16:39:55 · 1053 阅读 · 2 评论 -
Serializable和Parcelable总结
前言Android开发中难免会遇到对象序列化的场景,比如说将对象从一个Activity通过Intent传到另一个Activity,比如说存储到本地等等。大体的总结一下序列化的知识吧。Serializable意为“序列化的”意思什么是序列化序列化:把对象转换为字节序列的过程 反序列化:把字节序列转换为对象的过程什么时候需要序列化当你想把一个对象通过Intent传递到...原创 2019-09-02 18:34:23 · 353 阅读 · 0 评论 -
Java文件流使用总结
前言其实对于刚学Java的人来说,对文件流的概念总是很模糊,我记得我当时就是懵懵懂懂,而且文件流操作伴随着一堆try-catch代码,乱七八糟的,看的头疼。今天来总结一下文件流相关概念吧简述Java读写文件流分为两大类:字节流、字符流字节流:可以处理所有类型的数据,包括音频视频图片,主要操作byte类型数据字符流:只能处理文本数据// 输入流只能读// 输出流只...原创 2019-08-27 18:14:45 · 2162 阅读 · 0 评论 -
手写死锁
死锁的概念:多个线程互相持有对方所需要的资源,导致这些线程处于等待状态。死锁产生的必要条件:互斥:一个资源只允许一个线程访问(厕所一个坑只能一个人上厕所) 占有且等待:一个线程占有资源,同时还有其他线程未得到满足,正在等待其他线程释放该资源(厕所坑里进了一个人,外面还有一个人等着里面的人厕所用完) 不可抢占:其他线程已经占有了某项资源,不能因为你需要就抢过来(别人已经进坑里上厕所了,不...原创 2019-01-30 15:20:25 · 767 阅读 · 1 评论 -
手写生产者—消费者模式
生产者—消费者模式是一个很好的并发的问题先说几个基础的点:wait(), notify(), notifyAll()都是Object的函数 notify()仅仅通知一个线程,并且不知道通知哪一个线程,而notifyAll()会通知所有等待中的线程 在多线程共享的那个Object中使用wait(),在生产者消费者问题中,这个共享的Object就是共享缓冲区 在多线程共享的那个Objec...原创 2019-01-23 17:44:17 · 484 阅读 · 0 评论 -
Java访问修饰符private、default、protected、public的区别
Java访问修饰符是java学习中基础中的基础,也是面试当中常被问到的一个问题,尤其是校招的时候,问的Java基础比较多一些,虽然平时用到的比较多,但是有时候就是会忘记,今天简单的梳理一下记忆的方法。Java有四种访问权限,其中三种有访问权限修饰符,分别为private,public和protected,还有一种不带任何修饰符: 1、private,私有的,被private修饰的类、方法、属...原创 2018-05-08 15:10:23 · 3075 阅读 · 4 评论 -
Java关键字static和final
static和final关键字,是Java基础中的基础,一定要很好的把他们理解,以便在今后更加灵活的应用。 一、static关键字 1、static修饰类,只能修饰内部类,被static修饰的内部类不需要实例一个外部类来调用这个内部类 不用static修饰内部类的情况,需要实例一个外部类的对象才能调用内部类,并且还需要new一个内部类出来publ...原创 2018-05-11 13:27:28 · 250 阅读 · 0 评论