02 2019 档案
强引用、软引用、弱引用、虚引用有什么区别
摘要:1 强引用 特点:我们平常典型编码Object obj = new Object()中的obj就是强引用。通过关键字new创建的对象所关联的引用就是强引用。 当JVM内存空间不足,JVM宁愿抛出OutOfMemoryError运行时错误(OOM),使程序异常终止,也不会靠随意回收具有强引用的“存活” 阅读全文
posted @ 2019-02-25 14:35 灯火、阑珊处 阅读(317) 评论(0) 推荐(0)
多线程、文件下载断点续传
摘要:在本地下载过程中要使用数据库实时存储到底存储到文件的哪个位置了,这样点击开始继续传递时,才能通过HTTP的GET请求中的setRequestProperty()方法可以告诉服务器,数据从哪里开始,到哪里结束。同时在本地的文件写入时,RandomAccessFile的seek()方法也支持在文件中的任 阅读全文
posted @ 2019-02-25 14:18 灯火、阑珊处 阅读(212) 评论(0) 推荐(0)
OOm是否可以try catch ?
摘要:只有在一种情况下,这样做是可行的: 在try语句中声明了很大的对象,导致OOM,并且可以确认OOM是由try语句中的对象声明导致的,那么在catch语句中,可以释放掉这些对象,解决OOM的问题,继续执行剩余语句。 但是这通常不是合适的做法。 Java中管理内存除了显式地catch OOM之外还有更多 阅读全文
posted @ 2019-02-25 09:54 灯火、阑珊处 阅读(676) 评论(0) 推荐(0)
Java中两个线程是否可以同时访问同一个对象的两个不同的synchronized方法?
摘要:不可以!!! 下面是一些关于使用锁的一些建议:为了避免对锁的竞争, 你可以使用锁分解,锁分段以及减少线程持有锁的时间, 如果上诉程序中的syncMethod1和syncMethod2方法是两个不相干的方法(请求的资源不存在关系), 那么这两个方法可以分别使用两个不同的锁, 改造后的SyncMetho 阅读全文
posted @ 2019-02-15 15:58 灯火、阑珊处 阅读(1051) 评论(0) 推荐(2)