自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(6)
  • 收藏
  • 关注

原创 一种不到万不得已就绝不用的线程锁

没错,我说的就是静态类型的变量作为线程锁。我在lab6的Monkey对象设计的时候,给Monkey了一个静态的rep:ladders,用于存储所有梯子的信息。然后,在很多地方用了ladders作为线程锁来追求threadsafe,结果发现吞吐率很低。上课的时候特意讲了如果把静态类型的变量作为线程锁的话,相当于对整个类上锁,即一个对象线程拥有这把锁的时候,其他所有这类对象的线程都不能动(如果也要...

2019-06-23 21:40:52 138

原创 eclipse调试多线程程序时,一种发现死锁的方式。

在主线程中,等待所有线程结束的语句处,设置断点。运行debugger调试工具,并在提示是否切换到debugger界面时,选择switch。在右侧explorer中,全选所有线程,选择suspend。然后,依次点开所有线程,下面会显示一些关于此线程中线程锁的信息。比如:waiting for…:等待其它线程释放这个锁。owning…:正在拥有这个锁。若是两个线程一个waiting fo...

2019-06-19 09:25:51 530

原创 spotbugs遇到的一些问题以及解决办法举例

1.错误类型:错误原因:DLS问题指的是给本地变量赋了一个值,但随后的代码并没有用到这个值。删除死引用即可。修改前:修改后:2.错误类型:错误原因:未指定文件的编码和解码方式,这就导致在不同的机器上运行时可能会产生乱码现象。修改前:修改后:3.错误类型:错误原因:装箱和拆箱的问题,把一个字符串装箱,解析获取箱子中原始值。更有效率就是使用静态方法,parseXX...

2019-05-21 16:46:25 3742

原创 几种基本的摊还分析方法

1.聚合分析这种方法用来确定一个n个操作的序列的总代价的上界T(n)。因而每个操作的平均代价为T(n)/n。我们将平均代价作为每个操作的摊还代价,因此所有操作具有相同的摊还代价。聚集方法的目的• 分析平摊代价的上界分析方法• 分析操作序列中每个操作的代价上界ci• 求得操作序列的总代价的上界T(n)=c1+c2+…+cn• 将T(n)平摊到每个操作上得到平摊代价T(n)/n特点•...

2019-04-13 20:28:08 1140

原创 动态规划技术的基本要素 以及 矩阵链乘法典型问题

分治技术的问题子问题是相互独立的–如果子问题不是相互独立的,分治方法将重 复计算公共子问题,效率很低• 例如,计算斐波那契数列的第n项 – F(0)=F(1)=1 – F(n)=F(n-1)+F(n-2)分治技术的问题– 子问题是相互独立的– 如果子问题不是相互独立的,分治方法将重复计算公共子问题,效率很低• 分治算法 算法F(n)输入:非负整数n输出:斐波那契数列第n项1.I...

2019-03-24 14:59:48 197

原创 Java “···cannot be resolved”/“···cannot be resolved to a variable”问题解决方法参考

本人在使用eclipse IDE编写MIT软件构造lab1时,遇到了这两个问题。具体情况是我在两重for each循环中分别定义了两个String,结果在用这两个对象时,出现了标题上的这种情况。于是,我用eclipse自带的纠错功能,每个推荐的解决方法都试了一遍。发现最好的是:Create a field···仅供各位参考,具体问题还需具体分析。...

2019-03-11 14:00:55 3737 1

空空如也

空空如也

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

TA关注的人

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