Java进阶
文章平均质量分 93
以源码为本,深入了解Java安卓所需技术,熟练掌握安卓必备技能,锻炼思维和编程能力,为安卓筑基
何义竏
每天都要比昨天变得更好
展开
-
Java 线程池如何实现及拆分详解
线程池为什么要用线程池ThreadPoolExecutor 的类关系线程池的创建各个参数含义1. corePoolSize2. maximumPoolSize3. keepAliveTime4. TimeUnit5. workQueue6. threadFactory7. RejectedExecutionHandler线程池的工作机制提交任务关闭线程池合理地配置线程池为什么要用线程池 Java中的线程池是运用场景最多的并发框架,几乎所有需要异步或并发执行任务的程序都可以使用线程池。在开发过程中,合理原创 2021-10-22 17:42:17 · 612 阅读 · 0 评论 -
论Java多线程如何引发OOM—多线程开发知识点
Java —ThreadLocal 如何引发 OOMJava 内存泄漏ThreadLocal_OOM回顾ThreadLocal强引用软引用弱引用虚引用Java 内存泄漏内存溢出(Out Of Memory):是指应用系统中存在无法回收的内存或使用的内存过多,最终使得程序运行要用到的内存大于能提供的最大内存。此时程序就运行不了,系统会提示内存溢出,有时候会自动关闭软件,重启电脑或者软件后释放掉一部分内存又可以正常运行该软件,而由系统配置、数据流、用户代码等原因而导致的内存溢出错误,即使用户重新执行任务依然原创 2021-07-08 22:43:35 · 1939 阅读 · 2 评论 -
常用Fork-Join 与 CountDownLatch----并发工具类(同步异步基本实现原理)
Fork-Join原创 2021-07-19 23:04:14 · 641 阅读 · 6 评论 -
Java注解和反射的理解
Java注解与反射*注解定义*注解声明元注解自定义注解:@Traget@Retention内置三大注解:@Override@Deprecated@SuppressWarnings注解类型元素*注解应用场景*SOURCEIDE语法检查:APT注解处理器:CLASSRUNTIME反射什么是反射和什么是反射Class获取class对象判断是否为某个类的实例创建实例获取构造器信息获取类的成员变量调用方法利用反射创建数组反射获取泛型真实类型TypeVariableParameterizedTypeGenericArr原创 2021-07-02 09:57:40 · 383 阅读 · 0 评论 -
Java线程---一定要了解的Volatile关键字
Java线程---Volatile最轻量的同步机制Volatile定义Volatile的可见性volatile的安全性Volatile接上一篇文章,volatile问题更多在于能否代替synchronized锁,答案是不行的。想要对比两者关系可以看会上一篇文章 链接: Java线程 synchronized加锁(不能忽视的锁对象).定义volatile 具有可见性,保证了不同线程对这个变量进行操作时的可见性,即一个线程修改了某个变量的值,这新值对其他线程来说是立刻可见的,但是不能保证原子性,即原创 2021-07-06 10:18:49 · 119 阅读 · 0 评论 -
Java线程基础理论知识总结(熟练Java多线程开发必备)
Java线程基础理论知识总结线程基础概念线程和进程的理解CPU核心数和线程数的关系CPU 事件轮转机制澄清并行和并发高并发编程的意义、好处和注意事项多线程程序需要注意事项Java里的线程Java 程序天生就是多线程的线程的启动与中止启动中止对Java 里的线程再多一点点认识深入理解run()和start()其他的线程相关方法join 方法线程的优先级守护线程线程间的共享和协作线程间的共享线程基础概念线程和进程的理解进程是程序运行资源分配的最小单位进程是操作系统进行资源分配的最小单位,分配 CPU、内原创 2021-07-04 16:44:36 · 277 阅读 · 0 评论 -
Android面试---线程的生产者和消费者实现---wait()/notify)/notifyAll()
整理面试题---线程的生产者和消费者实现水滴筹面试题线程生产消费协作等待/通知机制---notify():---notifyAll():---wait()---wait(long)---wait (long,int)等待和通知的标准范式notify 和 notifyAll最近整理面试题目又有消费者生产者的问题,某人教的早就溜掉了,正好整理知识点(有错欢迎指正)水滴筹面试题采用Java多线程技术(例如wait和notify),设计实现一个符合生产者和消费者的程序,对一个对象(枪膛)进行操作,其最大容量原创 2021-07-16 23:04:04 · 407 阅读 · 0 评论 -
Java多线程----很多人问的ThreadLocal实现原理和过程(源码分析)
Java线程—ThreadLocal 辨析ThreadLocal 用法(如有错误,欢迎指正!)与Synchonized 的比较ThreadLocal 实现ThreadLocal 解析get()---返回当前线程所对应的线程局部变量---get( )---getMap()---threadLocals---ThreadLocalMapset()---设置当前线程的线程局部变量的值---set()---getMap()---createMap()---ThreadLocalMap()---threadLocal原创 2021-07-07 13:50:51 · 302 阅读 · 2 评论 -
Java线程 synchronized加锁(不能忽视的锁对象)
Java线程 synchronized加锁锁的常见问题及原因分析锁的常见问题及原因分析直接上代码例子:package cn.HYQ.WSQ.XY;/*** 类说明:错误的加锁和原因分析*/public class HYQ{ public static void main(String[] args) throws InterruptedException{ Worker work = new Worker(1); //new一个worker对象,并传入i的值 //Thread.sl原创 2021-07-05 20:17:16 · 472 阅读 · 1 评论 -
阻塞队列实现及方法辨析
阻塞队列队列阻塞队列常用阻塞队列有界阻塞 && 无界阻塞ArrayBlockingQueueLinkedBlockingQueueArray 实现和 Linked 实现地区别PriorityBlockingQueueDelayQueue实验代码:SynchronousQueueLinkedTransferQueuetransfer()tryTransfer()LinkedBlockingDeque队列队列是一种特殊的线性表,特殊之处在于它只允许在表的前端(front)进行删除操作,而在表原创 2021-10-22 12:26:41 · 149 阅读 · 0 评论 -
Java 泛型
Java 泛型总结为什么要用泛型泛型类和泛型接口泛型类:泛型接口:注意实现泛型接口的类有两种实现方法:泛型方法:普通方法:泛型方法:限定类型变量泛型中的约束和局限性不能用基本类型实例化类型参数运行时类型查询只适用于原始类型泛型类的静态上下文中类型变量失效![在这里插入图片描述](https://img-blog.csdnimg.cn/20210628161109632.png)不能实例化类型变量不能捕获泛型类的实例但是这样可以:泛型类型的继承规则通配符类型extends Xsuper X无限顶的通配符?虚拟原创 2021-06-28 16:21:46 · 112 阅读 · 0 评论