Zulu OpenJDK 1.8 连接 MySQL 时遇到 TLS 握手失败问题
在 M1 芯片的机器上搭建 Java 开发环境, 如果要选择 1.8 版本的 JDK, 网上推荐 zulu OpenJDK 的比较多, Oracle 官方没有提供二进制的版本。想着既然能用那就没必要自己去编译,之前试过编译 OpenJDK, 要踩的坑不少, 遂安装之。
今天在启动一个项目的时候, 提示数据库连不上, 从异常类名称初步推断是在建立 SSL 握手阶段遇到协议不匹配的问题了
123Caused by: javax.net.ssl.SSLHandshakeException: No appropriate protocol (protocol is disabled or cipher suites are inappropriate) at sun.security.ssl.HandshakeContext.<init>(HandshakeContext.java:171) at sun.security.ssl.ClientHandshakeContext.<init>(ClientHandshakeContext.java:103)
我感到十分诧 ...
关于 Java 中实现 Serializable 争议
在 Java 中有一个特殊的接口 Serializable,很长一段时间只知道其与类的序列化和反序列化有关,有的人习惯给实体类实现这个方法并定义一个常量 serialVersionUID 有些人在编码过程中从来不使用 Serializable. 这两种截然不同的做法,都不曾听说有哪一种会遇到什么问题,然而这本身就是一种令人困扰的话题,究竟要不要去实现 Serializable?
关于这个问题,最早是在 V 站看过一篇讨论,同意需要实现的占相对多数,也有不少人认为完全不需要去实现 Serializable.
首先,实现 Serializable 与否究竟有什么差异我认为,如果一个类不实现 Serializable 接口,直接的影响是无法使用 Java 原生的序列化方法对这个类进行序列化和反序列化。下面是将 Java 类写入到磁盘的例子
1234567SimpleUser user = new SimpleUser();user.setId(1L);user.setFullName("李新宇");FileOutputStream fo = new FileOutput ...
在 Finder 当前目录中快速打开 iTerm2 终端
对于程序员来说经常会遇到需要在文件浏览器当前目录下打开终端输入命令的需求,在 Windows 或多数 Linux 系统中,右键菜单就有这个选项。然而在 MacOS 系统中,并没有这个功能。用搜索引擎查了一下,主流的方案有以下两种
使用系统服务菜单
在文件夹位置打开终端其实在 MacOS 设置中是支持的,但没有默认开启, 需要于 系统偏好设置 -> 键盘 -> 快捷键 -> 服务 中勾选 “新建位于文件夹位置的终端窗口”, 然后在 Finder 中选中文件夹, 右键菜单中点击 服务 下的二级菜单 “新建位于文件夹位置的终端窗口” 即可
使用 cdto
cdto 是一款开源软件, 可以将它拖拽到 Finder 的工具栏上,然后点击应用图标, 即可快速在当前位置打开一个终端窗口
这两种方法都是可行的,但在我看来并不完美, 有各自的局限性。如使用系统服务菜单, 需要右键, 定位到二级菜单然后选择, 多少有些烦琐;虽然也可以通过设置快捷键规避这一点。另外一点是你必须先选中一个文件夹,如果你目前已经在这个文件夹中了,那需要退到上级目录然后再选中文件夹才能操作。cdto 的优势在于 ...
赠李新宇序
赠李新宇序
新宇小生,吾众弟子之佼佼者。明于知事而敏于行止,然讷于言而心气浮,吾故赠以序曰:余幼时家贫,心高气盛,往往事与愿违,则感时运之乖舛,叹人生之多艰。每于心灰头垂之际,辄自曲以纾之,聊慰精神耳。庚午三岁,潦倒落拓,辗转沪、宁、常间,而常遭白眼。然吾为师之念未曾已也。乃至执三尺之鞭,吾无一日不以激情去工作,无一日不以平等去待人,此遭际之教我者也。心中有爱,乃能无私,无私者无欲,无欲者无畏。吾所畏者,诸生不成才也。今诸生无奔走之劳,无冻馁之患,无世俗之卑。吾亟愿诸生心愿成真,前途光明,则吾以一肩作诸生之梯,助尔等小生直上九重之青云,又何憾哉?
转载自新浪博客 http://blog.sina.com.cn/s/blog_60062afb0100pjq5.html
这一版是在恩师的新浪博客找到的,惊喜至极! 手稿版在一次搬家过程中不幸遗失了😔。这一版与手稿那一版有个别地方稍有不同。令我感到意外的是老师的博客竟然从 09 年开始一直在更新,基本每周更新一次,累计已经有千余篇。而且每一篇质量都很高,如散文一般优美,真的是令我惊叹啊!相比之下,我真的应该好好学习,不要总是三分钟热度。 ...
🥳 博客恢复更新
警告: 本篇纯属个人情感向,并没有什么营养,请谨慎阅读。
又是一年秋。风瑟瑟,雨潇潇,金陵城已然有了入冬的感觉。
早上穿了件薄外套出门,甚至有点抵挡不住这份肃杀之气,好在阳光还算明媚。
两点一线,上班下班,这就是目前的生活状态。
今天是我的第 26 个农历生日,今年的生日,依旧是一个人度过,依旧是除了家人以外,没什么人记得。上个月在公司过了一个小小的生日会,但那只是错把阴历生日当公历来过了。
2021-09-13 拍摄于办公室 (画质为何这么渣? 座机拍的!)
下班的时候,去剪了个头发,每次都很享受剪完头发之后的神清气爽,但每次到了该剪头发的时候总是想拖延,即使理发店就在回家的路口。然后点了一杯超大杯热的焦糖馥芮白,街对面买了些糕点,回到家安静地享受之。
等到夜更深一点,突然有些许网抑云,很久没有写字了,突然很想提笔记录一下这一刻的心情。刚好前一阵子把很久没有维护的博客搬了个家,拂去厚重的灰尘,加了一些方便创作的功能。想来上次更新还是 2018 年,也就是刚从大学毕业,从那以后,我竟然再没有敲过一篇!
。。。
哎,洋洋洒洒地敲了几大段文字,最终还是删掉了,有些心事还是暂时放在心底慢慢 ...
Ubuntu 18.04 的一些优化建议
1.更新12sudo apt updatesudo apt upgrade
2.安装闭源驱动Software & Updates -> Additional DriversMechrevo Z2 使用开源的Nouveau驱动无法正常关机和重启,故切换至闭源驱动
3.启用LivepatchSoftware & Updates -> Updates
勾选 Use Canonical Livepatch to increase security between restarts
注意这里需要登录你的 Ubuntu one 账户
4.Gnome美化 - 去掉topbar首先为什么要去掉topbar ?
在桌面上看topbar的透明效果挺好看的,可一旦全屏化窗口后,topbar变成黑色并且不会自动隐藏,导致屏幕上方看起来跟三明治一样…
去掉topbar的方法不止一种
这里直接修改 /usr/share/gnome-shell/theme/ubuntu.css
在最底部加入
1234#panel,#panel *{ height: 0px; color: ...
Manjaro 爬坑 - 如何建立自启动项目
方法一:使用xfce Session and Startup
方法二:使用service在 /etc/systemd/system/ 目录下新建一个 x.service 文件
12345678[Unit]Description=Script[Service]ExecStart=/usr/bin/script[Install]WantedBy=multi-user.target
设置该 service 随系统启动
12sudo chmod 755 /usr/bin/scriptsudo systemctl enable script.service
在 Linux 上搭建 shadowsocks 服务器
最近国内shadowsocks线路抽风,不少shadowsocks服务都开始无法正常连通,我所使用的shadowsocks服务商的全部线路瘫痪,不得已开始自建shadowsocks服务。
当然,自建服务器的成本略高于使用现成的服务,不过好在亚马逊的一年免费的服务器长期闲置,目前还有10个月可用。
安装过程!其实搭建 shadowsocks 服务器十分简单对于 Linux 服务器,这里以 Ubuntu16.04 LTS 为例
123456sudo apt updatesudo apt upgradesudo apt-get install python-pipsudo apt-get install python-m2cryptopip install shadowsockssudo vim /etc/shadowsocks.json
创建shadowsocks.json文件,填入如下内容
12345678{ "server":"0.0.0.0", "server_port":8388, " ...
Ubuntu 日记
2017年09月06日 在新电脑上安装hexo客户端2017年08月30日 Ubuntu17.04 安装最新版 nodejs 和 hexo 客户端123456789#!/bin/shsudo apt install nodejs-legacysudo apt install npmsudo npm install npm@latest -gsudo npm install n -gsudo n lts~~sudo ln -s /usr/local/bin/npm /usr/bin/npm~~~~sudo ln -s /usr/local/bin/node /usr/bin/node~~sudo apt install git
Android Studio 常见错误及解决方法
[2017年10月5日]新建项目(一般是首次)时卡在 Building ‘project_name’ Gradle project info
这是由于Android studio在联网下载gradle时出错(GFW),为Android studio设置代理即可
[2017年8月27日]
使用AVD创建虚拟机:An error occurred while creating the AVD. See idea.log for details.
1sudo apt-get install lib32stdc++6
虚拟机创建后无法启动
1sudo ./genymotion-2.10.0-linux_x64.bin
(ノ=Д=)ノ┻━┻
hahaha