- 博客(15)
- 资源 (1)
- 收藏
- 关注
原创 节假日项目
假期的计算向来是个难题,因为除了一般的周六周日以外,还存在着每年都会变化的法定节假日。工作中有业务涉及这一块儿,于是抽取了一点时间,把项目中关于节假日计算的内容抽取成一个单独的项目,发表在gitee上面,地址是:项目的思路是,通过开放的API,计算出每年的节假日(包含法定节假日和普通的周六周日),进而可以提供一些查询能力,诸如:“2023年1月有哪些天放假?” “2023-05-23日是否是工作日?”“2023-09-10延后23个工作是哪天?
2023-02-02 23:06:06
299
原创 观察者模式
0.前言有人把观察者(Observer)模式等同于发布(Publish)/订阅(Subscribe)模式,也有人认为这两种模式还是存在差异,但总体来说差异并不大。实际生活中,发布/订阅模式较为常见,接触比较多的是会员用户扫码关注了某店铺微信小程序。比如说: A同学关注了 李宁运动店铺 B同学关注了 必胜客披萨店 C同学则两家都关注了于是,当球鞋换季时,A和C可以收到李宁店铺的广告;Pizza出新品菜单,B和C又可以收到推荐及时尝鲜。1.店铺类店铺必须具备2个功能:1.持有会员,
2022-04-06 10:19:47
403
原创 CentOS7 防火墙配置
0.看下系统版本号,如果不是centos7,则本文档不适用lsb_release -a1.看防火墙状态firewall-cmd --state2.关闭防火墙!一劳永逸systemctl stop firewalld.service # 停止firewallsystemctl disable firewalld.service # 禁止开机启动3.看看所有开放端口firewall-cmd --zone=public --list-ports4.关闭/开放端口firewa
2022-03-01 18:01:27
537
原创 JAVA 经典枚举类写法
/** 消息类型(来源) */public enum MessageType {POLICY(“policy”, “政策模块”),MAILBOX(“mailbox”, “信箱模块”),Score(“score”, “打分模块”);private String type;private String typeName;private MessageType(String type, String typeName) { this.type = type; this.typeName =
2021-12-20 14:44:20
1462
原创 JAVA 容器判空
1.List、SetList、Set可以使用 org.apache.commons 提供的 CollectionUtils 方便的判空List<String> studentIdList = new ArrayList<>();CollectionUtils.isEmpty(); // trueCollectionUtils.isNotEmpty(); // false原理也很简单 // 类名:org.apache.commons.collections4.Co
2021-11-16 11:09:31
735
原创 JAVA 容器初始化
1. Map使用双括号HashMap<String, String > codeStyle = new HashMap<String, String>(){{ put("java","easy"); put("python","easy"); put("c","hard");}};使用GuavaMap<String, Integer> studentAge = ImmutableMap.of("Jim", 10, "Kate
2021-11-06 13:29:07
432
原创 使用 String.join 将 LIst、Set 处理成字符串
String.join 使用的是 JDK8 提供的新方法,使用样例: Set<String> set = new HashSet<>(); set.add("小明"); set.add("小亮"); set.add("小军"); String join = String.join(",", set); System.out.println(join); // 小明,小亮,小军...
2021-11-05 14:51:44
951
原创 JAVA 字符串使用模板拼接
可以使用JAVA内置的 MessageFormat.format() 方法进行字符串拼接String welcomeStr= MessageFormat.format("{0}好,尊敬的{1}先生", "早上", "小明");System.out.println(welcomeStr);String urlStr= MessageFormat.format("http://{0}:{1}/api/v1.0/file/preview/{2}", ip, port, fileId);System.ou
2021-09-07 09:34:04
851
原创 SpringBoot中复制对象的方法
代码如下,主要利用Spring框架提供的BeanUtils.copyProperties()方法/**创建Dto,并复制属性@author 喵掌柜@date 2021/8/17 13:15@param o Source@param clazz 目标类型@return T*/public static T buildDto(Object o, Class clazz) {T dto = null;try {dto = clazz.newInstance();} catch (I
2021-09-01 15:41:23
1508
原创 JDK8中 stream和集合的用法示例
// 字段中获取某一个属性合集Set collect = bussinesses.stream().map(Student::getName).collect(Collectors.toSet());// 数组转集合ArrayList idList = new ArrayList<>(Arrays.asList(ids));// list转map,bankName – bankBeanList orgs = …;Map<String, Bank> bankNameMap
2021-08-31 10:07:57
277
原创 装饰器模式
《图解设计模式》在讲解装饰器模式时,使用了一段非常不错的描述:假如现在有一块蛋糕,如果只涂上奶油,其他什么都不加,就是奶油蛋糕。如果再加上草莓,它就是草莓奶油蛋糕。如果再加上一块黑色巧克力板,上面用白色巧克力协商姓名,然后插上代表年龄的蜡烛,就变成了一块生日蛋糕。其实说到底,无法加上什么修饰,本质还是生日蛋糕,只是加上修饰之后,蛋糕生产的意义就更加明确。JAVA中IO流是典型的使用修饰器模式的设计,如InputStream.java、OutputStream.java以及它们的子类等。从设计模式层面
2021-01-02 13:47:20
139
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人