0%

html转图片,java没有好的现成的免费库能直接把html转成图片,itext有收费的库可以实现,我的思路是基于itext将html转成pdf,再使用pdfbox转成图片达到效果。

阅读全文 »

import cn.hutool.core.thread.NamedThreadFactory;
import lombok.SneakyThrows;

import java.util.concurrent.Future;
import java.util.concurrent.LinkedBlockingQueue;
import java.util.concurrent.ThreadPoolExecutor;
import java.util.concurrent.TimeUnit;

/**
 * @author hongbo.pan
 * @date 2021/11/16
 */
public class Test {

    @SneakyThrows
    public static void main(String[] args) {
        ThreadPoolExecutor poolExecutor = new ThreadPoolExecutor(1, 50, 60, 
                TimeUnit.SECONDS, new LinkedBlockingQueue<>(1000), 
                new NamedThreadFactory("测试", false));
        Future<String> f1 = poolExecutor.submit(() -> {
            System.out.println("===========111111===========");
            Future<String> f2 = poolExecutor.submit(() -> {
                System.out.println("===========222222===========");
                return "1";
            });
            System.out.println(f2.get());
            return "2";
        });
        System.out.println(f1.get());
    }
}
阅读全文 »

spring aop我的理解是通过代理类执行切面方法,其中代理方式有两种,一种是jdk动态代理,一种是cglib动态代理(通过修改字节码来实现代理)。当需要被代理的类有接口时,会采用jdk动态代理实现接口。如果没有接口时,会采用cglib动态代理生成一个子类。通常aop会配合自定义注解实现某些功能,比如日志等。昨天我实现了一个自定义注解,将参数值自动赋值到要返回的bean中,具体实现如下

阅读全文 »

今天是邱千的第一个母亲节呢,不知道怎么表示额。祝她母亲节快乐吧,也祝我老妈母亲节快乐,她老妈母亲节快乐,希望哼哼能快乐成长,马上断奶,让他妈妈能睡个好觉:)

阅读全文 »

公司目前的项目都是用的springboot进行开发,项目里面有些功能需要用到可执行程序,使用CommandLine执行命令调用,在执行命令时需要程序的绝对路径,而springboot打包插件是将所有的jar包和资源文件都打包成一个可执行的jar包,这样导致无法获取资源文件下面的可执行程序的绝对路径,导致命令无法执行。于是同事写了一个打包插件,把springboot打包成一个zip文件,并生成相关的启动命令,直接调用脚本即可启动程序,类似于dubbo的打包方式。

阅读全文 »