
Java
houwanxing
这个作者很懒,什么都没留下…
展开
-
maven问题合集
1.没有办法下载jar包对应的sources文件在命令行执行如下语句mvn dependency:resolve -Dclassifier=sources原创 2022-03-24 16:51:18 · 452 阅读 · 0 评论 -
Stream API
Stream 是 Java8 中处理集合的关键抽象概念,它可以指定你希望对集合进行的操作,可以执行非常复杂的查找、过滤和映射数据等操作。 使用Stream API 对集合数据进行操作,就类似于使用 SQL 执行的数 据库查询。也可以使用 Stream API 来并行执行操作。简而言之, Stream API 提供了一种高效且易于使用的处理数据的方式。什么是Stream?Stream是数据渠道,用于操作数据源(集合、数组等)所生成的元素序列。集合讲的是数据,流讲的是计算。Strea原创 2022-03-23 10:48:39 · 390 阅读 · 0 评论 -
idea 常见问题
1.运行报错:Command line is too long.在该项目文件夹.idea/workspace.xml中找到 PropertiesComponent,然后在其中添加:<property name="dynamic.classpath" value="true" />2.maven无法下载源码,提示can not download source.用IDEA无法下载源码,可以在命令行项目根目录下,执行如下命令 :mvn dependency:resolve -Dc.原创 2021-07-05 11:20:56 · 323 阅读 · 0 评论 -
如何更好的进行非空判断
1.Objects2.Optional3.使用CollectionUtils4.使用Maps工具类5.使用StringUtils工具类原创 2020-12-01 15:08:18 · 281 阅读 · 0 评论 -
git分支开发模式如何进行代码合并?
1.通过git fetch获取最新的origin分支信息;2.本地通过git check out切换到当前需求分支;3.git push把本地变更推送到origin远端;4.如果origin master有变更,分支代码必须先进行merge操作;5.如果没有冲突,可以自动合并成功;如果有冲突,需要在当前分支对origin master进行git pull,把master最新内容pull到本地,解决冲突之后git commit,然后git push。...原创 2020-12-01 15:00:18 · 259 阅读 · 0 评论 -
Linux服务器日志检索
1.grep xxx a.log 普通检索2.zgrep xxx a.log 在压缩文件中检索3.grep -a xxx a.log 如果根据方式1检索出现‘Binary file a.log matches’之后,可以增加-a参数等同于文本文件处理4.grep -C nxxx a.log 在方式1的基础上前后检索n行...原创 2020-10-23 16:16:19 · 701 阅读 · 0 评论 -
mybatis调试怎么查看最终执行的sql语句
在org.mybatis.spring.SqlSessionTemplate类的invoke方法出打断点,就可以在sqlSession的executor中的delegate中的statementMap里看到要执行的sql语句,详细信息见下图。掌握这个技能,定位问题非常高效。原创 2020-08-04 18:08:19 · 29669 阅读 · 8 评论 -
SpringMVC实现导出Excel功能
//1.在controller需要做excel下载的方法中增加HttpServletResponse入参 public void export(HttpServletResponse response){ //2.从response中获取输出流,并设置输出流的格式 OutputStream output = response.ge...原创 2019-12-13 15:29:33 · 383 阅读 · 0 评论 -
在git bash中使用git rebase的流程
1.在需要rebase的分支先使用git status查看是否有未commit的代码;2.切换到本地的master分支,使用git pull把master更新到最新;3.切换回需要rebase的分支,使用git rebase -i master,-i是交互式rebase的选项,确认commit的message,选择第一个pick,剩下的改为s;4.如果rebase过程中有冲突,先解决冲...原创 2018-08-21 17:57:05 · 1064 阅读 · 0 评论 -
Web开发踩过的坑
1.接口url中包含advertiser关键字被adblock插件屏蔽导致接口failed通过浏览器的console发现报“net::ERR_BLOCKED_BY_CLIENT”,最终发现是adblock插件导致;教训是接口url中尽量避免出现advertiser相关的关键字,否则可能因为用户开启了adblock插件而导致部分接口访问失败;2.可变长参数和原生数组类型是等价的,如果接口传参是一...原创 2017-12-11 16:25:07 · 279 阅读 · 0 评论 -
服务器IO处理模型
目录背景单线程阻塞IO模型多线程阻塞IO模型背景本文主要从IO的阻塞与非阻塞,IO处理的单线程和多线程角度探讨服务模型。对于IO,可以分成阻塞IO和非阻塞IO两大类型。阻塞IO在做IO读写操作时会使当前线程进入阻塞状态,而非阻塞IO则不会进入阻塞状态。对于线程,单线程情况下由一条线程负责所有客户端连接的IO操作,而多线程情况下则由若干线程共同处理所有客户端连接的IO操作。下面将对线程和阻...原创 2019-04-16 19:47:22 · 494 阅读 · 0 评论 -
类加载以及实例化
Java类加载与实例化过程深入理解类加载机制原创 2018-06-17 10:45:09 · 235 阅读 · 0 评论 -
非空校验
1.String可以使用apache commons-lang3中的StringUtils.isEmpty和StringUtils.isBlank来判断null、“”、“ ”;其中isEmpty可以判断null和“”,而isBlank除了可以判断null、“”,还可以判断“ ”;也可以使用Google Guava中的Strings.isNullOrEmpty来判断null、“”;...原创 2018-06-07 16:46:34 · 2838 阅读 · 2 评论 -
Tomcat使用问题集锦
1.如何设置不加工程名访问?在conf文件夹下的server.xml文件中的Host节点中增加Context节点,其中path留空,docBase为解压以后的项目的绝对路劲;<Host name="localhost" appBase="webapps" autoDeploy="true" unpackWARs="true"> <!-- path留空代表访问域名后面...原创 2018-04-17 17:05:21 · 134 阅读 · 0 评论 -
Clean Code集锦
整洁代码的4个提示待完成。原创 2018-04-08 11:41:34 · 510 阅读 · 0 评论 -
Code Review集锦
从CODE REVIEW 谈如何做技术简单实用的CODE REVIEW工具 CODE REVIEW中的几个提示原创 2018-04-08 11:39:00 · 289 阅读 · 0 评论 -
SFTP搭建及文件上传
1.Centos 搭建SFTP服务器http://www.cnblogs.com/reed/p/5516474.html2.使用JSch连接sftp服务器http://www.tuicool.com/articles/3qymIb3原创 2017-06-08 15:27:49 · 448 阅读 · 0 评论 -
Java集合类型遍历和排序
1.Java集合Set、List、Map的遍历方法List的遍历 //List的第一种遍历方式:因为list有顺序,利用size()和get()方法获取 for (int i = 0; i < list.size(); i++) { System.out.println(list.get(i)); } //List的第二种遍历方式:利用Iterator原创 2017-03-28 11:56:48 · 1618 阅读 · 0 评论 -
Hibernate-validator校验框架使用
可以有两种使用方法:第一种:在要检验的Dto对象之前加@Valid注解,这种方法必须配合BindingResult参数一起使用,否则验证不通过就会返回400,并且抛出"org.springframework.validation.BindException"异常。第二种:将validation逻辑封装成工具类,使用工具类对dto进行校验,然后根据校验结果做响应的处理。原创 2017-03-09 09:59:59 · 5639 阅读 · 2 评论 -
工具类如何使用依赖注入其他组件
@Component //申明为spring组件 public class TestUtils { @Autowired private TestService testService; //添加所需service的私有成员 //关键点一 静态初使化一个工具类,这样是为了在spring初使化之前 private static Te转载 2016-12-13 12:39:47 · 3279 阅读 · 1 评论 -
Java使用jni以及dll
1.在linux环境中管理动态链接库在linux环境中编译完以后,在使用中报[cannot open shared object file: No such file or directory]错误时,可以使用ldconfig解决;原创 2018-04-17 17:11:03 · 154 阅读 · 0 评论 -
Linux问题集锦
1.在配置文件中必须使用/路径而不是~路径;原创 2018-04-17 18:55:40 · 131 阅读 · 0 评论 -
Java常见代码问题
1.潜在的NullPointerException因为链式调用方便而忽略可能存在的空指针问题;比如user.getId()在调用之前需要判断user!=null,这样的判断看似繁琐,但却是很必要的;2.数值对象类型的比较使用==数值对象之间的比较应该使用equals而不是==,因为==比较得到的结果是否是同一个对象;3.DateFormat的线程不安全性在日期类的工具类中,习惯性的静态初始化一个对...原创 2018-04-23 11:46:12 · 427 阅读 · 0 评论 -
Java不好的代码习惯
1.魔数一些没有注释且从命名上也看不出什么意思的数字常量或者字符串,很可能在过一段时间之后谁也不知道这个常量或者字符串代表什么意思。这个常量或者字符串就会被称为魔数。...原创 2018-04-12 15:28:38 · 327 阅读 · 0 评论 -
读写json文件并新增或覆盖其中的数据节点
1.json转MapMap map = JSON.parseObject(json); [使用fastjson]2.Map转jsonString json = JSON.toJSONString(map); [使用fastjson]3.读json文件File file = new File(filePath);String json = FileUtils.readFileToStr...原创 2018-04-12 09:59:52 · 4818 阅读 · 1 评论 -
Java静态导入
Java静态导入静态导入是JDK5.0引入的新特性要使用静态成员(方法和变量)我们必须给出提供这个静态成员的类,使用静态导入可以使被导入类的静态变量和静态方法在当前类直接可见,使用这些静态成员无需再给出他们的类名。原创 2016-06-02 15:21:51 · 2115 阅读 · 0 评论