2019-10-24发表2022-04-21更新Java28 分钟读完 (大约4238个字)JUC源码学习之AbstractQueuedSynchronizer源码基于的Oracle JDK版本为:11.0.5什么是CLH队列简单理解是一个双向链表,链表中存放的是包含线程在内的信息,队首的是正在执行的线程,后面的是等待执行的线程,如下图所示:Node概述The wait queue is a variant of a "CLH" (Cr阅读更多
2019-03-30发表2022-04-21更新Java2 分钟读完 (大约286个字)关于String与常量池的问题面试必问题吧,但是好像还有一个比较容易漏的地方。总体的流程,搞清楚执行此代码后,他们的结果是什么,以及为什么就差不多算理解了。String a1 = new String("ab");System.out.println(a1 == a1.intern());//falseStr阅读更多
2018-08-30发表2022-04-21更新Spring系列 / Java12 分钟读完 (大约1807个字)Java中的注解与Spring中的常用注解在Spring中,有很多的注解,比如@Controller、@Service什么的。之前对注解的了解不够,在使用SSM时,在想到底什么是注解,它的工作原理又是什么或者说它是怎么工作的,为什么注解了之后就能达到某个功能呢?带着这样的一个疑问,开始探索之旅吧!常见的Java内置的注解以及源代码@Over阅读更多
2018-07-31发表2022-04-21更新Java12 分钟读完 (大约1866个字)Java多线程系列(2)同步器的使用与解析CountDownLatchA synchronization aid that allows one or more threads to wait until a set of operations being performed in other threads completes.A Cou阅读更多
2018-07-17发表2022-04-21更新Java2 分钟读完 (大约314个字)Java多线程系列(1)对一个多线程同步代码的分析注意synchronized关键字使用的是实例锁即可。即m1()与m2()是按照某个次序执行,所以在m1()中,一定会输出b = 1000。至于主线程中的输出,则需要考虑执行顺序。package basic.multithread;public class TestSync2 implements 阅读更多
2018-07-16发表2022-04-21更新Java2 分钟读完 (大约264个字)Exception与Error的区别解析(源代码的注释)ExceptionThe class Exception and its subclasses are a form of Throwable that indicates conditions that a reasonable application might want to catch.Th阅读更多
2018-07-07发表2022-04-21更新Java19 分钟读完 (大约2831个字)Java中的NIO学习笔记流与块的比较原来的 I/O 库(在 java.io.*中) 与 NIO 最重要的区别是数据打包和传输的方式。正如前面提到的,原来的 I/O 以流的方式处理数据,而 NIO 以块的方式处理数据。面向流 的 I/O 系统一次一个字节地处理数据。一个输入流产生一个字节的数据,一个输出流消费一个字节的数据。阅读更多
2018-07-06发表2022-04-21更新Java4 分钟读完 (大约527个字)try、catch、finally与return的执行顺序问题finally一定会执行return以最后一次为准return后的finally是否修改了数据,得看具体类型try{} catch(){}finally{} return按照正常的顺序执行:有错会执行catch,finally都会执行,最后执行return。 private static in阅读更多
2018-05-30发表2022-04-21更新Java11 分钟读完 (大约1715个字)ArrayList源代码分析此篇主要解析 ArrayList 的源码处理逻辑继承关系几个有意思的参数// 默认初始容量private static final int DEFAULT_CAPACITY = 10;// 共享空数组private static final Object[] EMPTY_ELEMENTDATA = 阅读更多
2018-05-20发表2022-04-21更新Android5 分钟读完 (大约692个字)利用自定义线程池解决OOM问题从Camera获取到了byte[]类型的图像数据之后,需要送到so库中,让so库进行相应的处理,并对其处理的结果进行相应的反馈;1s大概有30帧的数据,但是除去一些装载数据的事件,时间就变大了,实际可拿到的帧率就变小了;在此每秒取5帧,每张图片大致1~3M。这大致就是解决这个问题的背景框架。起因处理阅读更多