java基础知识
BS有前途
Everything will be better
展开
-
JAVA线程池讲解(结合源码)
来看Executor的框架图(有个大概印象即可):接口:Executor,CompletionService,ExecutorService,ScheduledExecutorService抽象类:AbstractExecutorService实现类:ExecutorCompletionService,ThreadPoolExecutor,ScheduledThreadPoo...原创 2019-03-21 20:13:43 · 200 阅读 · 0 评论 -
HashMap底层实现结构
下面能看完最好,看不完请看下面几个HashMap的设计亮点(能说出来面试官肯定认为你读过源码):1,取余运算:如果哈希值为h,容量为c,这时候我们可以得出他的桶下标为h%c,很容易计算出但是源码中并没有这么做,他用的方法为:)首先我们要清楚,HashMap的容量必须为2的n次方(下面会说怎么做到的)假设容量为c=2^4=16,二进制表示为10000,那么c-1 = 01111...转载 2019-03-12 16:53:03 · 428 阅读 · 0 评论 -
基于JDK实现的锁:ReentrantLock以及重入锁实现方式
ReentrantLock 是 java.util.concurrent(J.U.C)包中的锁。我们先来看一下ReentrantLock简单实用Demo:package com.star.javaEXE;import java.util.concurrent.ExecutorService;import java.util.concurrent.Executors;import ...转载 2019-03-20 23:00:47 · 443 阅读 · 0 评论 -
Java线程相关函数:sleep(),wait(),notify(),notifyAll(),yield(),interrupt(),join(),
我们先放一张图:相信看完这篇文章之后你能很容易看懂这张图1,线程睡眠sleep():让当前线程进入阻塞状态,不会释放锁属于Thread类的静态方法,需要使用try-catch捕获异常static void sleep(long millis) 在指定的毫秒数内让当前正在执行的线程睡眠(暂停执行)。static void sleep(long millis, int ...原创 2019-03-19 20:21:55 · 688 阅读 · 0 评论 -
synchronized和volatile详解
我们先来看一下两个关键词作用与区别java的线程抽象内存模型java的线程抽象内存模型中定义了每个线程都有一份自己的私有内存,里面存放自己私有的数据,其他线程不能直接访问,而一些共享数据则存在主内存中,供所有线程进行访问。上图中,如果线程A和线程B要进行通信,就要经过主内存,比如线程B要获取线程A修改后的共享变量的值,要经过下面两步:(1)、线程A修改自己的共享变量副本...原创 2019-03-19 17:00:07 · 880 阅读 · 1 评论 -
堆和栈的区别(此时理解为JVM内存结构中的堆和栈)
java虚拟机栈每个 Java 方法在执行的同时会创建一个栈帧用于存储局部变量表、操作数栈、常量池引用等信息。从方法调用直至执行完成的过程,就对应着一个栈帧在 Java 虚拟机栈中入栈和出栈的过程。可以通过 -Xss 这个虚拟机参数来指定每个线程的 Java 虚拟机栈内存大小:java -Xss512M HackTheJava该区域可能抛出以下异常:当线程请求的...转载 2019-03-14 08:47:32 · 278 阅读 · 0 评论 -
java虚拟机主要机制图片
1,运行时数据区域2,java虚拟机栈3,本地方法栈4,垃圾收集算法4.1标记-清理4.2,标记-整理4.3,复制4.4,分代收集5,HotSpot虚拟机垃圾回收期以上是 HotSpot 虚拟机中的 7 个垃圾收集器,连线表示垃圾收集器可以配合使用。单线程与多线程:单线程指的是垃圾收集器只使用一个线程进行收集,而多线程使用多个...原创 2018-12-31 15:15:30 · 312 阅读 · 0 评论 -
JAVA中ERROR和Exception区别
异常发生的原因有很多,通常包含以下几大类:用户输入了非法数据。要打开的文件不存在。网络通信时连接中断,或者JVM内存溢出。这些异常有的是因为用户错误引起,有的是程序错误引起的,还有其它一些是因为物理错误引起的。-要理解Java异常处理是如何工作的,你需要掌握以下三种类型的异常:检查性异常:最具代表的检查性异常是用户错误或问题引起的异常,这是程序员无法预见的。例如要打开一个不存在...转载 2019-04-15 22:58:42 · 1470 阅读 · 0 评论