0%

在 jupyter notebook / lab 里面,使用 file 获取不了文件名。

可以通过如下方法获取当前文件名和路径。

安装 ipynbname

1
pip install ipynbname
1
2
ipynbname.name()
ipynbname.path()

Collections.sort() Comparable对象

1
2
3
public class User implements Comparable<User> {

}

排序

1
2
Collections.sort(users);
Collections.reverse(users);

Collections.sort() 传入Comparator比较器

1
2
3
4
5
6
Collections.sort(users, new Comparator<User>() {
@Override
public int compare(User u1, User u2) {
return u1.getCreatedOn().compareTo(u2.getCreatedOn());
}
});

List接口的sort

1
2
users.sort(Comparator.comparing(User::getCreatedOn));
users.sort(Comparator.comparing(User::getCreatedOn).reversed());

Stream接口的sorted [Java8]

1
2
3
4
5
6
7
List<User> sortedUsers = users.stream()
.sorted(Comparator.comparing(User::getCreatedOn))
.collect(Collectors.toList());

List<User> sortedUsers = users.stream()
.sorted(Comparator.comparing(User::getCreatedOn).reversed())
.collect(Collectors.toList());

Mac OS 安装了 Vmware Fusion,在里面安装了 Windows 10 虚拟机,这个虚拟机,有时候有时候黑屏,看不到任何界面。

解决办法:

  1. 重启mac,并在启动时一直按着 Command + R,进入恢复模式。

  2. 屏幕顶上,选择实用工具 -> 终端

  3. 执行命令关闭SIP

1
csrutil disable
  1. 重启电脑,进入 mac os 系统后,执行如下命令。
1
2
3
4
5
6
7
tccutil reset All com.vmware.fusion

sudo sqlite3 "/Library/Application Support/com.apple.TCC/TCC.db" 'insert into access values ("kTCCServiceScreenCapture", "com.vmware.fusion", 0, 1, 1, "", "", "", "UNUSED", "", 0,1565595574)'

sudo sqlite3 "/Library/Application Support/com.apple.TCC/TCC.db" 'insert into access values ("kTCCServiceListenEvent", "com.vmware.fusion", 0, 1, 1, "", "", "", "UNUSED", "", 0,1565595574)'

sudo sqlite3 "/Library/Application Support/com.apple.TCC/TCC.db" 'insert into access values ("kTCCServicePostEvent", "com.vmware.fusion", 0, 1, 1, "", "", "", "UNUSED", "", 0,1565595574)'
  1. 再次重启电脑,并进入 Command + R,进入恢复模式。

并开启SIP

1
csrutil enable
  1. 最后重启电脑

进入以后,关掉 Vmware Fusion 软件。

进入安全性和隐私,分别在项目辅助功能输入监视屏幕录制中,把 Vmware Fusion 复选框选中。

再次启动 Vmware Fusion 中的 Windows 虚拟机,屏幕不会黑屏了。