摘要: 并发和并行的区别 并行(parallel):指在同一时刻,有多条指令在多个处理器上同时执行。所以无论从微观还是从宏观来看,二者都是一起执行的。 并发(concurrency):指在同一时刻只能有一条指令执行,但多个进程指令被快速的轮换执行,使得在宏观上具有多个进程同时执行的效果,但在微观上并不是同时 阅读全文
posted @ 2020-05-31 14:13 xd会飞的猫 阅读(218) 评论(0) 推荐(0) 编辑
摘要: 简单的线程池,体现线程的复用 不使用Executors.newFixedThreadPool(int)、Executors.newSingleThreadExecutor()、Executors.newCachedThreadPool(),而是通过ThreadPoolExecutor的7个参数的构造 阅读全文
posted @ 2020-05-31 11:58 xd会飞的猫 阅读(252) 评论(0) 推荐(0) 编辑
摘要: GC垃圾回收 JVM大部分时候回收的都是新生代(伊甸区+幸存0区+幸存1区)。按照回收的区域可以分成两种类型:Minor GC和Full GC(MajorGC)。 Minor GC:只针对新生代区域的GC,大多数Java对象的存活率都不高,Minor GC非常频繁,回收速度快。 Full GC:发生 阅读全文
posted @ 2020-05-31 09:47 xd会飞的猫 阅读(1003) 评论(1) 推荐(2) 编辑
摘要: 堆体系结构 一个JVM实例只存在一个堆内存,堆内存的大小是可调节的。类加载器读取类文件后,需要把类、方法、常量、变量放在堆内存中,保存所有引用类型的真实信息,以方便执行器指向,堆内存分为三个部分:年轻代、老年代、永久代。 Java7之前,堆内存在逻辑上分为:年轻代、老年代、永久代。物理上分为:年轻代 阅读全文
posted @ 2020-05-30 12:49 xd会飞的猫 阅读(670) 评论(0) 推荐(0) 编辑
摘要: 机器人走路问题 一个机器人可以在1~N上行走,每一步可以向前或向后走,给定起点S > 1,终点 < N,每一次行走K步,机器人从S走到E一共有多少种方法。 暴力递归 暴力递归存在大量重复的递归过程。可以用空间换取时间,记录可能出现的重复解,之后不需要递归展开直接拿到之前算过的值。即,记忆化搜索。时间 阅读全文
posted @ 2020-05-29 17:34 xd会飞的猫 阅读(186) 评论(0) 推荐(0) 编辑
摘要: JVM JVM运行在操作系统之上,与硬件没有直接的交互。引入Java语言虚拟机后,Java语言在不同平台上运行时不需要重新编译。Java语言使用Java虚拟机屏蔽了与具体平台相关的信息,使得Java语言编译程序只需生成在Java虚拟机上运行的目标代码(字节码),就可以在多种平台上不加修改地运行。 J 阅读全文
posted @ 2020-05-29 12:15 xd会飞的猫 阅读(349) 评论(0) 推荐(0) 编辑
摘要: 位运算的小技巧 【n & 1 == 0 ? 偶数:奇数】可以用来判断是奇数还是偶数 左移运算a<<1可以作为乘2使用 右移运算a>>1可以作为除以2使用 获得第 i 位【(a>>i)&1】或者【 a&(1<<i)】 将第 i 位设为1【a=a|(1<<i)】 将第 i 位设为0【a=a&(~(1<< 阅读全文
posted @ 2020-05-28 23:36 xd会飞的猫 阅读(185) 评论(0) 推荐(0) 编辑
摘要: 死锁的概念 两个或两个以上的进程在执行过程中,因抢夺资源而造成的一种互相等待的现象,若无外力干涉,它们都无法继续推进,如果系统资源充足,进程的资源请求都能够得到满足,死锁出现的可能性就很低,否则就会因争夺有限的资源而陷入死锁。 实现死锁 1 class HoldLockThread implemen 阅读全文
posted @ 2020-05-28 18:50 xd会飞的猫 阅读(206) 评论(0) 推荐(0) 编辑
摘要: 线程池的概念 线程池的主要工作的控制运行的线程的数量,处理过程种将任务放在队列,线程创建后再启动折现任务,如果线程数量超过了最大的数量,则超过部分的线程排队等待,直到其他线程执行完毕后,从队列种取出任务来执行。 处理流程: 1.线程池判断核心线程池的线程是否全部在执行任务? 1.1 不是:创建一个新 阅读全文
posted @ 2020-05-28 18:24 xd会飞的猫 阅读(523) 评论(0) 推荐(0) 编辑
摘要: 实现线程的三种方式比较 1. 继承Thread类 1 class ExtendsThread extends Thread{ 2 public void run(){ 3 System.out.println("Thread"); 4 } 5 } 6 public class RunnableDem 阅读全文
posted @ 2020-05-28 15:33 xd会飞的猫 阅读(196) 评论(0) 推荐(0) 编辑