![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java
WindwardBird
迎风的鸟飞向技术的丛林,热爱编码,有趣生活
展开
-
玩转 idea web启动和配置
前言在工作中难免会遇到使用idea,使用外置调试的web 项目,配置还是有点繁琐,记录一下,留存,方便自己也希望可以帮助到兄弟姐妹实操项目配置找到项目设置入口外加tomcat赶紧试试呗...原创 2021-11-20 15:52:09 · 306 阅读 · 0 评论 -
获取最近连续日期年月日
近一个月年月日获取 // i 取 7,15 ,30 即可获取仅一周,半月,一个月的 时间集合 List<String> recentTimeLIst = ArrayList<String>(); for (int i = 0; i <30 ; i++) { Calendar test = Calendar.getInstance...原创 2020-04-27 07:43:15 · 1344 阅读 · 0 评论 -
class not found
前言工作中出现的环境问题真让人头大,处理不讨好,今天就 类找不到分析一下问题溯源看看类的路径是否正确看看该类是否存在看看配置是否ok重新编译一下项目先分析切记病急乱投医,相信自己,成长的路上大部分需要自己走...原创 2021-06-10 07:26:54 · 144 阅读 · 0 评论 -
final 使用
前言 final 是Java的一个关键字众所周知,但是我们第一印象final修饰的不能改变,具体哪里不能改变,我们仅会尴尬一笑, 那今天咱们就好好研究一番,从此不尴尬使用位置final 可以使用在 类,方法, 变量代码演示//这是源码,说明类是可以用final修饰的public final class String implements java.io.Serializable, Comparable<String>, CharSequence { /原创 2021-05-09 09:38:30 · 189 阅读 · 0 评论 -
集合的交集,并集和虑重
前言集合大家最熟悉不过了,今天就演示几种情况交集(A与B去除交集后的A)需求:仅保留在集合A 不在集合B的集合public class Demo2 { public static void main(String[] args) { List<Integer> A = new ArrayList<>(); for (int i = 0; i <4 ; i++) { A.add(i); }原创 2021-04-22 21:42:19 · 269 阅读 · 0 评论 -
ClassPathResource 下载模板
代码@GetMapping("/downloadExcelTemplate") private boolean downloadTemplate(HttpServletResponse response) throws UnsupportedEncodingException { ClassPathResource classPathResource = new ClassPathResource("static/template/客户.xlsx"); respo原创 2021-03-20 14:40:03 · 928 阅读 · 3 评论 -
比较字符串和数组差异
前言比较字符串或者数组的是否完全一致,在日常项目中也有很多这样的需求,今天就提供一个简单的工具类代码思路:(修改场景,只能新增,不能减少)看看原来是否存在不存在不判断存在比长度,长度不一样返回长度相等或者大于原来的长度,进行字段内容匹配public class Demo3 { /** * 比较两个是否一样(不考虑顺序) * */ public static void main(String[] args) { String A = "原创 2021-03-20 14:31:12 · 693 阅读 · 2 评论 -
上传解析Excel
时间原因后补原创 2020-11-02 08:04:04 · 292 阅读 · 0 评论 -
RestTemplate 调用 MultipartFile
package com.sf.eaoms.service;import com.sf.eaoms.entity.CommonDto;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.beans.factory.annotation.Value;import org.springframework.core.io.ByteArrayResource;import org.原创 2021-03-11 23:16:17 · 623 阅读 · 2 评论 -
Redis 击穿、穿透和雪崩的理解
前言 redis 是一个基于内存以键值对(key、value)存储的数据库,常用来做缓存的中间件,有几个常见的业务名词一起来了解一下雪崩 场景:这真是一个很形象的概念,大家可以想象一下,打雪仗的雪球打到物体瞬间四射,以及电影里面一个喷嚏引起的雪山崩塌 概念:原本好好的缓存,瞬间全部失效 解决:化整为零,把key的有效期疏散,加随机数击穿 场景:举一个或许不恰当的例子,好好的电容因为电压过大被击穿,一个弹簧压力过大,无法反弹 概念:redis缓存刚开始起作用,因为压力流量过大导致的失原创 2021-03-06 17:15:23 · 269 阅读 · 4 评论 -
Jmeter压测秒懂
前言 目前企业项目对于代码的质量要求越来越高,很多都有代码评审,尤其是性能这一块,除了编码规范和自测接口功能外,自己 对自己的接口进行压测也是至关重要,同时也是督促自己提升的一个手段,接下来咱们就聊聊就jmetery压测接口快速上手,5分 钟你就可以完成,超值,超值下载官网:https://jmeter.apache.org/download_jmeter.cgi准备工作1.下载解压包展示2. 启动Jmeter打开bin文件,找到 ----> j原创 2021-02-07 16:50:00 · 440 阅读 · 0 评论 -
==与equals
前言==和equals 是我们经常用来作比较的,做判断常用的手段,那这两个又有什么差异呢,我感觉应从以下几个方面入手,彻底理解结论 应从应用的角度来分析,具体问题具体分析,看是是否重写equals,继续看下去,答案就会揭晓,感谢你的阅读,欢迎提出宝贵的意见,十分感谢误区认为 == 是比较大小equals 是比较地址 这种观念是错误的例子 public class Demo { public static void main(String[] args) { In原创 2021-01-28 22:26:39 · 160 阅读 · 0 评论 -
Java链式编程
前言所谓链式编程的确挺形象的,一直点下去就好了,代码看上去简洁干练两种写法------------------------Java返回自己---------------------------------public class User { private Integer age ; private String name; public Integer getAge() { return age; } public User setA原创 2021-01-15 08:21:49 · 150 阅读 · 0 评论 -
Oracle创建数据库及迁移命令
创建及迁移create user username identified by password; – 创建用户并设置密码grant connect,resource,dba to username ; – 赋值该用户DBA权限导出 exp 用户名/密码 @数据库ip地址:数据库端口(一般为1521) /orcl 文件地址 owner =数据库名exp usernam /pa...原创 2020-04-15 12:59:43 · 261 阅读 · 0 评论 -
java 时间格式
前言 在实际工作中我们会遇到各种时间格式的转换,经常写这个代码比较繁琐,提取一个简单的工具类,节省时间开发更高效代码案例/** * @Classname FormatTypeEnum * @Description 时间格式枚举 */public enum FormatTypeEnum { year("年","yyyy"), year_month("年月","yyyy-MM"), month_day("月日","MM-dd"), year_mont原创 2021-01-01 15:42:48 · 434 阅读 · 0 评论 -
Poi快速导出百万Excel,分多Excel导出
Poi快速导出百万Excel,分多Excel导出 直接用package com.windwardbird.util.exportExcel;import org.apache.commons.lang3.StringUtils;import org.apache.poi.ss.usermodel.Row;import org.apache.poi.ss.usermodel.Sheet;import org.apache.poi.xssf.streaming.SXSSFWorkbook;imp原创 2020-12-15 15:01:30 · 360 阅读 · 0 评论 -
Poi高效导出Excel模板
前言 项目中做报表,导入导出Excel,是常见也是不可或缺的功能,本文讲解导出Excel的写法,以及导出大数据量(50万起步)的优化方案Poi高效导出Excel模板public void exportExcel(){List<List<Object>> excelDataResult = new CopyOnWriteArrayList<>(new ArrayList<>()); //Excel对应行的数据 final String EXCE原创 2020-12-14 16:48:52 · 680 阅读 · 0 评论 -
Tomcat乱码
前言 不管是否有强迫症,就算是严谨,我们看到控制台或者日志里面乱码,总是不太舒服, 最主要的是不方便我们排查问题。 那么下面我们就乱码问题进行解决原因分析 乱码问题很烦人,但是病因却异常明显,输入输出的编码格式不一样,根本的原因是遇到汉字,会出现占两个方法和占三个字符的缘故,暗号对不上,那不乱套了解决方案1.第一步先从开发工具入手,配置输入输出为 UTF-8 编码格式2.或者在 pom 文件配置 <properties> <java.原创 2020-12-13 16:26:29 · 508 阅读 · 8 评论 -
Idea 搜索快捷键
双击shiftCtrl+Shift+F推荐 2 搜的更全更准原创 2020-12-03 14:20:43 · 118 阅读 · 0 评论 -
递归树实现 Java
前言 不管是传统项目还是互联网电商项目,都会用到递归调用,比如传统的部门 等级,或者说商品的菜单目录,递归是循环调用, 自己调用自己,两个问题比较明显,一个是效率问题,一个是一不小心就会导致OOM(Out Of Memory)思路 递归分两种,一个是内存递归,一个是数据库递归,当然练习时,可以两种都写写比较一下,但是不用多说内存的效率那是没得说, 接下来咱们就用代码实现一个递归代码/** * 实体类 * @Classname Recursion原创 2020-11-29 13:44:29 · 567 阅读 · 1 评论 -
execution使用
1.定义切点,切点只有两个参数 一个表达式 一个参数@Pointcut(value="表达标签(表达式)")表达标签 第一个根据注解匹配 @annotation 这个简单,有这个注解的就可以匹配第二个是根据 execution 表达是来,这个容易配错,导致的后果严重,毫不夸张的讲整个切面报废着重看一下 execution 的 正则匹配修饰符匹配public private protected修饰符 返回值 类路径 方法名(参数) 异常类型 匹配规则原创 2020-11-26 19:20:39 · 1167 阅读 · 0 评论 -
Java 切面增强版
前言众说周知,aop是oop思想的延续,是为了我们更好的程序的开发,更便于我们对技术及代码的维护。今天就利用aop来做一个日志的记录。废话不多说,上代码。代码package com.wind.sky.util;import com.wind.sky.annotation.LoggerRecord;import org.slf4j.Logger;import org.slf4j.LoggerFactory;import org.springframework.stereotype.Compo原创 2020-11-25 14:30:46 · 470 阅读 · 0 评论 -
idea快速入门实战
前言随着时间的推移,idea因其优秀的设计,导致越来越多程序员的青睐,很多使用eclipse的用户也逐渐加入idea的阵营,今天主要讲一讲idea的配置下载官网: https://www.jetbrains.com/idea/download/相关配置JDK的安装a.点击1处椭圆,在2处选择合适的开发环境,我这是Java的jdk8maven 的配置file --> Settingsa.在1处搜索框处输入要配置的信息mavenb.点击2处Maven对应的弹框按钮吧,弹出页面c.3原创 2020-07-26 12:12:52 · 1951 阅读 · 3 评论 -
mybatis使用及技巧
前言在敏捷开发的大背景下,很多项目由于时间紧,设计和考虑不太成熟,经常会遇到加逻辑,添加字段,所以Mybatis的使用就逐渐显现优势,并逐渐变成国内主流的Orm映射框架,主要的和数据库交互的工具,作为开发人员,可以去深究其思想,了解其源码,当最根本的就是使用,本文就把使用频繁的进行讲解,希望看完就可以立马上手标签讲解常用标签的讲解: 判断标签 if 语法格式 <if test=" "> XXXXXXX </if>原创 2020-10-29 08:01:25 · 297 阅读 · 0 评论 -
生成zip压缩包
import lombok.extern.slf4j.Slf4j;import java.io.*;import java.util.zip.ZipEntry;import java.util.zip.ZipOutputStream;/** * @Author windwardbird * @packageName * @time 2020/9/17 9:56 * @describeOfFunction: 生成zip */@Slf4jpublic class GenerateZ.原创 2020-10-25 14:48:02 · 507 阅读 · 2 评论 -
避免空指针的技巧
前言 空指针行业术语NPE,让人异常的头大,尽管很常见但有时候处理起来却异常地棘手, 下面推荐几种方法可以避免类似情况实例实例1:public class NPEPractise { public static void main(String[] args) { User user = new User(); if("wind".equalsIgnoreCase(user.getName())){ System.out.原创 2020-09-02 08:04:03 · 188 阅读 · 0 评论