
工作日常
工作日常
Ru_yin_hai
这个作者很懒,什么都没留下…
展开
-
逻辑布尔表达式(增加计算前公式语法校验)
业务场景需要实现一个公式计算器,经过提炼成oj题目如下:给定一个只包括 ‘(’,’)’,’&’,’|’,‘1’,‘0’ 的字符串 s ,计算该表达式的布尔结果注意:其中 多重 ‘(’,’)’ 需要有计算优先级,先计算括号内部运算‘&’ => 且‘|’ => 或‘1’ => true‘0’ => false返回结果数据类:class CalculateResult{public Boolean checkResult;public Boolean原创 2021-06-10 17:10:33 · 847 阅读 · 0 评论 -
逻辑布尔运算器
业务场景需要实现一个公式计算器,经过提炼成oj题目如下:给定一个只包括 ‘(’,’)’,’&’,’|’,‘1’,‘0’ 的字符串 s ,计算该表达式的布尔结果注意:其中 多重 ‘(’,’)’ 需要有计算优先级,先计算括号内部运算‘&’ => 并‘|’ => 或‘1’ => true‘0’ => false示例 1:输入:s = "1"输出:true示例 2:输入:s = "((1&1|1&0|1)|(1&1))"输原创 2021-06-10 09:18:14 · 1773 阅读 · 0 评论 -
使用POI实现word转html
一、maven依赖<!-- 针对2007以上版本的库 --><dependency> <groupId>org.apache.poi</groupId> <artifactId>poi-ooxml</artifactId> <version>4.1.2</version></dependency><!-- 针对2003版本的库 -->转载 2021-05-19 15:15:15 · 1625 阅读 · 0 评论 -
解决ClientGlobal.init(“绝对路径“)打完jar包出现文件路径找不到问题
翻阅网上已有文章,解决该问题的少之又少,虽然已有很多方案,但尝试后都失效,下面我将采用另外一种方式对该问题提供解决方案;我的解决思路是,当前该类只提供了这一种方法进行初始化,那么我们就自己实现一个,这个方法的本身意义也就是将配置文件中的配置加载到当前配置中去对已有的类中的方法进行修饰我们能很直观的想到可以采用装饰者模式进行对现在已有的功能进行装饰,增强现有类中的方法功能 首先我们需要知道,ClientGlobal.init他的内部方法其实是一个单例模式的简单实现,将构造方法设置成了私有化..原创 2021-04-25 15:24:47 · 1478 阅读 · 0 评论 -
@PostConstruct注解
@PostConstruct注解在业务开发时使用频率还是挺高的,但是要明白的是这是Java为我们提供的,非Spring.作用: 例如在做支付宝支付需要处理回调地址,测试正式并不一样,在写测试用例时也需判断,@PostConstruct注解在此时就可以解决该问题条件: 修饰非静态void方法加载时机: Servlet加载时运行,并且只会运行一次1.创建一个运行态变量2.引用该运行态变量在项目启动时我们可以看到在加油@PostCons...原创 2021-02-20 14:50:59 · 375 阅读 · 0 评论 -
使用HttpClient访问Https时发生 SSL:Certificate for <IP> doesn‘t match any of the subject alternative
/** * 解决https访问 * @return */ public CloseableHttpClient getCloseableHttpClient(){ SSLConnectionSocketFactory scsf = null; try { scsf = new SSLConnectionSocketFactory( SSLContexts.cust...原创 2020-12-29 10:37:35 · 1745 阅读 · 0 评论 -
Java使用smb方式解决访问共享文件向前端返回文件输出流解决方案
因业务需要,第三方提供图片为共享文件方式进行访问,具体解决方案如下:我的实现方式为,读取共享文件,将该文件流输出到Response后进行响应Java实现:public class SmbUtil { private static final Logger logger = LoggerFactory.getLogger(SmbUtil.class); /** * 使用smb获取文件输出到response * @param smbMachine smb原创 2020-11-25 11:27:28 · 913 阅读 · 0 评论 -
Get请求参数有斜杠或反斜杠接口访问不到问题
解决方案:可以将参数值进行Base64编码,到后台进行解码,即可避免该问题;Java实现public class CharacterUtil { private static final String ENCODING_TYPE = "UTF-8"; private static final Logger logger = LoggerFactory.getLogger(CharacterUtil.class); /** * 将目标字符转成base64编原创 2020-11-25 11:21:46 · 6501 阅读 · 1 评论 -
Java字符串排序(根据字节及字符长度进行排序)
因开发需要对一组sku的图片进行排序,排序字段为图片名,排序方式为升序,图片名命名规则: sku-图片数字序号.jpg 或 特殊字符-图片数字序号.jpg 或 中文.图片数字序号.jpg 等等 命名规则很乱,因为获取的是第三方的数据,但是不变的是图片数字序号前面的前缀,不同的sku中间的分隔符可能也会变,因此,我采用了将整个图片名进行排序,这样一组sku的图片只存在图片数字一个变量,其他为定量.首先说为什么要根据字节加长度进行排序,因为如果仅仅根据字节进行排序,当图片数字序号不再是个位数时,字...原创 2020-06-05 16:58:45 · 3217 阅读 · 0 评论 -
Java截取文件后缀名
String outImage = "a.jpg"; //获取最后一个.的位置 int lastIndexOf = outImage.lastIndexOf("."); //获取图片的后缀名 String suffix = outImage.substring(lastInde...原创 2020-04-25 17:51:19 · 2989 阅读 · 0 评论 -
天猫发布后台所在地数据
//省市 provs: [ { label: '北京', value: '北京', children: [ { prov: '北京', value: '北京', la...原创 2020-04-22 17:19:33 · 463 阅读 · 0 评论 -
Java中String的split方法对特殊字符不能匹配解决办法
因为项目中需要对文件路径进行分隔,可是在win下面使用符号"\"入参报错解决办法: 对特殊字符加上"\\"前缀\ -> \\\\(因为win下面文件分隔符用完转义就是 \\ )| -> \\|/ -> /...原创 2020-04-01 17:09:53 · 531 阅读 · 0 评论 -
mybatis使用IN字段传入参数
1.通过List<String> 进行传入参数list为参数集合名 <foreach item="item" index="index" collection="list" open="(" separator="," close=")"> #{item} </foreach>...原创 2020-03-16 18:03:09 · 6265 阅读 · 0 评论 -
com.alibaba.fastjson.JSONException: exepct '[', but {,
今天使用alibaba库中的fastjson时出现了一个问题,在解析数据时出现com.alibaba.fastjson.JSONException: exepct '[', but {,异常,查看json数据后发现其问题所在图中数据格式为数组中保存的对象,因此不能解析出现异常.解决办法://1.首先获取到该JSONObject JSONObject jsonObject = J...原创 2020-03-16 18:00:18 · 3664 阅读 · 0 评论 -
@PostConstruct注解的使用,解决向静态变量注入值
今天在编写工具类时遇到了一个问题,一般在定义工具类方时,我们会将工具类中的方法定义成static类型,使用时可以通过类名.方法名获取该方法,无需实例化出对象才能使用其内部方法,但是当有些参数在配置文件中定义时,我们需要拿到这些参数就需要在工具类方法使用@Value注解进行参数注入,但是@Value并不支持向static变量进行注入(spring并不推荐将变量或对象声明为static类型,因为这样扩...原创 2020-03-16 17:51:26 · 3298 阅读 · 0 评论 -
杂
判断集合结果集是否为空CollectionUtils.isEmpty()2.判断字符串是否为空StringUtils.isBlank()StringUtils.isNotBlank()3.高精度计算(BigDecimal)BigDecimal的概述 由于在运算的时候,float类型和double很...原创 2020-03-13 22:10:46 · 179 阅读 · 0 评论 -
mybatis插入完数据后返回主键id
因牵涉到多张表进行插入数据,后面插入需要前面插入的主键id,用于构建主外键关系,因此插入完数据后需要id回传将useGeneratedKeys属性设置为true keyProperty设置成主键id名<insert id="insertTmParentSystem" parameterType="com.tmao.entity.tmall.TableTmParentSyst...原创 2020-03-13 17:06:37 · 268 阅读 · 0 评论 -
springboot在yml中配置多个数据源
因项目多个库在不同服务器,一个数据源并不能满足正常需求,下面介绍springboot在yml文件中配置mysql多个数据源1.首先在yml文件中配置数据源的2.配置druid3.配置主节点的数据源package com.tmao.config;import com.alibaba.druid.pool.DruidDataSource;imp...原创 2020-03-12 17:28:00 · 8940 阅读 · 0 评论 -
使用fastjson读取100M左右的json文件
如果使用传统的读取文件,这样就相当于把100M的文件读取到内存,容易造成内存溢出,可以使用fastjson提供的JSONReader进行读取使用 /** * @param jsonPath json文件路径 * @param type 要格式化对象的class * @param <T> * @return */...原创 2020-03-11 16:15:43 · 1504 阅读 · 4 评论