0%

说明

ZXHN E8820 V2是一款支持IEEE802.11ac的智能无线路由器,支持双频最高1200Mbps(5G 900M和2.4G 300M)无线传输,支持1个GE上网口,4个GE用户端接口,支持USB端口,可外接移动硬盘进行家庭私有云备份。

硬件参数

用户接口 4GE+1USB+Wi-Fi
上行接口 GE
设备尺寸 222 mm (L) x 150mm(W) x 36 mm (H)
设备重量 0.25(kg)
工作环境 0℃~+40℃
相对湿度 10%-90%(非凝结)
电源适配器: 输入100-240VAC,输出 12VDC, 1.5A

阅读全文 »

定义 Aspect

定义一个Aspect,只需要我们定义一个最普通的POJO,然后在类上加上@Aspect注解即可。

1
2
3
@Aspect
public class MyAspect {
}

声明 Pointcut

Pointcut 的声明,依附在@Aspect所标注的Asepct定义类之内,通过使用@Pointcut注解,指定Pointcut表达式之后,将这个指定了相应表达式的注解标注到Aspect定义类的某个方法上即可。

1
2
3
4
5
@Aspect
public class MyAspect {
@Pointcut("execution(void *.method1()) || execution(void *.method2())")
public void pointcut1(){};
}

Pointcut 声明包含两部分

  • Pointcut Expression,切点表达式。它用来规定Pointcut匹配规则。
  • Pointcut Signature,切点签名。它是一个具体化的方法定义,是Pointcut Expression的载体。
阅读全文 »

AOP中涉及的概念

  • Joinpoint

    在系统运行之前,AOP的功能模块都需要植入到OOP的功能模块中。所以,要进行这些植入过程,我们需要知道再系统的哪些执行点上进行织入操作,这些将要在其之上进行植入操作的系统执行点就称之为Joinpoint。

  • Pointcut

    Pointcut概念代表的是Joinpoint的表述方式。将横切逻辑织入当前系统的过程中,需要参照Pointcut规定的Joinpoint信息,才可以知道应该往系统的哪些Joinpoint上织入横切逻辑。

  • Advice

    Advice是单一横切关注点逻辑的载体,它代表将会织入到Joinpoint的横切逻辑。

  • Aspect

    Aspect是对系统中的横切关注点逻辑进行模块化封装的AOP概念实体。通常情况下,Aspect可以包含多个Pointcut以及相关的Advice定义。

  • 织入和织入器

    织入(Weaving)的过程就是将横切逻辑融合到原系统中的过程。只有经过织入过程以后,以Aspect模块话的横切关注点才会集成到OOP的现存系统中。完成织入过程的“人”就称之为织入器(Weaver)。

  • 目标对象

    符合Pointcut所指定的条件,将在织入过程中被织入横切逻辑的对象,称之为目标对象(Target Object)。

阅读全文 »

简述

org.springframework.beans.factory.FactoryBean<T>Spring容器提供的一种可以扩展容器对象实例化逻辑的接口。FactoryBean,其主语是Ben,定于为Factory,也就是说,它本身与其他注册到容器中的对象一样,只是一个Bean而已,只不过这种类型的Bean本身就是生产对象的工厂。

接口定义

它的接口定义如下

1
2
3
4
5
6
7
8
9
public interface FactoryBean<T> {
@Nullable
T getObject() throws Exception;
@Nullable
Class<?> getObjectType();
default boolean isSingleton() {
return true;
}
}

getObject()方法会返回该FactoryBean“生产”的对象实例,我们需要实现该方法以给出自己的对象实例化逻辑;getObjectType()方法仅返回getObject()方法所返回的对象的类型,如果预先无法确定,则返回null;isSingleton()方法返回结果用于表明,工厂方法(getObject())所“生产”的对象是否要以singleton形式存在于容器中。如果以singleton形式存在,则返回true,否则返回false;

阅读全文 »

玩物下载 群晖ARM版 安装方法

玩物下载简介

玩物下载是一款超轻快且功能强大的下载工具,其下载加速由迅雷提供技术支持。已支持http、BT、电驴、磁力链、迅雷等目前所有主流的下载格式。欢迎您使用玩物下载,希望通过我们的下载技术,能帮助您节约下载时间、减少等待。产品特点:随时随地,想下就下。

前言

本人前些日子入手了猫盘,刷了黑群晖,目前一直稳定使用。可惜猫盘群晖属于ARM平台,比x86平台的群晖少了很多可玩性。看到x86平台上有玩物下载,遂想找下官方有没有提供群晖ARM版本。

先到玩物下载官网看了看,只在帮助中心发现了x86平台spk安装包的下载地址,并没有发现ARM版。

随后通过Google的帮助,找到了群晖官方spk安装包的下载地址https://archive.synology.com/download/Package/spk/,其中owapp即为玩物下载的文件夹,于是发现官方其实是提供了armv8的spk安装包。

下载下来发现并不能安装成功,通过7-zip打开安装包看了看,对比了下其他官方套件的安装包,发现INFO文件中的arch的值的问题。群晖官方提供的armv8版套件的安装包中arch的值为armv8,而玩物下载中的值为rtd1296,通过修改后成功安装,于是有了下面的安装方法。

此文仅仅是记录,无任何技术含量,本首发在了矿渣论坛,后发现被各种博客转载且未注明出处,还不如也在自己博客上发下。

阅读全文 »

多租户概述

多租户(Multi Tenancy/Tenant)是一种软件架构,其定义是:在一台服务器上运行单个应用实例,它为多个租户提供服务。

数据隔离方案

  1. 独立数据库

    即一个租户一个数据库。

  2. 共享数据库,独立Schema

    即多个或所有租户共享Database,但是每个租户一个Schema(也可叫做一个user)。

  3. 共享数据库,共享Schema,共享数据表

    即租户共享同一个Database、同一个Schema,但在表中增加租户标识的数据字段。

阅读全文 »

JvmSpec

程序计数器

它可以看做是当前线程执行的字节码的指示器。

Java虚拟机栈

它描述的是Java方法执行的内存模型:每个方法在执行的同时都会创建一个栈帧用于存储局部变量表、操作数栈、动态链接、方法出口信息等。每一个方法从调用到执行完成的过程,就对应着一个栈帧在虚拟机栈中入栈到出栈的过程。

本地方法栈

Java堆

它是被所有线程共享的一块区域,在虚拟机启动时创建。此内存区域的唯一目的是存放对象实例。

对象的内存布局分为3块区域 对象头、实例数据、对齐填充

方法区

它也是被所有线程共享的一块区域,用于存储已被虚拟机加载的类信息、常量、静态变量、即时编译器编译后的代码等数据。

运行时常量池是方法区的一部分。