算法(Algorithm)是指解题方案的准确而完整的描述,是一系列解决问题的清晰指令,算法代表着用系统的方法描述解决问题的策略机制。也就是说,能够对一定规范的输入,在有限时间内获得所要求的输出。如果一个算法有缺陷,或不适合于某个问题,执行这个算法将不会解决这个问题。不同的算法可能用不同的时间、空间或效率来完成同样的任务。一个算法的优劣可以用空间复杂度与时间复杂度来衡量。
多线程编程--并发模型
我们在做普通功能开发的时候有设计模式作为指导,提供了开发过程中面临的一般问题的解决方案;那么我们在致力于提高系统吞吐量的时候,有没有一些通用解决方案呢?是的,那就是并发模型,由于并发模型类似于分布式系统架构,因此它们通常可以互相借鉴思想,接下来就让我们来一起学习并发模型,并思考如何扩展到分布式系统架构。
多线程编程--并发包
之前我们了解了线程的基础知识,那么多个线程一起运行的时候,难免会操作同一个资源。从上一讲里面我们了解到每个线程会有自己的缓存,那么多个线程操作同一个资源的时候,怎么保证资源操作结果的正确性。这些问题,其实从JDK1.5起已经提供了解决方案,接下来就让我们一起来看看java.util.concurrent
。
多线程编程--基础知识
线程(Thread)是操作系统能够进行运算调度的最小单位,java线程中创建的、引用的对象在jvm内存中是如何存放的,线程间是如何进行通信的呢,线程发生异常了jvm又是如何处理的呢,接下来让我们从线程的基础知识开始一步一步地了解。
Deepin install Typora
在Deepin系统商店中就有携带Typora,提是使用深度源,但是大家一般都换成阿里云等速度比较快的源。按照官方文档安装也是一大堆问题,后来采用Linux Mint的安装方式完美解决
springboot + jpa + h2 单元测试实战
最近需要开发一个组件,里面会有数据库操作,但由于该组件是单独开发没有实际的数据库,数据库后期会创建到集成该组件的业务系统里面。所以想到用内存数据来做测试,也避免了拿真实数据库作测试时留下垃圾数据,而且速度还比较快。