摘要:
百度百科:归并排序(MERGE-SORT)是建立在归并操作上的一种有效的排序算法,该算法是采用分治法(Divide and Conquer)的一个非常典型的应用。将已有序的子序列合并,得到完全有序的序列;即先使每个子序列有序,再使子序列段间有序。若将两个有序表合并成一个有序表,称为二路归并。 归并操
阅读全文
posted @ 2018-08-27 22:57
蔡苗
阅读(10412)
推荐(0)
摘要:
Java中线程池是运用场景的并发框架,几乎所需要异步或并发执行程序都可以使用线程池。合理使用线程池可以带来以下好处: 1. 降低资源消耗。通过重复利用以创建的线程降低线程的创建和销毁造成的消耗。 2. 提高响应速度。当任务到达时,任务可以不需要等到线程的创建就能立即执行。 3.提高线程的可管理性。
阅读全文
posted @ 2018-08-27 18:19
蔡苗
阅读(171)
推荐(0)
摘要:
JavaSE 减少了获得锁和释放锁带来的性能消耗,引入了"偏向锁"和"轻量级锁"。在javaSe 1.6中,锁一共4种状态,级别从低到高依次是:无锁状态,偏向锁状态,轻量级锁状态,重量级锁状态,这个几个状态会随着竞争状态进行升级。锁可以升级但不能降级,意味者偏向锁升级成轻量级锁不能降级成偏向锁。这种
阅读全文
posted @ 2018-08-18 14:10
蔡苗
阅读(1767)
推荐(0)
摘要:
ThreadLocal是什么呢?其实ThreadLocal并非是一个线程的本地实现版本,它并不是一个Thread,而是threadlocalvariable(线程局部变量)。也许把它命名为ThreadLocalVar更加合适。线程局部变量(ThreadLocal)其实的功用非常简单,就是为每一个使用
阅读全文
posted @ 2018-08-15 17:32
蔡苗
阅读(147)
推荐(0)
摘要:
public class InitAndDestroySeqBean implements InitializingBean, DisposableBean { @PostConstruct public void postConstruct() { System.out.println("执行In
阅读全文
posted @ 2018-07-28 11:48
蔡苗
阅读(820)
推荐(0)
摘要:
一:依赖配置 我们在实际开发汇中最常见的maven依赖如下,读者可以看到最基本的groupId,artifactId,version等元素组成。 1.groupId、artifactId和version:依赖的基本坐标,对于任何一个依赖来说,基本坐标最重要,Maven根据坐标才能找到需要的依赖。 2
阅读全文
posted @ 2018-07-26 18:53
蔡苗
阅读(6342)
推荐(0)
摘要:
springmvc使用hibernate的校验框架validation(和hibernate没有任何关系)。 校验思路: 页面提交请求的参数,请求到controller方法中,使用validation进行校验。如果校验出错,将错误信息展示到页面。 具体需求: 商品修改,添加校验(校验商品名称长度,生
阅读全文
posted @ 2018-07-22 21:12
蔡苗
阅读(160)
推荐(0)
摘要:
1.为什么要有缓存? 随着现代半导体工艺的发展,CPU的频率越来越快,相对内存快了一个数量级,对于访存的操作CPU就需要等待主存,这样会导致资源的白白浪费。所以cache的出现为了解决CPU与内存速度不匹配的问题。(cpu ->cache->memory) cache的思想在我们日常的生活随处可见,
阅读全文
posted @ 2018-07-17 23:34
蔡苗
阅读(3052)
推荐(1)
摘要:
当虚拟机遇到一条new 指令时,首先去检查这个指令的参数是否能在常量池中定位到一个类的符号引用,并且这个符号引用代表类的是否已加载、解析和初始化过。如果没有必须执行类的加载过程。 在类加载检查过后,接下来虚拟机将为新生对象分配内存。对象所需内存大小在类加载完成后便可完全确定,为对象分配空间的任务等同
阅读全文
posted @ 2018-07-06 19:44
蔡苗
阅读(146)
推荐(0)
摘要:
JVM 内存共分为虚拟机栈、堆、方法区、程序计数器、本地方法栈五个部分。 程序计数器(Program Counter Register): 是一块较小的内存空间,它可以看做是当前线程所执行的字节码的行号指示器。在虚拟机的概念里,字节码解释器工作时就是通过改变这个计数器的值来选取下一条需要执行的字节码
阅读全文
posted @ 2018-07-06 14:42
蔡苗
阅读(146)
推荐(0)