垃圾回收主要关注堆和方法区,其他的(程序计数器虚拟机栈和本地方法栈)大体可以认为在编译器就已知分配的内存。而堆和方法区要运行起来才知道。垃圾回收主要确定三个问题: 哪些内存需...
垃圾回收主要关注堆和方法区,其他的(程序计数器虚拟机栈和本地方法栈)大体可以认为在编译器就已知分配的内存。而堆和方法区要运行起来才知道。垃圾回收主要确定三个问题: 哪些内存需...
排序 插入排序、冒泡排序、归并排序、快速排序,选择排序 算法的比较,需要从额外空间消耗,平均时间复杂度和最差时间复杂度等方面去比较他们的优缺点 插入排序 1. 直接插入排序 ...
回溯法适合用递归实现。它从解决问题每一步的所有选项选一个可行的执行。进入下一步之后又面临新的选项,当不满足条件时就回到上一个选项继续其它选项,如果所有节点的所有选项都不能满足...
此题为剑指offer的第7题 就是根据二叉树的前序和中序遍历的序列来构造二叉树并以层次遍历的形式输出。考察了二叉树的遍历 。思想是前序遍历的第一个值就是数的root节点,然后...
虚拟机类加载机制 虚拟机把描述类的数据从Class文件加载到内存,并对数据进行校验、转换解析、初始化,最终形成可以被虚拟机直接使用的Java类型。 在Java里面,类型的加载...
代码编译的结果从本地机器码转变为字节码。字节码构成平台无关性的基石实现与厌恶惯性的基础是虚拟机和字节码的存储格式Java虚拟机不与任何语言绑定,只与Class文件这种特定的二...
------本文主要记录CountDownLatch,CyclicBarries、Semaphore工具提供的并发流程控制手段 等待多线程完成的CountDownLatch ...
此文部分内容来自 https://javadoop.com/post/hashmap Hashmap 多线程死循环 主要是多线程同时put时,如果同时触发了rehash操...
记博客应该是一个很好的事情,但是方法拿捏不到位的话也就变得不好了,之前我是看书的时候按着书的章节边看边记,感觉这样同时进行可能会快很多,但是有人告诉我要先看完再总结,自己分章...
Lock接口 锁用来控制多个线程访问共享资源的方式。synchronized是隐式地获取锁和释放锁,而Lock接口以及相关的实现类拥有了锁获取和锁释放的可操作性、可中断性、超...
线程 线程是操作系统的最小调度单元。操作系统在运行一个程序的时候会为其创建一个进程,如创建一个java程序操作系统就会创建一个进程,线程也叫做轻量级进程,在一个进程里面可以...
什么是可见性 可见性:一个线程对共享变量值的修改,能够及时地被其他线程看到。 共享变量:如果一个变量在多个线程的工作内存中都存在副本,那么这个变量就是这几个线程的共享变量 ...
volatile是用来修饰被不同线程访问和修改的变量,编译器不会去假设这个变量的值。是轻量级的synchronized保证了共享变量的可见性,也就是当一个线程修改一个共享变量...
什么是事务? 它是一个操作序列,这些操作要么都执行,要么都不执行,它是一个不可分割的工作单位。它保证了用户的每一次操作都是可靠的,即便出现了异常的访问情况,也不至于破坏后台数...
spring配置c3p0连接池需要c3p0jar包 mchange-commons-java原始连接池做法ComboPooledDataSource dataSource =...