摘要: 关键字Synchronize是最简单的控制方法,决定了一个线程是否可以访问临界区资源。同时,Object.wait()方法和Object.notify()方法起到了线程等待和通知的作用。下面介绍重入锁: 1. 重入锁 重入锁使用java.util.concurrent.locks.Reentrant 阅读全文
posted @ 2019-07-23 20:28 扁豆一号 阅读(395) 评论(0) 推荐(0) 编辑
摘要: 线程的创建和销毁是消耗时间和资源的,创建大量的线程会抢占宝贵的内存资源,大量的线程回收也给GC带来很大的压力。为了避免这种情况的出现,可以让创建的线程复用,那么线程池就应用而生了。需要线程时,从线程池中拿一个线程,不需要时再归还给线程池,从而达到了复用线程的效果。 JDK提供了一套Executor框 阅读全文
posted @ 2019-07-19 14:17 扁豆一号 阅读(196) 评论(0) 推荐(0) 编辑
摘要: 工厂模式是定义一个用于创建对象的接口,让子类决定实例化哪一个类。工厂方法使一个类的实例化延迟到子类。 工厂模式涉及四种角色: 抽象产品(Product):抽象类或者接口,负责定义具体产品必须实现的方法; 具体产品(ConcreteProduct):具体产品是一个类,是抽象产品的具体实现类; 构造者( 阅读全文
posted @ 2019-07-18 21:11 扁豆一号 阅读(244) 评论(0) 推荐(0) 编辑
摘要: 保证一个类仅有一个实例,并提供一个访问它的全局访问点。 好处: (1)频繁使用的对象,可以省略new操作花费的时间,这对于那些重量级对象而言,是非常客观的一笔开销。 (2)由于new的次数减少,对系统内存的使用频率降低,减轻GC压力,缩短GC停顿时间。 其UML图如下: 还有一种方式就是懒加载,实现 阅读全文
posted @ 2019-07-18 00:36 扁豆一号 阅读(142) 评论(0) 推荐(0) 编辑
摘要: 1.start()和run() start()方法是是开启线程的方法,这个方法执行后,一个线程才真正的进入RUNNABLE状态。run()方法是线程中具体执行的业务活动,一般都要重写run()方法。 2.stop() stop()方法在结束线程时,会直接终止线程,并立即释放这个线程所持有的锁,而锁恰 阅读全文
posted @ 2019-07-17 23:58 扁豆一号 阅读(1079) 评论(0) 推荐(0) 编辑
摘要: 进程是计算机中的程序关于某数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位,是操作系统结构的基础,是线程的容器。 程序是指令、数据及其组织形式的描述,进程是程序的实体。 在Windows系统中,任务管理器中可以看到各个进程。 线程是轻量级进程,是程序执行的最小单位,使用多线程而不是多进程 阅读全文
posted @ 2019-07-14 23:25 扁豆一号 阅读(180) 评论(0) 推荐(0) 编辑
摘要: 最近遇到一个小需求,就是刷新部门的innercode。在导入数据的时候,innercode乱了,所以需要刷新。那先说说innercode是什么吧。 大家都知道部门是一个树形结构,但是有时候想知道一个部门下面都有哪些下级部门包括下级的下级等等,如果使用上级部门pk一级一级的往下找很麻烦,为了把这个树拉 阅读全文
posted @ 2019-07-13 21:20 扁豆一号 阅读(398) 评论(0) 推荐(0) 编辑
摘要: 什么是设计模式呢?这个问题曾经一直困扰着我,以前我一直以为这是门新的技术,但是随着工作年限和工作经验的增加,其实设计模式就是已经在众多软件系统得到验证的成功的并且可复用的技术方案或者解决问题的方案。Java是目前最主流的开发语言之一,在众多的实践中,总结出了多个设计模式,学习这个模式有助于程序员写出 阅读全文
posted @ 2019-07-12 23:04 扁豆一号 阅读(136) 评论(0) 推荐(0) 编辑
摘要: 这几天看书的时候看到一个算法,叫粒子群算法,这个算法挺有意思的,下面说说我个人的理解: 粒子群算法(PSO)是一种进化算法,是一种求得近似最优解的算法,这种算法的时间复杂度可能会达到O(n!),得到的结果不一定是最优解,往往已经很接近最优解了。最早是Kenny 和 Eberhart于1995年提出的 阅读全文
posted @ 2019-07-12 00:16 扁豆一号 阅读(3068) 评论(1) 推荐(0) 编辑
摘要: 时间、字符串、时间戳之间的互相转换很常用,但是几乎每次使用时候都喜欢去搜索一下用法;本文整理一下三者之间的 转换(即:date转字符串、date转时间戳、字符串转date、字符串转时间戳、时间戳转date,时间戳转字符串)用法,方便日后学习和查阅; 涉及的函数 date_format(date, f 阅读全文
posted @ 2017-01-09 14:21 扁豆一号 阅读(103227) 评论(0) 推荐(4) 编辑