java
文章平均质量分 83
旗smile
这个作者很懒,什么都没留下…
展开
-
Java线程池中的execute和submit
execute和submit都是线程池中执行任务的方法。execute是Executor接口中的方法submit是接口中的方法。通过源码可以看出execute方法无返回值,参数为Runnable对象。submit方法有三个重载方法,都有Future类型的返回值,参数可以是Runnable对象,Callable对象,Runnable对象和一个其他类型的对象。执行结果如下:结果如下:可见使用submit方法时只有在使用Future的get方法时才会抛出异常,并且get方法也会抛出异常。原创 2023-02-01 15:17:48 · 4934 阅读 · 0 评论 -
Java多线程:Future和FutureTask
Future是一个接口,所有方法如下:上源码:cancel:取消任务(mayInterruptIfRunning是否中断正在执行的任务)。isCancelled:任务是否取消isDone:任务是否执行完成。get:获取任务结果get(long timeout, TimeUnit unit):有等待时间的获取任务结果。二、FutureTaskFutureTask是一个类,实现了接口,接口继承了和,关系图如下:FutureTask有两个构造函数:第一个构造函数传入一个对象,第二个构造函数传入原创 2023-01-31 16:38:12 · 1282 阅读 · 0 评论 -
Java线程池详解
详解线程池的参数、生命周期、Executor提供的线程池。原创 2023-01-31 09:41:10 · 669 阅读 · 0 评论 -
【java集合】HashMap源码解析(基于JDK1.8)
类继承关系图如下:HashMap实现了三个接口,一个抽象类。主要的方法都在Map接口中,AbstractMap抽象类实现了Map方法中的公共方法,例如:size(),containsKey(),clear()等,主要方法由子类自己实现。HashMap结构如下图:HashMap的主要结构由数组、链表/红黑树组成,当数组中某个节点大于等于8个并且数组长度大于等于64时,链表会转换为红黑树。原创 2023-01-04 19:52:44 · 599 阅读 · 1 评论 -
深入Java核心 Java内存分配原理精讲
Java内存分配与管理是Java的核心技术之一,之前我们曾介绍过Java的内存管理与内存泄露以及Java垃圾回收方面的知识,今天我们再次深入Java核心,详细介绍一下Java在内存分配方面的知识。一般Java在内存分配时会涉及到以下区域:◆寄存器:我们在程序中无法控制◆栈:存放基本类型的数据和对象的引用,但对象本身不存放在栈中,而是存放在堆中◆堆:存放用new产生的数据转载 2015-12-23 20:25:35 · 425 阅读 · 0 评论 -
Tomcat的内存问题
刚开始实习的时候常常遇到Tomcat的内存问题而使Tomcat启动失败,在给Tomcat配置了文件以后再启动时经常遇到 java.lang.OutOfmemoryError:PermGen Space的问题,在网上搜寻了很多方法都没有用,最后试了一个方法,打开catalina.bat文件,在echo Using CATALINA_BASE: "%CATALINA_BASE%"的上一行加入一原创 2016-02-29 10:10:45 · 463 阅读 · 0 评论