Map<String, Double> doubleMap = new HashMap<>();
double test = doubleMap.get("可能不存在的key");
看似人畜无害的代码,可能由于自动将Double拆箱成double而导致对null进行拆箱,导致NPE
30 条说说
Map<String, Double> doubleMap = new HashMap<>();
double test = doubleMap.get("可能不存在的key");
看似人畜无害的代码,可能由于自动将Double拆箱成double而导致对null进行拆箱,导致NPE
irm https://get.activated.win | iex
冲浪的时候又看到一篇好帖子https://v2ex.com/t/1102126
楼主讲述了自己是怎么几乎从0开始借助AI和强大的自驱力独立完成一款游戏并且上架steam的;
感觉自己在技术方面的执行力在24年有所下降,虽然年末又开始学习但是没啥实质性上的成果;
看到这个老哥的帖子之后决定自己也要像工作里一样整个milestone之类;
正好最近在学rust,不如最新的目标就是写一个rust版的反向代理吧
至少要像frp一样,牛批的话可以把分流也带上 整成frp+nginx的
2025第一个flag~
Java的ES client 有两个API; 分别是termQuery() 和 termsQuery()
他们两个的入参完全一样,接口名字也只差了一个S; 实际上功能差距很大,前者相当于SQL 中的 = ,后者相当于SQL中的 in;
今年年初踩过这个坑没有记录,结果前两天又掉进去了;写述职时候才想起来,这里还是记录一下……
遇到了这样一个场景:
我需要使用消息队列将一个object发送出去;
但是公司的kafka只支持接受String(具体原因很复杂,但是这个是绕不过去的)。
现在就有了这么几个方案
验证之后发现直接json的性能实在是太差了,耗时长且占CPU。
所以优化的方向变成了使用序列化协议进行序列化;
但是序列化出来的一定都是byte流而不是字符串,发送出去时需要再编码成字符串;
这里最初使用的是new String(bytes, StandardCharsets.UTF_8)
这种方法。
问题有:
之后想到了使用base64;可以胜任但是耗时还是有一些长;
最后发现了ISO_8859_1 这个编码集;定长编码所以速度快& 全覆盖所以不会丢bit,使用它将byte转字符串的速度是base64的五十倍,uft-8的500倍!
在读《微精通》。觉得自己需要一个愿望清单:
最近不再只读科幻小说了,因为感觉无书能出《银河系搭车客指南》其右~
读了几本综述类的 浅显的社会科学的书;为了防止知识划过我的大脑不留痕迹,决定开启一个读书笔记计划。有空的时候更新几篇读书笔记,尝试把读过书的逻辑梳理清楚讲出来,用自己的话叙述。这样才能让书内化成自己的东西~
FLAG++
对照着看了下新旧Java版本里CopyOnWriteList的源码,发现在Java11中许多曾经使用reentrantlock的地方已经换成了synchronized;
//old style function
final ReentrantLock lock = this.lock;
lock.lock();
try{
//do somthing
}finally{
lock.unlock();
}
//new style function
synchronized (lock){
//do something
}
代码简洁了不少,侧面也反映出Java团队已经将synchronized的性能打磨的相当不错,足以应付一些复杂的场景了。
要去看朴树和房东的猫了!!! 开心的想哭
https://www.snapeda.com/
外国的网站,注册之后免费下载各种EDA软件中各种器件的封装库;缺点就是器件都不够本土化;
国内之前嘉立创应该也做这个,但是开始搞立创EDA之后就关闭了下载封装库的选项,忘记初心了啊~
点击这里下载
吐槽一下,怎么这种厂家给的资料找起来就这么费劲? 一个个的还都要收费下载…… 就这个还是我用脚本图片转出来的……
官网也没有这个手册,就这种做产品的态度,发展个屁……
顺便推荐一个对抗各大收费文库平台的油猴脚本Wenku Doc Downloader
开个贴记录毕设时间线
我向来觉得我的喉咙要比别人敏感;无论是刷牙还是做核酸都非常容易干呕;
但是今天去看牙医时,在我呕到眼泪流到后脑勺时,医生终于蚌埠住了,问“你吃饭时候怎么办呀?吃饭塞得肯定比现在满”
那一瞬间感觉被人猛锤了一拳…… 对啊 我真的是更敏感么? 还是心理防线太高了呢
所以后来我就尽量放松,想象自己在吃饭 果然直到结束也没有再干呕……
晚上去学游泳也同样,之前手的唯一作用就是扶着边缘或者是浮板,放下戒备之后 就想象是在洗脸 果然发现其实手在水中反而会更灵活,学的也快多了~
所以说嘛 别太矫情~
回归Java主业吧,从小项目开始读一读优秀源码,暂时有几个目标
坚持博客,十年之约!
冠上了 😷 高烧一天低烧两天没吃退烧药,今天终于扛过去了; 我这个 还算是康复比较快的hhhh,只希望不会有后遗症,不会再感染啥的吧😮💨
yum install util-linux-user
git clone https://github.com/zsh-users/zsh-autosuggestions ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions
git clone https://github.com/zsh-users/zsh-syntax-highlighting.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting
yum install python36-devel
[global]
index-url = https://mirrors.cloud.tencent.com/pypi/simple
trusted-host = mirrors.cloud.tencent.com
编译安装高版本pyhton
首先要安装开发工具包,否则编译出来的python会缺少许多模块
sudo dnf groupinstall 'development tools'
sudo dnf install bzip2-devel expat-devel gdbm-devel \
ncurses-devel openssl-devel readline-devel \
sqlite-devel tk-devel xz-devel zlib-devel wget
然后下载python源码,国内可以用华为镜像站
tar -xzf解压后进入Python-3.7.6目录运行:
./configure --enable-optimizations
sudo make altinstall
即可
public static int getGCD(int a, int b){
return (a % b == 0)?b:getGCD(b, a%b);
}
读一本从来没想读的书
见一群可能一生都不再有交集的人(如果他们不往死喝酒的话~
适用于使用powershell直接ssh的情况
# 别名(Host):Host 和 HostName 的值可以相同
# 如 ssh aliyun,在这里等于 ssh -i C:\Users\Think\.ssh\id_rsa_aliyun root@144.90.100.144
# 用别名登录会使用别名下的配置,不用别名登录(如IP)不会使用别名下的配置
Host tars-knock
User tars
HostName tars-knock.cn
# 私钥文件位置
IdentityFile "私钥绝对路径"
ssh tars-knock
即可Grafana 支持多种数据源,支持远程与本地机器,支持特殊应用监控(mysql k8s之类)
有空折腾一个
把树莓派的80端口反向代理到服务器
先不说能不能远程看电影,起码要能远程控制
系列注解: 优雅的校验接口入参是否合法@Valid
:全局异常处理,防止异常细节传给前端@RestContollerAdvice + @ExceprionHandler
java中向上取整可以简写成:(a+b-1)/b,
这等价于(int)Math.ceil(1.0*a/b);
这个记录随笔的功能还是不错的哈