自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(11)
  • 资源 (1)
  • 收藏
  • 关注

原创 《复盘》总结

什么是复盘?在头脑中对过去做过的事重新“过”一遍。回顾、反思、探究、提升。复盘的由来源自围棋,下完一局围棋后,回顾下,哪一步走的好,哪一步走的不好,还原下当时的逻辑和情绪,拓宽眼界和视野。回顾、反思、探究、提升,一个都不能少回顾过程,反思原因,探究规律→提升能力。网络培训产品销售案例。复盘的关键是推演推演使我们审视做事过程中的每一步,思考成功和失败的原因复...

2020-04-20 09:05:02 1379

原创 并发程序的测试

概述并发测试大致分为两类,即安全性测试与活跃性测试。安全性是“不发生任何错误的行为”,活跃性是“某个良好的行为终究会发生”。吞吐量:指一组并发任务中已完成任务所占的比例。响应性:指请求从发出到完成之间的时间。可伸缩性:指在增加更多资源的情况下(通常指CPU),吞吐量(或者缓解短缺)的提升情况。正确性测试在为某个并发类设计单元测试时,首先需要执行与测试串行类时相同的分析——找...

2019-09-08 18:59:58 672

原创 性能和可伸缩性

对性能的思考I.性能与可伸缩性衡量程序的性能:“运行速度”-服务时间、等待时间“处理能力”-生产量、吞吐量可伸缩性指的是:当增加计算资源时(例如CPU、内存、存储容量或I/O带宽),程序的吞吐量或者处理能力能相应地增加。当进行性能调优时,其目的通常是用更小的代价完成相同的工作;在进行可伸缩性调优时,其目的是设法将问题的计算并行化,从而能利用更多的计算资源来完成更多的工作。...

2019-08-25 09:41:46 428

原创 Java中的死锁

死锁I.过度使用枷锁可能导致顺序性死锁(Lock-Ordering Deadlock)。如果所有线程以固定的顺序来获得锁,那么在程序中就不会出现顺序死锁的问题。示例代码:public class LeftRightDeadlock { private final Object left = new Object(); private final Object ri...

2019-08-05 20:34:39 109

原创 Java线程池的使用

设置线程池的大小线程池的理想大小取决于被提交任务的类型以及所部署的系统。通常根据某种配置机制来提供。对于计算密集型的任务,在拥有个处理器的系统上,当线程池的大小为时,通常能实现最优的利用率。对于包含I/O操作或者其他阻塞操作的任务,由于线程并不会一直执行,因此线程池的规模应该更大。 =number of CPU...

2019-08-03 10:38:02 151

原创 任务取消与关闭

任务取消Java没有提供任何机制来安全地终止线程。但它提供了中断(Interruption),这是一种协作机制,能够使一个线程终止另一个线程的当前工作。设置“已请求取消(Cancellation Requested)”标志。示例代码:public class PrimeGenerator implements Runnable { private volatile boo...

2019-07-07 18:20:28 291

原创 Executor框架与Java线程池

Executor框架Executor基于生产者-消费者模式,提交任务的操作相当于生产者(生成待完成的工作单元),执行任务的线程则相当于消费者(执行完这些工作单元)。它提供了一种标准的方法将任务的提交和过程与执行过程解耦开来。几种线程池(ExecutorService)newFixedThreadPool-固定长度线程池,每提交一个任务创建一个线程。示例代码:public cl...

2019-06-24 20:51:50 121

原创 Java并发容器和同步工具类

同步容器类早期的同步容器类Vector、Hashtable和Collections.synchronizedXXX创建的同步容器,封装所有public方法,以保证线程安全。问题:迭代操作期间可能抛ArrayIndexOutOfBoundsException或ConcurrentModificationException示例代码://遍历vector时,其他线程修改vector,可能...

2019-06-22 11:12:40 249

原创 创建线程安全对象的几种方式

实例封闭确保对象只能由单个线程访问(线程封闭),或者通过一个锁来保护对该对象的所有访问,以确保对象是线程安全的。实例代码:@ThreadSafepublic class PersonSet { @GuardedBy("this") private final Set<User> mySet = new HashSet<>(); pu...

2019-06-15 14:36:45 1022

原创 Java线程安全和对象共享关键字

Synchronized关键字静态的synchronized方法以class对象作为锁,又称Intrinsic Lock或Monitor锁;Synchronized (lock) {//访问或修改由锁保护的共享状态}同步代码块:对象的Monitor锁底层有monitorenter和monitorexit指令,monitorenter指令将计数器值加1,monitorexit将计...

2019-06-09 11:27:24 738

原创 我的ExtJS之旅---开端

作为优秀的Web前端框架,ExtJS的发展已经历经了2.x、3.x、4.x等版本更替,直到今天的4.2.1,期间的版本变革中,ExtJS发生了很多微妙的变化。如果再从2.x版本开始学起,将会是个痛苦的过程(至少我个人这样认为)。所以就从4.x开始学习吧......首先去官网下载extjs依赖的开发库:http://www.sencha.com/products/extjs/download。下

2013-11-30 22:15:14 988 1

最新JSON必备Jar包集合

项目中使用JSON必备的jar包集合,commons-collections包没用commons-collections4-4.0-bin.jar,而用了commons-collections-3.2.1.jar,前者存在兼容性问题。

2013-12-18

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除