摘要: 两种线程的调度模式: 抢占式调度: 抢占式调度指的是每条线程执行的时间、线程的切换都由系统控制,系统控制指的是在系统某种运行机制下,可能每条线程都分同样的执行时间片,也可能是某些线程执行的时间片较长,甚至某些线程得不到执行的时间片。在这种机制下,一个线程的堵塞不会导致整个进程堵塞。 协同式调度: 协 阅读全文
posted @ 2018-03-15 18:05 战斗的小白 阅读(3872) 评论(0) 推荐(0) 编辑
摘要: 线程池优点: 1、降低资源消耗。通过重复利用已创建的线程降低线程创建和销毁造成的消耗。 2、提高响应速度。当任务到达时,线程可以不需要等到线程创建就能立刻执行。 3、提高线程的可管理性。线程是稀缺资源,如果无限的创造,不仅会消耗系统资源,还会降低系统的稳定性。使用线程池进行统一的分配,调优和监控。 阅读全文
posted @ 2018-03-15 17:37 战斗的小白 阅读(256) 评论(0) 推荐(0) 编辑
摘要: 并发编程的目的是为了让程序运行的更快,但并不是启动更多的线程就能让程序最大限度地并发执行。 在进行并发编程时,会面对很多问题:上下文的切换、死锁、受限硬件和软件的资源限制问题。 什么事上下文的切换 即使是单核的cpu也支持多线程执行代码,CPU通过给每个线程分配CPU资源来实现这个机制。时间片是CP 阅读全文
posted @ 2018-03-15 11:09 战斗的小白 阅读(686) 评论(0) 推荐(0) 编辑
摘要: 1、Callable<V>接口 Runnable接口 Callable runnable接口 Callable接口 都可以被ThreadPoolExecutor或ScheduledThreadPoolExecutor执行,两者实现了ExcutorService接口 ExecutorService接口 阅读全文
posted @ 2018-03-14 20:57 战斗的小白 阅读(195) 评论(0) 推荐(0) 编辑
摘要: 参考:http://blog.csdn.net/javazejian/article/details/50896505 1、Callable<V>接口 Runnable接口 Callable runnable接口 Callable接口 都可以被ThreadPoolExecutor或Scheduled 阅读全文
posted @ 2018-03-14 20:57 战斗的小白 阅读(119) 评论(0) 推荐(0) 编辑
摘要: 读写锁接口:ReadWriteLock,它的具体实现类为:ReentrantReadWriteLock 使用场景: 对于一个资源,读读能共存,读写不能共存,写写不能共存。 锁降级:从写锁变成读锁; 锁升级:从读锁变成写锁。 ReentrantReadWriteLock不支持锁升级,支持锁降级 会死锁 阅读全文
posted @ 2018-03-14 20:05 战斗的小白 阅读(305) 评论(0) 推荐(0) 编辑
摘要: 参考:https://www.jianshu.com/p/377bb840802f https://www.cnblogs.com/dreamroute/p/5034726.html ThreadLocal是什么 线程局部变量 使用场景:变量是同一个,但是每个线程都使用同一个初始值,也就是使用同一个 阅读全文
posted @ 2018-03-14 17:29 战斗的小白 阅读(166) 评论(0) 推荐(0) 编辑
摘要: 参考:https://www.jianshu.com/p/4358b1466ec9 前言: 先来想象一个场景:手把手的进行锁获取和释放,先获得锁A,然后再获取锁B,当获取锁B后释放锁A同时获取锁C,当锁C获取后,再释放锁B同时获取锁D,以此类推,这种场景下,synchronized关键字就不那么容易 阅读全文
posted @ 2018-03-14 14:13 战斗的小白 阅读(160) 评论(0) 推荐(0) 编辑
摘要: 参照:http://ifeve.com/introduce-abstractqueuedsynchronizer/ 前言: 在java.util.concurrent.locks包中有很多Lock的实现类,常用的有ReentrantLock、ReadWriteLock(实现类ReentrantRea 阅读全文
posted @ 2018-03-14 10:24 战斗的小白 阅读(720) 评论(0) 推荐(0) 编辑
摘要: SQL Injection:通过SQL命令插入到Web表单递交或输入域名或页面请求的查询字符串,最终达到 欺骗服务器执行恶意的SQL命令。 向服务器端提交事先准备好的数据,拼凑出攻击者想要的SQL语句,以改变数据库操作执行计划。 注入途径:GET,POST,Client-Agent,Cookie,S 阅读全文
posted @ 2018-03-13 16:24 战斗的小白 阅读(232) 评论(0) 推荐(0) 编辑