avatar
文章
102
标签
50
分类
23

首页
归档
标签
分类
关于
haominglfs的博客
首页
归档
标签
分类
关于
SpringBoot异常处理
发表于2020-06-21|exception
统一异常处理 http://www.gxitsky.com/2019/01/30/springboot-app-38-global-exception-handle/ http://www.zhaojun.im/springboot-exception/ https://www.jianshu.com/p/9792846ee029 https://www.cnblogs.com/harrychinese/p/SpringBoot_exception_handler_best_practice.html
SpringSecurity
发表于2020-06-21|SpringSecurity
解决SpringSecurity手动退出登录后再次登录成功会重定向到登录界面的问题(https://www.jianshu.com/p/4a5061951c77) .and().logoutSuccessUrl("/") 设置session超时退出(https://www.cnblogs.com/zyly/p/12316099.html) server.servlet.session.timeout=1800 //session管理,失效后跳转 http.sessionManagement().invalidSessionUrl("/login"); SpringBoot中SpringSecurity 中不能抛出异常UserNameNotFoundException 问题解析与处理 https://juejin.im/post/5c432efce51d4551e653a77e https://www.jianshu.com/p/4a7654fa0bd3 https://blog.csdn.net/sun1021873926/article/detai ...
thymeleaf
发表于2020-06-21|thymeleaf
判断对象是否为空 使用 ${xxx?.xxx?} 可以判断对象是否为空,? 号 前的对象或者属性为空那么就不再进行渲染,而且不会导致出现报错的情况
idea热加载配置
发表于2020-06-07|idea
热加载方式 JRebel 收费,有点贵 Spring-Loader 不稳定 DCEVM+Hotswap Agent 免费(当然选择这种) DCEVM+Hotswap Agent下载DCEVMlatest release of DCEVM Java patch sudo java -jar DCEVM-8u181-installer-build2.jar 选择jdk安装目录,并点击”Install DCEVM as altjvm”按钮 下载Hotswap agent jarlatest release of Hotswap agent jar 放到任意目录 安装idea插件 HotSwapAgent 配置插件 以debug模式启动应用程序 测试修改代码或者添加新方法,点击编译 更多信息DCEVM & HotswapAgent参考https://github.com/dmitry-zhuravlev/hotswap-agent-intellij-plugin
java8学习
发表于2020-05-30|java
函数式 函数式接口就是只定义一个抽象方法的接口 函数式接口的抽象方法的签名称为函数描述符。 Predicate:java.util.function.Predicate接口定义了一个名叫test的抽象方法,它接受泛型T对象,并返回一个boolean。 Consumer:java.util.function.Consumer接口定义了一个名叫accept的抽象方法,它接受泛型T的对象,没有返回(void)。 Function:java.util.function.Function<T, R>接口定义了一个叫作apply的抽象方法,它接受泛型T的对象,并返回一个泛型R的对象。 DoublePredicate、IntConsumer、LongBinaryOperator、IntFunction、ToIntFunction、IntToDoubleFunction 流常用方法 filter 筛选 distinct 去重 (据流所生成元素的hashCode和equals方法实现) 切片 takeWhile 遭遇第一个不符合要求的元素时停止处理 dropWhile 它会从 ...
python学习
发表于2020-05-15
if__name__=='__main__' 在学习Python基础语法的时候,在程序最后经常会遇到这句话,这里简单解释下它的意义。总地来说,这句代码的作用是既能保证当前的.py文件直接运行,也能保证其可以作为模块被其他.py文件导入。 def getName(): print(__name__) if __name__ == '__main__': getName() //输出__main__ 这说明,__name__本身是一个变量,但它不是一般的变量。实际上,它是在程序执行前就创建并赋值的,而赋值的机制是这里的关键。在当前程序被当作主程序被执行的时候,__name__自动被赋值为固定的字符串__main__;当它作为模块被其他文件调用的时候,自动被赋值为模块所在的文件名。
java8时间API
发表于2020-04-30|java
Java8之前的日期时间API表示时刻信息的 DateDate的设计饱受诟病,其缺陷包括但不限于: 类名误导,该类实际上不仅反映日期,还反映时间 方法名误导,getDate()返回日期中的天,getDay()返回的是周几 年份是与1900年的差值,可读性极差 月份是从0计数的,可读性极差 周几是相对于周日的差值,可读性极差 不提供时区设置,内部总是使用本地时区 不提供历法设置,内部使用格里历或儒略历 不提供格式化的转换,从字符串中解析日期时相当难用 参数返回太随意,比如设置1月33日,实际是2月2日 存在同名类,java.sql包下依然有一个作用相同的Date类 该类允许扩展,实际上,应当把日期-时间类设计为不可变的final类 当前定位Date 的目前定位是,唯一表示一个时刻,现在的 Date 类中接近百分之八十的方法都已废弃,被标记为 @Deprecated。还有几个为数不多没有被废弃的方法: public long getTime() :返回内部存储的毫秒数 public void setTime(long time):重新设置内存的毫秒数 public boolean ...
ideaVim安装配置
发表于2020-04-29|idea
安装和安装其它插件一样,直接在插件市场搜索ideaVim安装即可。 配置快捷键设置ideaViim键与idea快捷键有冲突,可以在Editor Vim Emulation设置,我的快捷键设置如下: 常用快捷键 zo:打开折叠 zc:关闭折叠 .ideavim配置文件讲解逻辑开发过idea插件的人都知道,在idea中,任何目录选项上的点击操作,工具栏上的按钮都会被映射为一个action。即点击对应的按钮或者选项,执行相应的action。理解很简单,这就是MVC的思想,比如springmvc, 一个访问路径映射为一个控制器中的方法这样子。 明白action映射这一点很重要。因为ideavim的插件支持使用vim命令执行对应的action。所以,这个设计逻辑就打通了vim和idea的交互,使得我们可以在vim中完成所有和idea相关的操作。 常规操作vim的定位是文本编辑。所以在idea中一般情况下vim快捷键和命令生效的基本条件就是当前窗口焦点在编辑区。这是最基础的条件,如果你当前的快键键在Project或者Run这些侧边栏中,按vim的命令肯定是不会生效的。 明白了基本条件,那我 ...
ELK安装配置
发表于2020-04-16|日志
ELK常见架构Elasticsearch + Logstash + Kibana这是一种最简单的架构。这种架构,通过logstash收集日志,Elasticsearch分析日志,然后在Kibana(web界面)中展示。这种架构虽然是官网介绍里的方式,但是往往在生产中很少使用。 Elasticsearch + Logstash + filebeat + Kibana与上一种架构相比,这种架构增加了一个filebeat模块。filebeat是一个轻量的日志收集代理,用来部署在客户端,优势是消耗非常少的资源(较logstash), 所以生产中,往往会采取这种架构方式,但是这种架构有一个缺点,当logstash出现故障, 会造成日志的丢失。 Elasticsearch + Logstash + filebeat + redis(也可以是其他中间件,比如kafka) + Kibana这种架构是上面那个架构的完善版,通过增加中间件,来避免数据的丢失。当Logstash出现故障,日志还是存在中间件中,当Logstash再次启动,则会读取中间件中积压的日志。 filebeat安装部署 简介Fil ...
类图
发表于2020-04-06|java
集合类图 线程 IO字节输入流 FilterInputStream剖析这个类的特殊之处,就是包含了一个InputStream,使得可以在这个InputStream基础上进行多种封装,从而达到装饰的目的。 装饰者模式,顾名思义,是对原有类进行了一定的装饰,装饰后的类必须和原有的类拥有相同的方法,当然,可以在原有类的基础上进行扩展。 这里的装饰者模式通过包含一个原有的Inputstream对象,并且将InputStream原有的方法或直接暴露,或进行装饰后暴露,又或者添加了新的特性,如DataInputStream中的readInt(),BufferedInputStream中的缓存功能。 为什么InputStream选择装饰者模式,而非直接继承的方法来扩展,这就是装饰者模式VS继承。如果单纯的使用继承,就会造成类的“爆炸”式增长。 直接使用继承,可以实现“目的”和“方法”,但是每一种来源的输入流,都需要改善流读取方法,因此在使用继承时,每一个InputStream的子类都需要DataInputStream,BufferedInputStream这几个类提供的“装饰作用”的功能,因此 ...
jvm性能监控与调优
发表于2020-03-23|jvm
jvm参数类型 标准参数(jvm各个版本基本不变) ```shell-help-server-client-version-cp-classpath * X参数(非标准化参数,变化比较小) * ```shell -Xint 解释执行 -Xcomp 第一次使用就编译成本地代码 -Xmixed 混合模式,JVM自己来决定是否编译成本地代码 XX参数(用的比较多,主要用来JVM调优和debug) Boolean类型 格式:-XX:[+-]表示启用或者禁用name属性 -XX:+UseConcMarkSweepGC -XX:+UseG1GC 非Boolean类型 格式:-XX:= 表示name属性的值是value -XX:MaxGCPauseMillis=500 XX:GCTimeRatio=19 #-Xms -Xmx 属于XX参数 -Xms 等价于 -XX:InitialHeapSize -Xmx 等价于 -XX:MaxHeapSize 查看jvm运行时参数 ``&# ...
hexo使用总结
发表于2020-02-26|hexo
自定义域名 添加一条域名解析记录 在hexo的source文件夹中添加CNAME文件,内容为自己的域名 修改新建文章模版模版路径为hexo/scaffolds/post.md
123…9
avatar
haominglfs
A programmer's blog
文章
102
标签
50
分类
23
Follow Me
公告
This is my Blog
最新文章
springboot之bean别名2023-03-11
云计算之kvm2023-03-10
AssertJ2022-03-24
ceph部署2022-03-19
JUnit2022-03-09
分类
  • SpringSecurity1
  • ceph1
  • echart1
  • exception1
  • git1
  • hexo1
  • iTerm21
  • idea2
标签
jenkins ceph exception JUnit iTerm2配置 js高级程序设计 shell tomcat vue hexo bean 虚拟化 thymeleaf jvm nfs mysql java redis -echart -百度地图 effective-java mariadb 设计模式 windows 类图 java haproxy 浏览器 java8 时间 keepalived AssertJ hibernate rabbitMQ SpringSecurity svn kvm springboot 断言 Elasticsearch Logstash Kibana 工作 消息队列 热加载
归档
  • 三月 20232
  • 三月 20224
  • 十一月 20201
  • 十月 20203
  • 八月 20201
  • 七月 20201
  • 六月 20204
  • 五月 20202
网站资讯
文章数目 :
102
本站访客数 :
本站总访问量 :
最后更新时间 :
©2020 - 2023 By haominglfs
框架 Hexo|主题 Butterfly