java
喵喵队摸鲨鱼
用时间换能力,用能力换时间
展开
-
http工具类请求转型封装
个人封装使用,仅供参考。原创 2023-04-14 16:39:57 · 143 阅读 · 0 评论 -
解决@Autowired无法静态引用问题
解决@Autowired无法静态引用问题原创 2023-04-12 11:00:22 · 598 阅读 · 0 评论 -
枚举判断是否包含
【代码】枚举判断是否包含。原创 2023-04-07 15:16:15 · 322 阅读 · 0 评论 -
秒杀详解!!秒杀竟有这些问题?再有人问秒杀,把这篇文章丢给他!!!
它一般出现在电商系统中,在某些特定的节日,限定特定商品数量以超低折扣进行促销引流按照秒杀的特性,特价商品一般在一两秒内被抢光,剩下的人只会出现售罄页面这一两秒会出现一个瞬间峰值,因为是短暂的活动,不能消耗太多服务器资源,所以需要达到最小代价做到最大的抗压,不直接冲垮服务器,还得保证不超卖,不丢单,不宕机等问题原创 2023-02-26 23:09:49 · 3635 阅读 · 2 评论 -
实体类开发使用
领域驱动设计:是一种通过将实现连接到持续进化的模型来满足复杂需求的软件开发方法(一种解决业务复杂性的设计思想,不是一种标准规则的解决方法)领域模型是对业务模型的抽象,DDD是把业务模型翻译成系统架构设计的一种方式。原创 2023-02-07 18:12:58 · 652 阅读 · 0 评论 -
Vector
2.Vector 是多线程安全的,线程安全就是说多线程访问同一代码,不会产生不确定的结果,而 ArrayList 不是,这个可以从源码中看出,Vector 类中的方法很多有 synchronized 进行修饰,这样就导致了 Vector 在效率上无法与 ArrayList 相比【第二张图能体现】● 以2倍的方式扩容,导致下一次申请的内存必然大于之前分配内存的总和,导致之前分配的内存不能再被使用,所以最好倍增长因子设置为(1,2)之间。4.因为考虑到线程安全的问题,效率比较低。可以用什么代替Vector。原创 2023-02-06 18:18:06 · 382 阅读 · 0 评论 -
ArrayList和LinkedList区别
● 当随机访问List(get和set操作)时,ArrayList比LinkedList的效率更高,因为LinkedList是线性的数据存储方式,所以需要移动指针从前往后依次查找。● 当对数据进行增加和删除的操作(add和remove操作)时,LinkedList是恰好相反的,它的查询速度非常慢,但是插入与删除元素的速度非常快。● LinkedList进行新增Add操作的时候,只需要遍历找到对应下标,然后替换对应元素的next和prev的操作。○ 如果不需要进行扩容是非常快速的,如果需要扩容会有扩容成本。原创 2023-02-06 13:39:24 · 382 阅读 · 0 评论 -
来自xml的吐槽
描述近期与供应商对接的时候,对方的接口还是比较稳定的xml接口,与当下流行的json的便捷性相比还是不太方便,中间我也使用了几种工具类,很难有完全适配的,下文我将讲述我解析xml的历程初次接触第一次接触xml接口是在对接物流渠道商的时候,当时他们使用的对接方式为soap格式,刚接触解析起来简直要了老命,什么是soap呢?是基于xml的简易协议,常用于webservie,它有自己的一套编码规则,如下这种请求网上解析方式就很少,很多只有解析没有构造,文本也不太全,目前见过写的比较好的解析如下:.原创 2022-01-30 14:29:34 · 811 阅读 · 0 评论 -
ip校验地址
package com.service.taobao.util;import org.springframework.context.annotation.Configuration;import javax.servlet.http.HttpServletRequest;import java.util.ArrayList;import java.util.HashSet;import java.util.List;import java.util.Set;import java.uti原创 2022-01-19 10:37:26 · 1778 阅读 · 0 评论 -
xml转换类
package com.service.taobao.util;import org.apache.commons.lang.StringUtils;import javax.xml.bind.*;import javax.xml.bind.annotation.XmlAnyElement;import javax.xml.namespace.QName;import java.io.StringReader;import java.io.StringWriter;import java.原创 2022-01-19 10:35:18 · 272 阅读 · 0 评论 -
获取map中第一个key值
/** * 获取map中第一个key值 * * @param map 数据源 * @return */ public static String getKeyOrNull(Map<String, Object> map) { String obj = null; for (Map.Entry<String, Object> entry : map.entrySet()) {原创 2022-01-17 18:41:09 · 5350 阅读 · 0 评论 -
生成订单号
package com.util;import java.security.MessageDigest;import java.text.SimpleDateFormat;import java.util.Date;import java.util.Random;import java.util.UUID;import org.apache.commons.codec.binary.Hex;import org.apache.commons.codec.digest.DigestUtils原创 2022-01-14 08:48:25 · 1019 阅读 · 0 评论 -
BigDecimal四舍五入在遇到0.5的时候降位
原因:当BigDecimal为float或double类型时会丢失精度解决办法:用String来构建浮点型new BigDecimal(0.85)// 改为new BigDecimal("0.85")原创 2021-12-10 10:14:38 · 217 阅读 · 0 评论 -
http请求工具类(解决utf乱码问题)
package com.service.zl.util;import org.apache.commons.collections.CollectionUtils;import org.apache.commons.lang.StringUtils;import org.apache.http.HttpResponse;import org.apache.http.HttpStatus;import org.apache.http.NameValuePair;import org.apache转载 2021-12-07 14:29:52 · 157 阅读 · 0 评论 -
xml解析json工具类
package com.service.zl.model;import java.util.List;import org.dom4j.Attribute;import org.dom4j.Document;import org.dom4j.DocumentException;import org.dom4j.DocumentHelper;import org.dom4j.Element;import com.alibaba.fastjson.JSONArray;import com.原创 2021-12-07 11:56:19 · 229 阅读 · 0 评论 -
java文件压缩
/** * 文件压缩 * * @param file * @throws Exception */ public static boolean compress(File file, String path) { ZipOutputStream out = null; FileInputStream in = null; try { out = new ZipOutputStream(new FileOutputStream(path)); in = new原创 2021-11-26 15:23:29 · 194 阅读 · 1 评论 -
http请求工具类
package com.service.zl.util; import org.apache.commons.collections.CollectionUtils;import org.apache.commons.lang.StringUtils;import org.apache.http.HttpResponse;import org.apache.http.HttpStatus;import org.apache.http.NameValuePair;import org.apach原创 2021-11-10 14:12:57 · 74 阅读 · 0 评论 -
easyExcel工具类
package io.renren.modules.analyse.utils;import com.alibaba.excel.EasyExcel;import com.alibaba.excel.ExcelWriter;import com.alibaba.excel.support.ExcelTypeEnum;import com.alibaba.excel.write.builder.ExcelWriterBuilder;import com.alibaba.excel.write.bu原创 2021-11-08 16:46:03 · 592 阅读 · 0 评论 -
Data truncation: Incorrect datetime value 序列化工具类 用来存储redis
最近在编写项目时,用redis存储结果一直报转换异常对此我有了以下思路1.在mysql进行格式转换2.在java先转换3.存json之前就进行格式转换但是以上方法都不行,因为数据需要的是date类型,如果走转换又过慢有大佬提了一下使用序列化解决,我就尝试了一下,还真可以...原创 2021-11-03 09:12:35 · 317 阅读 · 0 评论 -
驱动程序无法通过使用安全套接字层(SSL)加密与 SQL Server 建立安全连接。
sqlserver在1.8之前的版本安全验证不一样把C:\Program Files\Java\jdk1.8.0_301\jre\lib\security下的java.security的3DES_EDE_CBC TLSv1, TLSv1.1注释掉,网上写的只注释3DES_EDE_CBC不完全如果是跑jar包报错就指定jdk,写一个bat程序set JAVA_HOME=C:\Program Files\Java\jdk1.8.0_301set CLASSPATH=.;%JAVA_HOME%\li原创 2021-11-02 13:42:18 · 3001 阅读 · 1 评论 -
初探xxlJob
下载地址在搭建xxljob需要提前准备好maven3+jdk8+mysql5.7+1.首先初始化SQL脚本建立必须的库和表2.对于解压的文件分为三个模块xxl-job-admin:调度中心xxl-job-core:公共依赖xxl-job-executor-samples:执行器Sample示例(选择合适的版本执行器,可直接使用,也可以参考其并将现有项目改造成执行器) :xxl-job-executor-sample-springboot:Springboot版本,通过Sprin原创 2021-10-26 13:43:36 · 303 阅读 · 0 评论 -
外置tomcat配置https
1.管理员模式打开cmd输入:keytool -genkeypair -alias "tomcat" -keyalg "RSA" -keystore "D:\tomcat\apache-tomcat-8.5.71\bin\tomcat.keystore"直接把路径替换成自己想要生成的路径就行了2.提示输入密匙口令,输入后直接回车,到询问是否前面信息正确时在输入Y(如果没有输入则会一直循环),然后继续回车即可3.去tomcat的server.xml配置一下端口和证书<Connector原创 2021-10-11 11:54:29 · 87 阅读 · 0 评论 -
java面试题
javalinkedList和ArrayList的区别是否保证线程安全: ArrayList 和 LinkedList 都是不同步的,也就是不保证线程安全;底层数据结构: Arraylist 底层使用的是 Object 数组;LinkedList 底层使用的是 双向链表 数据结构(JDK1.6 之前为循环链表,JDK1.7 取消了循环。注意双向链表和双向循环链表的区别,下面有介绍到!)插入和删除是否受元素位置的影响: ① ArrayList 采用数组存储,所以插入和删除元素的时间复杂度受元素位置原创 2021-08-17 10:31:48 · 193 阅读 · 0 评论 -
mysql使用explain优化
explain:解析过程:from … on … join … where … group by … having … select … dinstinct … order by … limit …1.id:执行顺序表的执行顺序,因数量的个数改变而改变的原因:笛卡尔积数据小的表优先查询,id值不同,id值越大的越优先;id值相同,从上往下顺序执行2.select_typePRIMARY 包含子查询SQL中的主查询(最外层)SUBQUERY 包含子查询SQL中的子查询(非最外层)SIMPLE原创 2021-08-14 14:57:17 · 390 阅读 · 0 评论 -
枚举迭代根据key查询value
package com.aukey.tracking.self.domain.enums;import lombok.AllArgsConstructor;import lombok.Getter;import java.util.Arrays;@AllArgsConstructor@Getterpublic enum TrackingEnum { PENDING("pending","查询中"), NOTFOUND("notfound","查询不到"), TRAN原创 2021-07-12 11:08:32 · 184 阅读 · 0 评论 -
mysql表转换工具类
package com.aukey.supply.plan.common.utils;import com.google.common.base.CaseFormat;import java.util.List;public class AukeyUtils { /** * 表字段转换Mybatis对应实体属性 * @param str */ public static void converMybatisColumn(String str) {原创 2021-05-24 10:18:31 · 149 阅读 · 0 评论 -
redis加锁
// 插入数据 // 生成key值 String key =PICKUPPLAN_TO_COLLECTION+pickupPlanDto.getPickupPlanCode()+pickupPlanDto.getRequirementNo(); boolean flag =false; try { Date now =new Date(); // 插入key和过期时间 //setIfAbsent: ...原创 2021-05-19 17:28:01 · 125 阅读 · 0 评论 -
分段执行
分段执行int batchSize = 1000;if(findStockByAccount.size() <= batchSize){ insertByStocks(findStockByAccount,type);}else { for(int i = 0;i < findStockByAccount.size();i+=batchSize){ if((i + batchSize)>findStockByAccount.size()){原创 2021-05-13 15:47:43 · 135 阅读 · 0 评论 -
java文件压缩zip
/** * @param FileName 压缩文件名 * @param FilePath 压缩路径 * @Author: Foam番茄 * @Description: zip压缩 * @return: void * @version: * @Date: 2021/5/7 19:44 */ public static void zipFile(String FileName, List<File> File原创 2021-05-11 14:57:45 · 104 阅读 · 0 评论 -
java线程池下载图片,压缩图片大小
java对于线程池下载图片,以及图片的压缩,删除其中引用了thumbnailator 来进行压缩减少了我们工作量maven地址<!-- https://mvnrepository.com/artifact/net.coobird/thumbnailator --><dependency> <groupId>net.coobird</groupId> <artifactId>thumbnailator</artifact原创 2021-05-09 17:50:24 · 311 阅读 · 0 评论 -
2021-01-20
计算机硬件1.中央处理器(cpu)2.内存(主存)3.存储设备 如磁带,光盘,磁带4.输入设备 如键盘,鼠标5.输出设备 如显示器,打印机6.通信设备 如调制解调器,网卡比特(bit)和字节(byte)一个0或者一个1存储为一个比特,是计算机中最小的存储单位计算机中是最基本的存储单元是字节,每个字节由8个比特构成内存内存也叫Random-Access Memory,RAM,由一个有序的字节序列组成,用于存储程序及程序需要的数据一个程序在执行之前必须移到内存中去..原创 2021-04-20 10:44:17 · 92 阅读 · 0 评论 -
堆和栈
堆(Heap)此内存区域的唯一目的就是存放对象实例 ,几乎所有的对象实例都在这里分配内存。这一点在java虚拟机规范中的描述是:所有的对象实例以及数组都要在堆上分配栈(Stack)通常所说的栈是指虚拟机栈 。虚拟机栈用于存储局部变量 等。局部变量表存放了编译期可知长度的各基本数据类型(boolean,byte,char,short,int,float,long,double),对象引用 (reference类型,它不同于对象本身,是对象在堆内存的首地址)。方法执行完,自动释放。方法区(Method原创 2021-01-30 16:51:22 · 88 阅读 · 0 评论