2018年04月

2018年04月发布的文章
  • Java-数据结构概述

    什么是数据结构: 数据结构是计算机存储、组织数据的方式。 数据结构是指相互之间存在一种或多种特定关系的数据元素的集合。 通常情况下,精心选择的数据结构可以带来更高的运行或者存储效率。数据结构往往同高效的检索算法和索引技术有关。  …

  • Java-线程控制操作

    线程休眠:让执行的线程暂停一段时间,进入计时等待状态。 方法:static void sleep(long millis) 调用sleep后,当前线程放弃CPU,在指定时间段之内,sleep所在线程不会获得执行的机会。 此状态下的线程不会释…

  • Java-线程的生命周期

    生命周期:一个事物从出生的那一刻开始到最终死亡中间的整个过程. 在事物的漫长的生命周期过程中,总会经历不同的状态(婴儿状态/青少年状态/中年状态/老年状态...). 线程也是有生命周期的,也是存在不同的状态的,状态相互之间的转换. 有人又把…

  • Java-死锁

    多线程通信的时候很容易造成死锁,死锁无法解决,只能避免: 当A线程等待由B线程持有的锁,而B线程正在等待A线程持有的锁时,发生死锁现象,JVM不检测也不试图避免这种情况,所以程序员必须保证不导致死锁. 避免死锁法则: 当多个线程都要访问共享…

  • Java-解决生产者和消费者问题

    分析生产者和消费者案例存在的问题: 建议在生产姓名和性别之间以及在打印之前使用Thread.sleep(10);使效果更明显. 此时出现下面的情况: 凤姐-男 春哥哥-女 凤姐-男 凤姐-女 问题1:出现姓别紊乱的情况. 解决方案:只要保证…

  • Java-生产者和消费者案例

    线程通信:不同的线程执行不同的任务,如果这些任务有某种关系,线程之间必须能够通信,协调完成工作. 经典的生产者和消费者案例(Producer/Consumer): 分析案例: 1):生产者和消费者应该操作共享的资源(实现方式来做). 2):…

  • debian-查看及删除多余内核

    在debian gnu/linux系统里,几乎每一个文件都可以找到它属于的包,包括内核在内,和那个glibc同一个道理,想知道它的版本号,直接查看包信息即可。如果是要查找已安装的内核,方法很多种,以下两种是个人常用的: [crayon-5b…

  • Java-处理异常的原则

    处理异常的原则: 1:异常只能用于非正常情况,try-catch的存在也会影响性能. 2:需要为异常提供说明文档,比如Java doc,如果自定义了异常或某一个方法抛出了异常,我们应该记录在文档注释中.. 3:尽可能避免异常. 如NullP…

更多...

加载中...