你貌似开启了广告屏蔽插件... 写博客不容易,希望能将广告过滤去掉,谢谢!

Sharding-Sphere-JDBC读写分离例子

2020-06-03   朋也   sharding-sphere学习笔记   javascript  

目的:读写分离的例子【也可参见这篇博客:springboot集成mybatis配置主从复制双库实现读写分离】当然Sharding-Sphere里也可以实现

Sharding-Sphere-JDBC公共表例子

2020-06-03   朋也   sharding-sphere学习笔记   javascript  

目的:如果每个库中都有look_up这种系统配置的基本表,又想做到一次CRUD操作能在所有库中都生效

Sharding-Sphere-JDBC垂直分表,分库例子

2020-06-03   朋也   sharding-sphere学习笔记   javascript  

目的:根据业务(用户信息,帖子信息)将数据存如不同数据库中,我这以用户信息存入test库中,帖子信息存入test1库中为例

Sharding-Sphere-JDBC水平分表,分库例子

2020-06-03   朋也   sharding-sphere学习笔记   javascript  

目的:根据用户id奇偶判断存入哪张user表?根据user.age判断存入哪个库中

分库分表原理介绍

2020-06-03   朋也   sharding-sphere学习笔记   javascript  

拆分规则:

垂直拆分,水平拆分

使用parcel开发组件化的前端项目(不借助前端三大框架)

2020-04-17   朋也   javascript学习笔记   javascript  

本篇博客内容来自视频 https://www.youtube.com/watch?v=8rD9amRSOQY

Parcel官网:https://parceljs.org/

在官网上描述上写到:Blazing fast, zero configuration web application bundler

其它的单词我不认识,这个 zero configuration 引起了我的注意

easyui-jquery - 布局自适应

2020-04-13   朋也   javascript学习笔记   javascript  

easyui算是个上古前端框架了,来记录一下折腾的过程,不得不说这货写后台是真爽

先上图

xxl-job测试出来的一些特性总结

2020-04-08   朋也   java学习笔记   java  

xxl-job:一个分布式的定时器管理平台(这东西类似于zookeeper)

开源地址:https://github.com/xuxueli/xxl-job

我启动后,配置了一个项目,测试了以下几个内容

  1. 如果定时执行的方法中出异常了,不会中止定时任务
  2. 如果job_admin发出任务后,执行器里的任务也在跑着,但执行器服务出意外了,服务停了,job_admin这边的日志就会处于一直等待异步回调的状态,可以手动停止任务,但手动停止任务后,job_admin会默认的再发送一次这个任务的执行
  3. 如果执行器中的的一个任务要执行10s,但job_admin里设置的请求间隔是5s,这样的情况定时器也是按顺序执行的,即使是5s一次,它也会等执行器中的任务执行完后,给到job_admin回调结果后,job_admin才会下发下一次的任务
  4. 如果job_admin因为意外出故障了,导致服务停止,那么它下发的任务还会继续在执行器项目中执行,直到执行器检测到job_admin挂了,就开始一直报错了,任务也就停止了

Java集合排序,字段为空的排在前面

2020-03-30   朋也   java学习笔记   java  

需求:如果跟第三方调接口时,拿回来的列表数据中有的字段是空的,这时候是需要人工处理的,怎么让空的(null,”“)字段的数据展示在最前面?

实现:

class Demo {
    Integer id;
    String name;

    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public Demo(Integer id, String name) {
        this.id = id;
        this.name = name;
    }
}

@Test
public void test3() {
    List<Demo> demos = new ArrayList<>();
    demos.add(new Demo(8, "222"));
    demos.add(new Demo(4, ""));
    demos.add(new Demo(3, "123"));
    demos.add(new Demo(6, ""));
    demos.add(new Demo(1, null));
    demos.add(new Demo(2, ""));
    demos.add(new Demo(5, "333"));
    demos.add(new Demo(7, null));
    demos.sort(Comparator.comparing(Demo::getName, Comparator.nullsFirst(String::compareTo)));
    for (Demo demo : demos) {
        System.out.println("id: " + demo.getId() + " name: " + demo.getName());
    }
}

执行结果:

id: 1 name: null
id: 7 name: null
id: 4 name:
id: 6 name:
id: 2 name: 
id: 3 name: 123
id: 8 name: 222
id: 5 name: 333