CLOUD 八月 16, 2020

Alibaba Cloud Certified Expert

文章字数 1.1k 阅读约需 1 mins.

CLOUD 八月 16, 2020

Alibaba Cloud Certified Expert

文章字数 1.1k 阅读约需 1 mins.

2020年7月 105分 截屏

在线练习

在线练习代码仓库

Base on Bobby Black’s Fork of jrue’s JavaScript-Quiz

做了如下改动:

  1. 支持多选题
  2. 对已掌握的题可以去除,循环答题是不会再次出现。刷新页面时题库重置
  3. 每次刷新页面随机出题顺序
  4. 增加不蒜子统计
  5. 将题目内容抽取为了单独的 js 文件,方便切换

当前在线版本为 ACE 内容,可在 index.html 中切换 ACP(quiz.js) 及 ACE(ace.js)。

查看全文

LINUX 八月 09, 2020

通过 rsync 和 cron 实现日志文件的准实时同步

文章字数 4.9k 阅读约需 4 mins.

服务器中日志文件希望即时同步到另一个服务器中,并且能够 tail。

  1. 通过 rsync 进行文件的同步
  2. 通过计划任务完成准实时的同步

rsync

rsync 是一个 开源 的工具,提供了快速的增量文件同步功能。包含在了 Linux 各主流发行版中。

基本用法为:rsync [options] src dest,支持本地及远程文件的拷贝(但不支持 src 和 dest 同时为远程地址)。

详细用法可以参考 官方文档 或网上其他资料,如 rsync - Linux下进行文件同步命令

cron

cron...

查看全文

TOMCAT 八月 02, 2020

Tomcat 是怎么找到用来处理请求的 Servlet 的?

文章字数 14k 阅读约需 12 mins.

Servlet 注册到了哪? 中,我们找到了配置的 Servlet 被包装成了一个 StandardWrapper,以注册的 Servlet name 为 key 放入了其父容器(Context)一个 HashMap 里。那么当 Tomcat 收到一个请求的时候,是怎么找到对应的 Servlet 以对请求进行处理的呢?

先放一张图:

总的来说,这个过程分为两部分:

  1. 读取所有 Servlet 的配置,放入 Mapper 中;
  2. 将请求匹配到具体的 Servlet 上。

注:本文以 Tomcat...

查看全文

JAVA 七月 26, 2020

为什么应该设置 com.sun.management.jmxremote.rmi.port?

文章字数 5.1k 阅读约需 5 mins.

在使用 JMX 对 Java 应用进行监控时,一般会在启动时添加如下参数:

java \
-Djava.rmi.server.hostname=192.168.16.237 \
-Dcom.sun.management.jmxremote.rmi.port=2909 \
-Dcom.sun.management.jmxremote.port=9009 \
-Dcom.sun.management.jmxremote.authenticate=false \
-Dcom.sun.management...
查看全文

SPRING 七月 19, 2020

谁动了我的异常 Plus

文章字数 5.9k 阅读约需 5 mins.

书接上文,在 谁动了我的异常? 中,有几个问题没说清楚,本文将继续进行说明。
为了方便,相关示例代码上传至了 https://github.com/AlphaHinex/proxy-in-spring

示例代码中,定义了如下内容:

ClassController 中定义了一个没有声明异常...

查看全文

JAVA 七月 12, 2020

为什么不建议使用双括号初始化?

文章字数 2.6k 阅读约需 2 mins.

Map<String, Object> map = new HashMap<String, Object>() {{
    put("name", "Alpha");
    put("age", 8);
}};

以下内容引自 The Java™ Tutorials - Initializing Fields

Initializing Instance Members

Normally, you would put code to initialize an instance variable...

查看全文

GIT 七月 04, 2020

JitPack 真香 Plus

文章字数 1.1k 阅读约需 1 mins.

JitPack 真香 中,介绍了 JitPack 的基本用法。

当一个仓库中对应多个模块,每个模块需发布成一个独立 jar 包时,依赖的坐标有略微调整:

单模块 多模块
groupId com.github.User com.github.User.Repo
artifactId Repo Module
version Tag Tag

多模块时,依然可以通过单模块的依赖语法形式,获得该项目的所有模块:

implementation 'com.github....
查看全文

SPRING 六月 26, 2020

谁动了我的异常?

文章字数 11k 阅读约需 10 mins.

通常来讲,为方便开发,我们会对异常进行统一的处理。会定义一个异常基类,针对基于这个基类的自定义异常进行统一处理。

当异常基类为检查型异常(Checked Exception)时,如果自定义异常是通过切面等代理抛出的,被代理的方法本身并未抛出且也未声明此异常时,就会遇到这个问题:

统一异常处理方法中,捕获到的异常,已不是代理类中抛出的自定义异常,而是一个将自定义异常包装在内的 java.lang.reflect.UndeclaredThrowableException

那么为什么会这样呢?

以使...

查看全文

JAVA 六月 19, 2020

Gradle HTTP 超时设置

文章字数 3.1k 阅读约需 3 mins.

在使用 Nexus 时,很罕见的遇到了超时问题:

> Unable to load Maven meta-data from http://localhost:8081/repository/test/io/github/alphahinex/example/0.1.2-SNAPSHOT/maven-metadata.xml.
   > Could not HEAD 'http://localhost:8081/repository/test/io/github/alphahinex...
查看全文

OTHERS 六月 12, 2020

SSH Port Forwarding, aka SSH Tunneling

文章字数 9k 阅读约需 8 mins.

SSH(Secure Shell)端口转发(SSH Port Forwarding),也叫 SSH 隧道(SSH Tunneling),是 SSH 中的一种机制,可以在 SSH 客户端与服务端之间,建立一条隧道,将客户端端口转发至服务端,也可将服务端端口转发至客户端。利用这种机制,可以为老式应用,提供加密通讯的途径,以及其他一些更广泛的用途。

利用 SSH 客户端,即可完成隧道的创建,创建隧道时,需指定隧道两端的端口,故也叫端口转发。

端口转发分为两种:

  1. 本地端口转发
  2. 远程端口转发

下面以...

查看全文
加载更多
0%