随笔分类 - java
秒转时分秒
摘要:代码: public static void main(String[] args) { //秒 转 时分秒 long srcSecs = 2370; long hours = srcSecs / 3600; long mins = (srcSecs % 3600) / 60; long secs
阅读全文
xss攻击防范转义处理
摘要:1:xss攻击原理说明 这里不再详细参数,简单说一下,就是前端提交了可执行的js等脚本,存储到数据库,页面再次加载时获取到该脚本执行了脚本内容就发生了脚本注入。 2:处理办法 转义提交字符 3:代码逻辑原理 利用过滤器,重写参数获取方法,对参数进行转义。 4:代码 4.1 xss转义包装类(重写ge
阅读全文
并行流parallelStream 替换默认线程池commonPool
摘要:java8引入了stream流和并行流,极大的简化了多线程的操作,但是有一点要注意,parallelStream和completablefuture默认都是使用commonPool,参考源码:ForkJoinPool.commonPool(); 项目所有流操作都是共享该池,当频繁的用于阻塞型任务(I
阅读全文
spring 重复注解和aop拦截
摘要:前言: 1:jdk1.8开始支持重复注解@Repeatable实现 2:aop拦截需要拦截当前注解和@Repeatable指向的包装注解才可以完全拦截到,因为:1.当在在方法上只有一个注解时,aop拦截认为是非包装类型注解。2.当方法上有多个重复注解时,aop拦截认为是包装类型注解。 重复注解实现方
阅读全文
spring aop @AfterThrowing用法
摘要:@Around用法 @Around(value = "pointcut()") public Object around(ProceedingJoinPoint joinPoint) throws Throwable { return joinPoint.proceed(); } @AfterThr
阅读全文
windows win10 win7 启动停止rabbitmq命令
摘要:前言: 1:首先需要安装erlang语言环境和rabbitmq服务端安装包(都是傻瓜式一直下一步即可)。 2:创建2个bat文件方便以后一键启动、停止。 启动命令(文件结尾记得换行避免最后一行命令未执行): cd C:\Program Files\RabbitMQ Server\rabbitmq_s
阅读全文
spring下使用webservice调用版本设置问题
摘要:soap版本有1.1和1.2,比较常见的是1.1版本 而spring的new WebServiceTemplate()方法,默认会强制指定webservice的版本为1.1。那么1.2版本的接口将不能请求 未指定webservice版本时,默认会调用MessageFactory.newInstanc
阅读全文
java8 Lambda 获取方法引用的方法名
摘要:用过mybatis plus都知道,使用LambdaQueryWrapper可以直接引用类的方法,非常的方便,其原理是使用序列化lambda和反序列化。但是有更简单的获取方式 人狠话不多,直接上代码!!!!!!!(以下代码为根据参考的文章进行了优化调整。参考文章:https://blog.csdn.
阅读全文
git idea CRLF LF 编码问题,解决保存时自动更改换行符
摘要:1:检查git配置。 确保git的全局配置、系统配置保持一致的crlf,比如:autocrlf = true #我公司要求autocrlf = false,建议用true较好,网上普遍都是true。 说明:autocrlf = false 表示文件文件换行符和当前系统保持一致。 autocrlf =
阅读全文
SpringCloud中Service类注入同服务下(@Feign)api接口不走http的解决方案
摘要:使用@Autowired会直接注入feign代理类。正常情况下同一个服务内不需要再次走http。 解决方案: 1:使用@Qualifier获取。 @Autowired @Qualifier("xxx")2:使用@Resource(name = "xxx")3:写一个新的接口,或者内部类接口,继承该f
阅读全文
记一则dubbo调用失败的解决方法
摘要:异常信息: RpcException: Forbid consumer 可能性: 1:zookeeper可能注册错误,检查zookeeperI的ip是否正确。 2:代码问题导致没注册到dubbo上。如果部分接口能够调用,并且你写的接口类是新加的,很可能是这个原因。(本次问题原因如此,RpcConfi
阅读全文
springboot设置随机端口
摘要:在yml里面配置随机端口如下: server: port: ${random.int[10000,19999]}如果在配置其他地方要使用该端口是可以使用占位符代替如下: config: localhost:${server.port}
阅读全文
java HttpServletRequest 重复流读取
摘要:在用reset接口的时候,常常会使用request.getInputStream()方法,但是流只能读取一次,一旦想要加上一个过滤器用来检测用户请求的数据时就会出现异常。 在过滤器中通过流读取出用户post提交过来的数据,这是流已经读取了一次,那么该流就已经作废了,所以在contorller再次读取
阅读全文
freemarker list集合去重,实现hashset
摘要:在freemarker中没有提供去重的方法,虽然有提供定义hash的方法,如:<#assign myHash = { "name": "mouse", "price": 50 }>,但是不能够动态构建hash。 通常我们会在java代码中进行处理,比如使用set集合、map对象处理。 但是如果一定要
阅读全文
freemarker特殊字符输出
摘要:期望输出: #{fefefefwewrerwerwrrrre}${fffqqqwwwwwwwwwwwwwwww} 但是以上解析ftl时候会报错!!!!!!!!!!!!解决办法:方法1:使用${r""}标签处理,比如:${r"#"}{fefefefwewrerwerwrrrre}${r"$"}{fff
阅读全文
idea java 注释模板配置
摘要:在网上找了好久,好多的文章都有一个共同的病点就是“@param注释当有多个参数时候,全部放在了一行里面”,非常不友好。 以下是我整理好的,完全按照eclipse的注释风格。 !!!先看最后实现的效果图,如下:(eclipse代码的“作者”、“时间”放在同一行,idea分开两行,这个不影响,可以自行调
阅读全文
IntelliJ IDEA使用eclipse compiler(ecj)解决lombok编译问题
摘要:先说一下javac编译器的配置方式:-javaagent:D:\lombok.jar 下面是eclipse编译器配置方式: 1:为什么要使用在idea使用eclipse compiler(ecj)? 因为idea默认使用javac,而javac当在编译时发现一个编译错误就直接停止编译了。而ecj支持
阅读全文
通过java反射机制,获取对象的属性和值(包括所有继承的父类)
摘要:java的反射机制提供了两种方法: getDeclaredFields() :该方法能获取到本类的所有属性,包括private,protected和public,但不能获取到继承的父类的属性。 getFields():既能获取本类的属性也能得到父类的属性,但仅仅能获取public修饰的字段。 如果用
阅读全文
jdk11 eclipse下开启ZGC
摘要:平台支持 ZGC目前只在Linux/x64上可用,如果有足够的需求,将来可能会增加对其他平台的支持。 对的,目前只支持64位的linux系统。 -_-' Heap Size 通过 -Xmx10g 进行设置。 -Xmx是ZGC收集器中最重要的调优选项,大大解决了程序员在JVM参数调优上的困扰。ZGC是
阅读全文
maven笔记
摘要:package命令完成了项目编译、单元测试、打包功能,但没有把打好的可执行jar包(war包或其它形式的包)布署到本地maven仓库和远程maven私服仓库install命令完成了项目编译、单元测试、打包功能,同时把打好的可执行jar包(war包或其它形式的包)布署到本地maven仓库,但没有布署到
阅读全文