Java 8 Lambda 表达式笔记
public class Java8Tester { public static void main(String args[]) { final int num = 1; Converter<Integer, String> s = (param) -> System.out.println(String.valueOf(param + num)); s.convert(2); // 输出结果为 3 } public interface Converter<T1, T2> { void convert(int i); }} 定义泛型接口 Converter<T1, T2> public interface Converter<T1, T2> { void convert(int i);} 这是一个泛型接口,定义了一个抽象方法 convert(int...
中秋做一道清蒸鲈鱼
...
Hexo博客集成Artalk评论系统指北
写这篇文章之时恰逢中秋佳节之际,祝各位朋友中秋快乐! 我的博客自从2022年就已经建好,但是基本没有写很多东西在上面,搭建之初只是为了方便而使用了gitalk来作为评论系统。但这个开源项目的评论是基于github的issue来实现,虽然数据也是存储在自己的仓库并且免费。但是由于github在国内的网络环境下时好时坏,大部分情况下无法正常加载。而从个人博客评论功能的需求出发我主要归结为以下两点: 加载迅速,不因为没有科学上网工具而无法使用 数据安全,也即数据自己可以操控在自己的存储系统里面最好 支持匿名评论,因为我不想让别人看个blog还要进行繁琐的登录 这个时候刚好看到了一个叫做Artalk的开源项目,使用go语言编写号称轻量便捷并且它还在正常更新,拓展性高,可以本地化部署,正好满足我的需求。 部署 环境:Ubuntu 22.04 正确部署姿势 artalk/artalk-go #### **域名解析**到你域名解析供应商处添加Artalk的域名解析记录如```comment.example.cn```指向你的服务器地址####...
使用 CDN 提升网站速度与安全性:我的博客加速之路
随着网站的访问量增加,页面加载速度和服务器安全成为了我的首要关注点。为了确保用户有更好的访问体验,同时提升网站的安全性,我决定为我的博客搭建 CDN(内容分发网络)。在这篇推文中,我将分享 CDN 建设的基本步骤以及它带来的显著效果。 什么是 CDN? CDN,全称为内容分发网络(Content Delivery Network),它的主要目的是通过分布在全球各地的服务器节点来缓存和分发内容,提升网站访问速度,并降低源服务器的负载。 当用户访问网站时,CDN 会将用户的请求转发到离用户最近的 CDN 服务器节点。若 CDN 节点上已有缓存的内容,则会直接将内容返回给用户。如果没有缓存,CDN 会将请求转发给源服务器获取内容,并将其缓存以供下次使用。 CDN 的引入流程 引入 CDN 的过程涉及以下几个步骤: 1. 域名解析和 DNS 配置 首先,确保域名通过 DNS 正确解析到 CDN 的加速域名。在我的案例中,我的博客域名 www.exampleblog.com 被解析到了 CDN 提供的加速域名 exampleblog.cdnprovider.com。 配置步骤: 将...
JavaLearning
Java abstract和interface的区别 1. 抽象类(Abstract Class) 定义:抽象类是包含一个或多个抽象方法(没有实现的方法)的类,不能直接实例化,必须由子类继承并实现抽象方法。 使用abstract关键字:类和方法都需要用abstract关键字声明。 继承方式:抽象类可以使用普通的类继承机制,支持单继承(一个类只能继承一个抽象类)。 成员变量:可以包含实例变量(字段)、构造方法和已实现的方法(非抽象方法)。 访问修饰符:抽象类中的方法和成员变量可以使用所有的访问修饰符(public、protected、private)。 适用场景:当多个类有一些相同的功能,并且还需要一些差异化的实现时,可以使用抽象类。 interface Animal { void sound(); // Java 8 开始的默认方法 default void sleep() { System.out.println("Sleeping..."); }}class Dog...
js learning tips
While learning JavaScript, I found an interesting piece of code: var x = 1;switch (x) { case true: console.log('1'); break; default: console.log('2');} You might think the result is 1, but actually, in JavaScript, the result is 2, whereas in Java, it would be 1. Python does not have a “switch-case” construct. This is because JavaScript’s switch statement uses strict equality (===) without type coercion.
Zhangjiajie trip
Zhangjiajie trip Tao Yuanming, a poet of the Jin Dynasty, once wrote “晋太元中,武陵人捕鱼为业。缘溪行,忘路之远近。忽逢桃花林…” The area written in the poem is also today’s Zhangjiajie City, Hunan Province. After finishing my undergraduate graduation project, I decided to travel and relax for a few days. My destination was Zhangjiajie. On the 5.6th, I took the train from Wuhan to Zhangjiajie, departing at 22.30 in the evening and arriving the next day. The train I took was a hard sleeper(cost 168RMB), and because I...