- 博客(15)
- 资源 (1)
- 收藏
- 关注
原创 节假日项目
假期的计算向来是个难题,因为除了一般的周六周日以外,还存在着每年都会变化的法定节假日。工作中有业务涉及这一块儿,于是抽取了一点时间,把项目中关于节假日计算的内容抽取成一个单独的项目,发表在gitee上面,地址是:项目的思路是,通过开放的API,计算出每年的节假日(包含法定节假日和普通的周六周日),进而可以提供一些查询能力,诸如:“2023年1月有哪些天放假?” “2023-05-23日是否是工作日?”“2023-09-10延后23个工作是哪天?
2023-02-02 23:06:06
483
原创 观察者模式
0.前言 有人把观察者(Observer)模式等同于发布(Publish)/订阅(Subscribe)模式,也有人认为这两种模式还是存在差异,但总体来说差异并不大。 实际生活中,发布/订阅模式较为常见,接触比较多的是会员用户扫码关注了某店铺微信小程序。比如说: A同学关注了 李宁运动店铺 B同学关注了 必胜客披萨店 C同学则两家都关注了 于是,当球鞋换季时,A和C可以收到李宁店铺的广告;Pizza出新品菜单,B和C又可以收到推荐及时尝鲜。 1.店铺类 店铺必须具备2个功能: 1.持有会员,
2022-04-06 10:19:47
474
原创 CentOS7 防火墙配置
0.看下系统版本号,如果不是centos7,则本文档不适用 lsb_release -a 1.看防火墙状态 firewall-cmd --state 2.关闭防火墙!一劳永逸 systemctl stop firewalld.service # 停止firewall systemctl disable firewalld.service # 禁止开机启动 3.看看所有开放端口 firewall-cmd --zone=public --list-ports 4.关闭/开放端口 firewa
2022-03-01 18:01:27
628
原创 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
1523
原创 JAVA 容器判空
1.List、Set List、Set可以使用 org.apache.commons 提供的 CollectionUtils 方便的判空 List<String> studentIdList = new ArrayList<>(); CollectionUtils.isEmpty(); // true CollectionUtils.isNotEmpty(); // false 原理也很简单 // 类名:org.apache.commons.collections4.Co
2021-11-16 11:09:31
823
原创 JAVA 容器初始化
1. Map 使用双括号 HashMap<String, String > codeStyle = new HashMap<String, String>(){{ put("java","easy"); put("python","easy"); put("c","hard"); }}; 使用Guava Map<String, Integer> studentAge = ImmutableMap.of("Jim", 10, "Kate
2021-11-06 13:29:07
486
原创 使用 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
1147
原创 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
932
原创 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
1639
原创 JDK8中 stream和集合的用法示例
// 字段中获取某一个属性合集 Set collect = bussinesses.stream().map(Student::getName).collect(Collectors.toSet()); // 数组转集合 ArrayList idList = new ArrayList<>(Arrays.asList(ids)); // list转map,bankName – bankBean List orgs = …; Map<String, Bank> bankNameMap
2021-08-31 10:07:57
351
原创 装饰器模式
《图解设计模式》在讲解装饰器模式时,使用了一段非常不错的描述: 假如现在有一块蛋糕,如果只涂上奶油,其他什么都不加,就是奶油蛋糕。如果再加上草莓,它就是草莓奶油蛋糕。如果再加上一块黑色巧克力板,上面用白色巧克力协商姓名,然后插上代表年龄的蜡烛,就变成了一块生日蛋糕。 其实说到底,无法加上什么修饰,本质还是生日蛋糕,只是加上修饰之后,蛋糕生产的意义就更加明确。 JAVA中IO流是典型的使用修饰器模式的设计,如InputStream.java、OutputStream.java以及它们的子类等。从设计模式层面
2021-01-02 13:47:20
189
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅