规则引擎入门

2020年7月12日 没有评论

关于规则引擎,我们在工作中应该会经常遇到,例如我们对不同的用户给不同的折扣。前一段时间在网上闲逛,发现一个很简单的规则引擎,一下是学习笔记。

在使用之前,我们要先导入 jar 包:


        <dependency>
            <groupId>org.jeasy</groupId>
            <artifactId>easy-rules-core</artifactId>
            <version>3.3.0</version>[......]

Read more

分类: Java 标签: ,

关于 CPU 乱序执行的证明

2020年7月5日 没有评论

在学习 volatile 关键字的时候,我们都知道他有两个作用:1. 内存可见性;2. 禁止指令重排序。但是我们一般都是说,那么怎么证明呢?请看下面这段代码:


package cn.bridgeli.demo;

/**
 * @author BridgeLi
 * @date 2020/7/4 10:27
 */
public class Disorder {

    private static int x = 0;
    private static int y = 0;
    private static volatile int a = 0;[......]

Read more

分类: Java 标签: ,

Redis 实现布隆过滤器

2020年6月6日 没有评论

昨天听马士兵教育张福刚讲公开课,里面讲解了布隆过滤器,今天无聊没事干,整理了一下笔记。关于布隆过滤器是什么东西,有什么应用场景就不做讨论了,网上有很多,大家可以自行了解,只记录实现:

1. pom 依赖


        <dependency>
            <groupId>redis.clients</groupId>
            <artifactId>jedis</artifactId>
            <version>3.3.0</version&g[......]

Read more

分类: Java 标签:

Mac:终端和 shell 配置

2020年5月2日 没有评论

今天不写博客了,水一篇玩玩。老祖宗说,工欲善其事,必先利其器。很多做开发的同学都喜欢 Mac,我也是,自从用了之后爱不释手,但是当帮助一些同学解决问题的时候,总是发现,有些同学的终端使用的是 Mac 自带的终端和 shell,特别难用,完全无法发挥 Mac 的威力,然后给他们推荐怎么配置一下更好用,但是发现很多同学都是,现在已经懒得一个一个同学的说了,所以今天我就写一篇文章,怎么配置更好用的终端和 shell,希望下次再遇到直接能甩给他这篇文章就行。

一. 终端,iterm2

很多同学首先使用的终端是原生终端,那个终端说实话太难用了,我都想不出来理由,这么好用的电脑,苹果是如何忍受[……]

Read more

分类: 其他 标签: , , , ,

关于 JPA 连表查询和 redis 序列化遇到的小问题

2020年4月11日 没有评论

一、JPA

1. 连表查询时数据长度正常,内容都是重复的,MySQL 数据库运行查询语句结果正常

先看写法:


package cn.bridgeli.demo.repository;

import cn.bridgeli.demo.entity;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.Query;

import java.util.List;

/**
 * @aut[......]

Read more

分类: Java 标签: ,

Dubbo 自定义拦截器

2020年3月22日 没有评论

写了 Spring AOP 实现自定义注解,打印日志之后,感觉在调用第三方 dubbo 接口的时候,依然会有同样的问题,然后看了一下 dubbo 的官方文档,决定下一个 filter,实现 dubbo 接口的日志拦截,以下是自己完的一个小例子,同样也是供需要的同学参考。

1. filter 具体实现如下:


package cn.bridgeli.demo.filter;

import com.alibaba.dubbo.rpc.Filter;
import com.alibaba.dubbo.rpc.Invocation;
import com.alibaba.d[......]

Read more

分类: Java 标签: ,

Spring AOP 实现自定义注解

2020年3月15日 没有评论

自工作后,除了一些小项目配置事务使用过 AOP,真正自己写 AOP 机会很少,另一方面在工作后还没有写过自定义注解,一直很好奇注解是怎么实现他想要的功能的,刚好做项目的时候,经常有人日志打得不够全,经常出现问题了,查日志的才发现忘记打了,所以趁此机会,搜了一些资料,用 AOP + 自定义注解,实现请求拦截,自定义打日志,玩一下这两个东西,以下是自己完的一个小例子,也供需要的同学参考。

1. 注解如下:


package cn.bridgeli.demo.annotation;

import java.lang.annotation.ElementType;
impor[......]

Read more

Java 使用 FFmpeg 处理视频文件示例

2020年2月29日 没有评论

Java 使用 FFmpeg 处理视频文件示例

目前在公司做一个小东西,里面用到了 FFmpeg 简单处理音视频,感觉功能特别强大,在做之前我写了一个小例子,现在记录一下。

首先说明,我是在 https://ffmpeg.zeranoe.com/builds/ 这个地方下载的软件,Windows 和 Mac 解压之后即可使用。具体代码如下:


package cn.bridgeli.demo;

import org.junit.Test;

import java.io.BufferedReader;
import java.io.IOException;[......]

Read more

分类: Java 标签: , ,

日期中用 YYYY 一定会报错吗?

2020年2月3日 没有评论

今年春节真是打破了 N 多传统,很多人都是在家连门都没出过,从今天开始也要开始在家远程办公了,因为和小伙伴合作开发一个功能,但是接口目前还没给到,然后记得今年元旦前后,关于 YYYY 报错的问题,突然火了,据说有 N 多程序员被火速召回公司改 bug,所以决定写篇小文章说说这个问题:YYYY 一定会报错吗?

首先需要说明的是:我用的 JDK 版本为:jdk-8u131-macosx-x64,所以具体表现为应该显示:2019-12-31,结果确是:2020-12-31,另外经过我的测试其实不仅 format 的时候报错,parse 的时候同样也会报错,我写了一段示例代码如下:

[......]

Read more

纠错:Java 内存模型(JMM)

2020年1月1日 没有评论

当一个 Java 程序员工作一段时间之后,不可避免的要去了解 JVM,而了解 JVM 的时候,自然就会看到 Java 的内存模型,但是个人看过有太多的人概念不清不楚,有太多的人把 Java 内存结构,记得曾经看过一篇文章,一个同学去面试,面试官问他:简单聊聊 Java 的内存模型,他说完之后,面试官说:你说的不对啊,内存模型应该是堆、栈、常量池、方法区、程序计数器等等,然后他瞬间就不想去这家公司了,这不是让一个半吊子去当面试官吗,自己概念都没搞清楚就去说别人,个人也看过太多文章把这个搞错,所以今天就写了一篇小文章,说说自己对 JMM 的理解,当然我说的可能也不对,也不可能说透。

1. 主[……]

Read more

分类: Java 标签: