
java
疯信子To
分享工作经验,不要用战术上的勤奋,掩盖战略上的懒惰
展开
-
减少那该死的像金字塔般的 if else 嵌套
不知大家有没遇到过像“横放着的金字塔”一样的if else嵌套:if (true) { if (true) { if (true) { if (true) { if (true) { if (true) { ...转载 2019-04-03 19:55:42 · 342 阅读 · 0 评论 -
为何 IntelliJ IDEA 比 Eclipse 更好?
争论有一些没有唯一正确答案的“永恒”的问题,例如,更好的是:Windows还是Linux,Java还是C#;谁更强大:Chuck Norris还是Van Damme。其中的一个Holy War便是Java和IDE的选择:有许多争论的话题是讨论它们哪个有更多的插件、快捷键等等。它们之间有太多的不同而很难决定什么才是最重要的。因此,人们都表示两个IDE在功能上都差不多,选择某一个则...转载 2019-04-03 20:08:28 · 273 阅读 · 0 评论 -
HashMap在Java1.7与1.8中的区别
基于JDK1.7.0_80与JDK1.8.0_66做的分析JDK1.7中使用一个Entry数组来存储数据,用key的hashcode取模来决定key会被放到数组里的位置,如果hashcode相同,或者hashcode取模后的结果相同(hash collision),那么这些key会被定位到Entry数组的同一个格子里,这些key会形成一个链表。在hashcode特别差的情况下,比...转载 2019-04-03 20:14:32 · 136 阅读 · 0 评论 -
java中stream处理
JAVA8中引入了lamda表达式和Stream接口。其丰富的API及强大的表达能力极大的简化代码,提升了效率。下面记录下stream处理功能Person只是简单的实体类@Datapublic class Person { private Integer id; private String name; private String sex;...原创 2019-04-23 14:55:31 · 156 阅读 · 0 评论 -
Java8 parallelStream浅析
JAVA8中引入了lamda表达式和Stream接口。其丰富的API及强大的表达能力极大的简化代码,提升了效率,同时还通过parallelStream提供并发操作的支持,本文探讨parallelStream方法的使用。首先看下java doc中对parallelStream的定义。 A sequence of elements supporting sequential and par...转载 2019-04-23 15:05:51 · 1007 阅读 · 0 评论 -
ab性能分析工具
工作场景中偶尔会使用ab测试工具,下面记录下常用操作ab -n 100 -c 10 -p 'test.json' -T 'application/json' 'http://localhost/test'参数说明:-n 总请求数次数-c 并发次数-p: post参数文档路径-T: header头内容类型上面返回参数备注:Requests per secon...原创 2019-06-19 20:20:57 · 461 阅读 · 0 评论 -
记录下 IDEA生成Javadoc
最近写了一个工具类,生成的对应的javadoc文档记录下打开idea中在 "Tools->Gerenate JavaDoc” 中注意生成编码格式:-encoding utf-8 -charset utf-8以上来源参考:https://blog.youkuaiyun.com/caroline_wendy/article/details/46779719...转载 2019-06-26 10:51:38 · 405 阅读 · 0 评论 -
设计模式
引子设计模式是很多程序员总结出来的最佳实践。曾经在刚开始写项目的时候学习过设计模式,在开发过程中,也主动或者被动的使用过。现在写代码虽说不会特意明确在用哪种设计模式,但潜移默化的写出来公认的最佳实践代码,毕竟看的比较清爽。为什么再看一遍设计模式,主要有几个原因:第一,很多优秀的源码基本都使用了设计模式,明确设计模式能够更好的看源码。第二,很多中间件设计理念也是基于设计模式的,还有其他的语言,都...转载 2019-07-12 17:14:49 · 105 阅读 · 0 评论 -
maven去掉项目版本号
记录下maven打包jar文件名里带有版本号,比如dmeo-1.0-SNAPSHOT.jar。如果想要去掉版本号,打开项目pom.xml文件,然后添加<build> <finalName>需要打包资源文件名</finalName></build>...原创 2019-07-15 15:48:49 · 335 阅读 · 0 评论 -
Spring事务总结
1 什么是事务1 保证一组操作,要么全部成功,要么全部失败2 事务的特性提到事务特性,肯定会想起ACID特性.原子性(Atomicity): 事务是最小的执行单位,不允许分割。事务的原子性确保动作要么全部完成,要么完全不起作用;一致性(Consistency): 执行事务前后,数据保持一致;隔离性(Isolation): 并发访问数据库时,一个用户的事物不被其他事物所干扰,...原创 2019-08-09 18:18:14 · 247 阅读 · 0 评论 -
JDK 1.8(DateUtil)时间帮助类
看阿里java 开发规范中是这样描述的记录JDK 1.8 时间处理的工具类。代码如下开发工具IDEA记得安装(lombok 插件)package me.zf.simpleboot.common.utils;import lombok.Value;import lombok.experimental.UtilityClass;import lombok.extern.slf4j.S...原创 2019-09-22 23:07:01 · 693 阅读 · 0 评论 -
idea 中maven出现 Unable to import maven project: See logs for details
使用 idea 2018, maven版本使用apache-maven-3.6.2。一直不下载jar包出现如下错误1) No implementation for org.apache.maven.model.path.PathTranslator was bound. while locating org.apache.maven.model.path.PathTranslator...原创 2019-10-10 23:04:34 · 229 阅读 · 0 评论 -
IntelliJ IDEA 如何删除自定义的 Maven 骨架
IntelliJ Idea中添加Maven Archetype,但是IntelliJ Idea中并没有提供删除的方法。windows中可以通过下面方式删除Maven 骨架可以使用Everything全局搜索,然后删除UserArchetypes.xml中对应的就可以...原创 2019-03-28 19:35:41 · 2760 阅读 · 1 评论 -
单体架构
背景在开发服务端企业应用时,应用需要支持各种不同类型的客户端,比如桌面浏览器、移动浏览器以及原生移动应用。应用还需要向第三方提供可访问的API,并通过Web Service或者消息代理与其它应用实现集成。应用通过执行业务逻辑、访问数据库、与其它系统交换信息、并返回一条HTML/JSON/XML响应,来处理请求(HTTP请求与消息)。应用采用多层架构或者六角架构,主要由以下几类不同组件构成:...转载 2019-04-04 10:55:36 · 835 阅读 · 0 评论 -
Java 12 正式发布了!
自 2 月 7 日开始,Java 12 / JDK 12 就进入了 RC 阶段。按照发布周期,美国当地时间 3 月 19 日,也就是今天——Java 12 正式发布了!Java 12新特性Java 12 带来了一系列新特性:189 Shenandoah: A Low-Pause-Time Garbage Collector (Experimental) 低暂停时间的 GC...转载 2019-03-22 17:22:26 · 141 阅读 · 0 评论 -
java线程安全类时间处理
SimpleDateFormat是线程不安全,关于时间处理推荐进行如下,如果是jdk低于1.7用:public final static String DATE_PATTERN = "yyyy-MM-dd";private static ThreadLocal<DateFormat> threadLocal = new ThreadLocal<DateFormat>...原创 2018-07-27 14:50:04 · 4326 阅读 · 0 评论 -
spring boot test错误
java.lang.IllegalStateException: Unable to find a @SpringBootConfiguration, you need to use @ContextConfiguration or @SpringBootTest(classes=...) with your test主要问题没有找到对应的启动类配置附加到应用程序类@RunWit...原创 2018-09-29 11:32:31 · 1229 阅读 · 0 评论 -
jdk1.8中Lambda用法
1 使用jdk1.8 object转换为其他类型的工具类替换原来的String.valueOf(111); //转换为字符串jdk1.8使用方法@FunctionalInterfacepublic static interface Converter<F, T> { T convert(F from);}//转换object为String的方法public...原创 2018-10-22 17:49:25 · 456 阅读 · 0 评论 -
http 状态码总结
http状态码总结1XX 信息100 Continue :表明到目前为止都很正常,客户端可以继续发送请求或者忽略这个响应。2XX 成功 200 OK 204 No Content :请求已经成功处理,但是返回的响应报文不包含实体的主体部分。一般在只需要从客户端往服务器发送信息,而不需要返回数据时使用。 206 Partial Content :表示客户端进行了范...转载 2018-11-19 16:00:38 · 112 阅读 · 0 评论 -
开源项目kkFileView部署在linux问题
关于文档在线浏览网上有以下三种解决方法:1.flash 的flexpaper 将文档转换为swf格式,然后使用flash在网页中浏览,2.使用开源的软件openoffice+pdf2htmlEx,利用openoffice的接口先将文档转换为pdf格式,然后在使用pdf2htmlEx将文档转换为html直接在网页中显示,3.自己搭建一个文档预览服务器,基于office web app,也...原创 2018-11-26 16:22:01 · 6112 阅读 · 0 评论 -
java发送outlook邮件
记录下发送outlook邮件Exchange Web服务(EWS)Java API提供了一个托管接口,中文文档地址为https://docs.microsoft.com/zh-cn/exchange/client-developer/exchange-web-services/get-started-with-ews-managed-api-client-applications首...原创 2018-11-28 17:02:50 · 9376 阅读 · 4 评论 -
记录关于sso(基于cookie)登录问题
HTTP设置cookie时,提供了2个属性,可以增强cookie的安全性,分别是secure属性和httpOnly属性。secure属性可防止信息在传递的过程中被监听捕获后导致信息泄露,如果设置为true,可以限制只有通过https访问时,才会将浏览器保存的cookie传递到服务端,如果通过http访问,不会传递cookie。httpOnly属性可以防止程序获取cookie,如果设置为...原创 2018-12-13 15:30:01 · 868 阅读 · 0 评论 -
poi 读取excel合并单元格两种方式
说明: excel合并是用选择的两个或更多单元格创建一个单元格的过程。合并单元格时,如果有多个选择的单元格包含数据,则将保留左上角或右上角(取决于当前的视图方向)单元格中的数据,并删除其余的所有数据。操作方法: 1 首先创建三个单元格,填充的数据都一致2 然后再空白地方创建合并单元格,然后选择合并的单元格格式刷就可以对A1:B1:C1进行格式化操作上面就可以完成格式化操...原创 2018-12-06 16:00:17 · 22767 阅读 · 1 评论 -
SpringBoot 2.0+prometheus+Grafana
1 Spring boot 2.0集成prometheuspom文件对应的application.yml文件注意事项这边使用的是spring-boot 2.1.3这个版本,如果是其他spring-boot版本prometheus1.1.3可能出现某些错误,暂时不具体分析具体原因了。关于spring-boot-starter-actuator可以参考我以前写的文章(http...原创 2019-03-12 16:04:55 · 2873 阅读 · 1 评论 -
IDEA 2018导入Spring5.0 源码分析
最近研究下spring 5.0(5.1.6.BUILD-SNAPSHOT)源码,记录下 IDEA编译源码1 环境准备本人使用windows 7系统,gradle -4.10.2,spring使用的版本5.1.6.BUILD-SNAPSHOT。下载地址https://github.com/spring-projects/spring-frameworkIDEA的版本注...原创 2019-03-14 16:54:44 · 1508 阅读 · 0 评论 -
Java 安全问题修复
1 修复登录之后session id不改变的问题public static void reGenerateSessionId(HttpServletRequest request){HttpSession session=request.getSession();Map<String,Object> tempMap= Maps.newConcurrentMap();En...原创 2018-07-17 09:59:34 · 529 阅读 · 0 评论