V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  amiwrong123  ›  全部回复第 32 页 / 共 39 页
回复总数  777
1 ... 24  25  26  27  28  29  30  31  32  33 ... 39  
2019-11-26 09:48:56 +08:00
回复了 amiwrong123 创建的主题 问与答 迫于失眠,一睡觉就胡思乱想,求助睡方法
谢谢各位,回头我都试试。

昨天 11 点躺下,很困,一会就睡着了。
@by73
你说的也有道理,而且我突然觉得,对于把 lastRet 修改成一个有效状态这件事,应该只允许让 next/previous 来,因为 lastRet 的定义就是 Index of element returned by most recent call to next or previous。所以在 add 里面除了置 lastRet 为-1 外,是不允许 add 里面把 lastRet 修改成一个有效状态的(就是我 7 楼代码的 lastRet = i + 1;)
@by73
好吧,是我没想到这一点。`previous(); add();` 这样执行以后,如果把那句删除掉了,那么 lastRet 指向的元素就不对了,所以需要这句把 lastRet = -1。

那我现在有一个大胆的想法,如果改成这样是不是就合理了:
https://paste.ubuntu.com/p/PTBDz9qDsK/
```java
public void add(E e) {
//add 不用关心 lastRet,即不在乎之前有没有 remove 或 add
checkForComodification();

try {
int i = cursor;
AbstractList.this.add(i, e);
if (lastRet = -1)//刚执行了 remove,因为现在只有 remove 可以置为-1
lastRet = -1;//lastRet 不变
else if (lastRet < cursor)//刚执行了 next
lastRet = lastRet;//lastRet 不变
else if (lastRet = cursor)//刚执行了 previous
lastRet = i + 1;//让 lastRet 也跟着移动,这样 lastRet 就能指向被移动到后面一格的那个元素了

cursor = i + 1;
expectedModCount = modCount;
} catch (IndexOutOfBoundsException ex) {
throw new ConcurrentModificationException();
}
}

// 总结一下逻辑,就可以改成下面这样
public void add(E e) {
//add 不用关心 lastRet,即不在乎之前有没有 remove 或 add
checkForComodification();

try {
int i = cursor;
AbstractList.this.add(i, e);
if ( (lastRet != -1) & (lastRet = cursor) )
lastRet = i + 1;
cursor = i + 1;
expectedModCount = modCount;
} catch (IndexOutOfBoundsException ex) {
throw new ConcurrentModificationException();
}
}
```
@zhoulifu
看了,看完以后更加觉得 add 方法里面这句 lastRet = -1;可以删除掉了。删除掉后,还能继续执行 remove 或者 set 呢(这两个方法需要 lastRet 不为-1 ),而且删除掉后 lastRet 也是符合 Index of element returned by most recent call to next or previous 的这个含义的啊。
@by73
不对啊,什么叫 add 会影响 previous 啊, 就算刚执行了 add 也能再执行 previous 啊。previous 的执行前提又不需要 lastRet 不是-1。

看第二个图,第一个状态执行了 next,然后 add,然后 add。假如`lastRet = -1;`删掉了,就是第二个图的效果。

现在由于 lastRet 不是-1,那么也可以执行 remove 和 set 了(因为这两个操作执行的前提就是 lastRet 不是-1 )。而且删除掉后,也符合 lastRet 的含义啊:Index of element returned by most recent call to next or previous.现在 lastRet 确实是指向上一次 next 返回的元素的索引啊。
@by73
谢谢回复,我懂了,因为删除掉以后,你再执行 previous,会返回错误的元素(会返回图中第二个绿色节点,但其实应该返回那个浅蓝色节点)
2019-11-20 10:58:58 +08:00
回复了 amiwrong123 创建的主题 问与答 excel 文件里面,一个 sheet 里面的下面有两个进度条可以拉
说一个实用功能,wps 那个护眼模式,开启好方便。要是用 word 还得去修改 Windows 里的变量。
2019-11-20 10:56:14 +08:00
回复了 amiwrong123 创建的主题 问与答 excel 文件里面,一个 sheet 里面的下面有两个进度条可以拉
@cydian
@gavindexu
@cydian
非常感谢各位,在视图里面,点取消拆分,然后就好了
2019-11-17 18:59:22 +08:00
回复了 blackbeardd 创建的主题 问与答 为什么入睡这么难?
我也是,我是睡觉的时候感觉自己的心跳声太大了,哎,困扰我好久了
中间那句话可以先去掉来理解(忘了这是什么语法,谁能说下),然后去掉后,that 和 is 连起来就是 CompletionStage 的定语从句。
2019-11-16 19:28:46 +08:00
回复了 amiwrong123 创建的主题 问与答 win10 屏幕会闪黑屏 怀疑是 chrome 的锅
@FireFoxAhri
后来你怎么解决 的啊
2019-11-16 19:28:07 +08:00
回复了 amiwrong123 创建的主题 问与答 win10 屏幕会闪黑屏 怀疑是 chrome 的锅
@xiangyuecn
是得监控啊,反正我是发现这 chrome 太占资源了
2019-11-16 19:25:44 +08:00
回复了 amiwrong123 创建的主题 问与答 win10 屏幕会闪黑屏 怀疑是 chrome 的锅
@0x64
但是他喵的谁能想到,这个内存太少会导致黑屏
2019-11-16 19:25:05 +08:00
回复了 amiwrong123 创建的主题 问与答 win10 屏幕会闪黑屏 怀疑是 chrome 的锅
@flynaj
还真不是显卡驱动的锅
2019-11-16 14:48:05 +08:00
回复了 amiwrong123 创建的主题 问与答 win10 屏幕会闪黑屏 怀疑是 chrome 的锅
@MicrosoftAccount
没有,都没听过。但现在加了内存条,问题就解决了,哈哈哈哈
2019-11-16 14:27:34 +08:00
回复了 amiwrong123 创建的主题 问与答 win10 屏幕会闪黑屏 怀疑是 chrome 的锅
我擦,我刚刚把内存加到 16g,之前是 4g,现在就不会出现闪黑屏的现象了,这是什么原理。我又重启试了试,真的不会出现了。

虽然谷歌加载网页时,电源使用情况还是非常高。。。
@cxtrinityy 你说的对啊,如果重写了,而且实现逻辑还不是 size()==0,那就必须调用到 AbstractMap 的实现上了。因为 keyset 要依赖外部类。
2019-11-12 15:56:48 +08:00
回复了 amiwrong123 创建的主题 程序员 [救救孩子]win10 想用 xrdp 连接上有 gnome 桌面的 Ubuntu
@Yanni0507

没事,弄了几下,黑屏的情况很少发生了,但还是偶尔有。但能用了。

跟 Ubuntu 的自动锁屏和屏保有关系,但我取消了以后还是有。

可能也跟我的两块屏幕比例不一样有关
2019-11-12 12:06:17 +08:00
回复了 amiwrong123 创建的主题 程序员 [救救孩子]win10 想用 xrdp 连接上有 gnome 桌面的 Ubuntu
但是我在 display setting 里面禁用了一大推东西以后,居然就不黑屏了,哈哈哈哈。

也不知道哪个起到的作用。。。
1 ... 24  25  26  27  28  29  30  31  32  33 ... 39  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2425 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 22ms · UTC 02:01 · PVG 10:01 · LAX 18:01 · JFK 21:01
Developed with CodeLauncher
♥ Do have faith in what you're doing.