Java基础
集合、多线程
yzq-3841
光荣在于平淡,艰巨在于漫长
展开
-
二维码生成工具类(可自带logo)
import com.google.zxing.BarcodeFormat;import com.google.zxing.EncodeHintType;import com.google.zxing.MultiFormatWriter;import com.google.zxing.common.BitMatrix;import com.google.zxing.qrcode.decoder.ErrorCorrectionLevel;import javax.imageio.ImageIO;原创 2021-05-25 21:26:02 · 463 阅读 · 0 评论 -
java项目的快速搭建
java项目的快速搭建搭建springboot+jsp的项目tomcat项目的创建springboot项目的快速搭建:然后一路next就可以了pom.xml文件的常见包:<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi原创 2021-04-28 21:03:26 · 275 阅读 · 0 评论 -
sql查询日期相关知识
mysql查询日期的相关知识CURRENT_DATE(),NOW(),DATE_FORMAT()函数查询当天、本周,本月、上一个月的数据MySQL日期 字符串 时间戳互转CURRENT_DATE(),NOW(),DATE_FORMAT()函数datetime类型范围:1000-01-01 00:00:00 ~ 9999-12-31 23:59:59 【格式:yyyy-MM-dd HH:mm:ss】timestamp类型范围:1970-01-01 08:00:01 ~ 2038-01-19 11:14转载 2021-04-24 10:52:06 · 806 阅读 · 0 评论 -
idea打包更新部署项目
idea打包选择需要打包的模块输入打包命令:mvn clean package -D maven.test.skip=true打包成功后会在target目录下见到一个jar包。原创 2021-03-13 10:11:36 · 328 阅读 · 0 评论 -
git常见问题
如何将idea本地已有的新项目完整提交到gitlab上参考文章从远程仓库更新代码到本地以及上传代码到远程仓库转载 2021-03-06 11:35:51 · 63 阅读 · 0 评论 -
16种常用的Java工具类
16种常用的Java工具类org.apache.commons.io.IOUtilsorg.apache.commons.io.FileUtilsorg.apache.commons.lang.StringUtilsorg.apache.http.util.EntityUtilsorg.apache.commons.io.IOUtilscloseQuietly() toString() copy() toByteArray() write() toInputStream() re转载 2021-03-01 20:28:38 · 290 阅读 · 0 评论 -
Cookie和Session
Cookie和SessionSessionCookieCookieUtil工具类SessionUtil工具类cookie 数据存放在客户端浏览器上,session 数据存放在服务器上cookie 不安全,可以人为的获取 cookie 信息session 保存在服务器上,占用服务器资源,影响服务器性能单个 cookie 在客户端的限制为 3k,session 的存储依赖于内存session 依赖与 cookie 实现Sessionweb服务器维护每一个用户的sessionId 和 用户对应原创 2021-03-01 20:14:52 · 108 阅读 · 0 评论 -
List集合
List集合排序、去重list集合自定义排序list去重list集合自定义排序import java.util.ArrayList;import java.util.Collections;import java.util.List;public class ListSort { public static void main(String[] args) { List<Account> list = new ArrayList<>();原创 2021-02-25 20:00:10 · 208 阅读 · 2 评论 -
Redis客户端工具-AnotherRedisDesktopManager
Redis客户端工具日常开发过程中,项目常常都会使用Redis来做缓存或者Session服务器,为了更直观方便,开发者常常会使用一些可视化工具,如 Redis Desktop Manager、Redis Clent等,但界面UI做得不尽人意,作为当今时代,对软件的UI还是有所期待的,今天给大家分享一款,高颜值、功能强大的Redis客户端工具。AnotherRedisDesktopManager一个更快、更好、更稳定的redis桌面管理工具,可以运行于Linux、Windows、Mac三大平台,并且当加原创 2021-02-10 22:32:50 · 817 阅读 · 0 评论 -
微信红包分配算法
微信红包分配算法public class RedPackageUtil { //设置金额限额 private static final float MINMONEY = 0.01f; private static final float MAXMONEY = 200f; /** * 判断金额是否合法 * @param money 总金额 * @param count 红包个数 * @return */ privat转载 2021-02-08 22:08:54 · 745 阅读 · 0 评论 -
DateUtil常用的Api接口函数
DateUtil常用的Api接口函数public class DateUtil { public static final String YYYYMMDD = "yyyyMMdd"; public static final String YYYYMMDD1 = "yyyy-MM-dd";// public static final String YYYYMMDDHHMMSS1 = "yyyy-MM-dd HH:mm:ss"; /** * 按自定义日期格式格式化原创 2021-01-28 21:05:12 · 335 阅读 · 0 评论 -
遍历集合的几种方式
遍历集合的几种方式List集合的四种遍历方式List集合的四种遍历方式 List list=new ArrayList<>();(1)集合的迭代器遍历。 Iterator<String> it=list.iterator(); while (it.hasNext()){ System.out.println(it.next()); }(2)增强for循环。for (String ele:list){ System.out.println(el原创 2021-01-23 10:35:24 · 330 阅读 · 0 评论 -
Lambda表达式详解
Lambda表达式详解对接口的要求遍历集合语法形式为 () -> {},其中 () 用来描述参数列表,{} 用来描述方法体,-> 为 lambda运算符 ,读作(goes to)对接口的要求Lambda 规定接口中只能有一个需要被实现的方法,不是规定接口中只能有一个方法@FunctionalInterface#修饰函数式接口的,要求接口中的抽象方法只有一个。 这个注解往往会和 lambda 表达式一起出现。/**多参数无返回*/@FunctionalInterfacepublic原创 2020-12-30 15:43:05 · 61 阅读 · 0 评论 -
ArrayList删除元素时报错
ArrayList删除元素时报错在使用remove方法对ArrayList进行删除操作时,报java.util.ConcurrentModificationException异常。import java.util.ArrayList; 2 import java.util.List; 3 4 public class Test { 5 6 public static void main(String[] args) { 7 // TODO Auto-generat原创 2020-12-30 15:32:19 · 452 阅读 · 1 评论 -
值传递
值传递基本数据类型基本数据类型基本数据类型、以及包装类型(Integer、String)都是数据值传递引用数据类型,是内存地址值的传递。public class Test { public static void main(String[] args) { int num1 = 1; int num2 = 2; numTrasfer(num1,num2); System.out.println(num1); 1原创 2020-12-25 11:28:48 · 83 阅读 · 0 评论 -
HashMap集合扩容原理
HashMap集合扩容原理在 HashMap 中,提供了一个指定初始容量的构造方法 HashMap(int initialCapacity),这个方法最终会调用到 HashMap 另一个构造方法,其中的参数 loadFactor 就是默认值 0.75f。public HashMap(int initialCapacity, float loadFactor) { if (initialCapacity < 0) throw new IllegalArgumentException("原创 2020-12-24 18:03:00 · 161 阅读 · 1 评论 -
验证码工具类
验证码工具类RandomCode工具类Controller层RandomCode工具类import java.awt.*;import java.awt.image.BufferedImage;import java.util.Random;/** * 获取验证码的工具类 */public class RandomCode { public static String strCode = null; static final char[] CHARS = { '2', '3原创 2020-12-24 17:35:34 · 100 阅读 · 0 评论 -
JSON工具类
import com.fasterxml.jackson.core.JsonProcessingException;import com.fasterxml.jackson.core.type.TypeReference;import com.fasterxml.jackson.databind.DeserializationFeature;import com.fasterxml.jackson.databind.ObjectMapper;import javax.servlet.http.Ht原创 2020-12-23 11:46:39 · 99 阅读 · 0 评论 -
一个文件压缩工具类
一个文件压缩工具类public class FileUtils { /** * 压缩文件 * * @param sourceFilePath 源文件路径 * @param zipFilePath 压缩后文件存储路径 * @param zipFilename 压缩文件名 */ public static void compressToZip(String sourceFilePath, String zipFilePat原创 2020-12-25 16:32:45 · 51 阅读 · 0 评论 -
定义一个简单的枚举类
定义一个简单的枚举类/** * 状态枚举类 */public enum EnumStatus { /** * 进行中 */ PROCESSING(1, "进行中"), /** * 未开始 */ NO_START(2, "未开始"), /** * 已结束 */ IS_OVER(3, "已结束"), /** * 未达标 */ NO_QUALIFY(4, "未达标原创 2020-12-05 10:56:46 · 145 阅读 · 0 评论 -
从服务器上下传资源
从服务器下载资源文件上传文件上传 @RequestMapping(value = "/download") public void download(HttpSession session, String id, HttpServletRequest request, HttpServletResponse response) { if (StringUtils.isNotBlank(id)) { Attachment attachment = attac原创 2020-12-30 16:51:57 · 106 阅读 · 0 评论 -
java将多个文件压缩 导出
java将多个文件压缩 导出zipUtil工具类调用zipUtil工具类package com.example.config;import java.io.*;import java.net.URLEncoder;import java.util.List;import java.util.zip.ZipEntry;import java.util.zip.ZipOutputStream;import javax.servlet.http.HttpServletResponse;publ原创 2020-12-04 13:11:14 · 600 阅读 · 0 评论 -
下拉框表单的回显处理
下拉框表单的回显处理view.jsp<form action="welcome.jsp" method="post" id="form"> <select name="flag" id="flag"> <option value="1">开放</option> <option value="2">关闭</option> </select>原创 2020-12-04 10:24:27 · 648 阅读 · 0 评论 -
poi替换生成word 并进行拼接 --XWPFDocument 合并的优化处理
poi生成word --XWPFDocument 合并的优化处理未优化前的mergeWord方法优化后未优化前的mergeWord方法 //两个对象进行追加 public XWPFDocument mergeWord(XWPFDocument document,XWPFDocument doucDocument2) throws Exception { XWPFDocument src1Document =document ; XWPFParagraph p原创 2020-12-05 10:07:02 · 2735 阅读 · 1 评论 -
多线程核心
多线程Thread类的常用方法:currentThread(), isAlive()判断当前线程是否存活。 sleep(long millis)方法StackTraceElement[] getStackTrace() 返回一个表示该线程堆栈跟踪元素数组。Static void dumpStack() 是将当前线程的堆栈跟踪信息输出至标准错误流;Static Map<Thread,StackTraceElement[]> getAllStackTrace()getId() 用于获原创 2020-11-17 22:15:26 · 265 阅读 · 1 评论 -
带你快速掌握Redis入门基础知识
Redis入门基础知识今日内容Redis今日内容1. redis 1. 概念 2. 下载安装 3. 命令操作 1. 数据结构 4. 持久化操作 5. 使用Java客户端操作redisRedis1. 概念: redis是一款高性能的NOSQL系列的非关系型数据库 1.1.什么是NOSQL NoSQL(NoSQL = Not Only SQL),意即“不仅仅是SQL”,是一项全新的数据库理念,泛指非关系型的数据库。 随着互联网web2.0网站的兴起,传统的关系数据库在应付w转载 2020-09-04 22:35:38 · 122 阅读 · 0 评论 -
输入输出流的一个小demo
Java输入输出流的一个小demo输入流:InputStream(字节输入流的基类-抽象类)、Reader(字符输入流的基类-抽象类)输出流:OutputStream(字节输出流的基类-抽象类)、Writer(字符输出流的基类-抽象类)关闭和刷新:flush:刷新缓冲区、流对象可以继续使用close:先刷新缓冲区、通知系统释放资源、关闭流对象,无法继续写出数据;public class StreamDemo{ public static void main(String[] args)原创 2020-09-04 22:32:39 · 186 阅读 · 0 评论 -
超精简的Java常用工具类
Java常用工具类1. jdbcutils2.JedisUtils3. DateUtils4.UuidUtils5.MailUtils(邮件工具类)6. Md5Utils1. jdbcutilspackage cn.itcast.util;import com.alibaba.druid.pool.DruidDataSourceFactory;import javax.sql.DataSource;import java.io.IOException;import java.io.Input原创 2020-09-03 09:30:30 · 106 阅读 · 0 评论 -
带你快速了解多线程
带你快速了解多线程1、并发与并行2、线程与进程3、如何创建一个多线程3.1 多线程的运行原理:3.2 Thred类的常用方法3.3 实现Runnable 接口3.3 匿名内部类的方式实现线程的创建4、线程安全问题:4.1 多线程安全问题的原理分析:4.2 线程同步技术解决线程安全问题4.3 同步代码块的原理4.4 线程的状态4.5 等待唤醒(线程之间的通信)4.6 等待唤醒机制(线程间的通信)5、线程池:1、并发与并行并发:两个或者多个事件在同一时间段发生(交替执行)并行:两个或者多个事件在同一时刻原创 2020-09-02 22:22:25 · 303 阅读 · 1 评论