java
follow_me!
机会只会留给有准备的人
展开
-
JSON的正确格式及JSON与实体类相互转换
json是一种与语言无关的数据交换的格式,使用Json的格式与解析方便的可以表示一个对象信息,json有两种格式:①对象格式:{“key1”:obj,“key2”:obj,“key3”:obj…}、②数组/集合格式:[obj,obj,obj…]。原创 2021-03-25 23:35:23 · 2837 阅读 · 0 评论 -
获取系统参数System.getProperties()与配置文件参数@Value(“${key}“)
获取所有系统参数可以使用`System.getProperties()`,获取单个系统参数可以使用`System.getProperty("param1")`;默认的系统参数如下System.getProperties()`无法获取配置文件上的参数,配置文件上的参数可通过@Value("${key}")获取:原创 2022-11-14 16:01:35 · 2222 阅读 · 0 评论 -
彻底玩转Java类加载机制
文章总述:本文会用最通俗的话讲解Java类的加载机制,助你彻底玩转Java类的加载机制,奥利给!一、java代码在JVM中经历的三个阶段:编译、加载、实例化编译,首先Java代码如Person.java文件,通过javac命令进项编译,形成.class文件如Person.class文件;加载,然后通过类加载器将.class文件加载入内存;本文就是讲解此阶段——Java类的加载机制实例化,当需要实例化时,通过new 关键字生成对象实例;二、类加载阶段:类加载阶段包括:加载、验证、准备、解析原创 2022-03-10 16:46:15 · 789 阅读 · 0 评论 -
彻底玩转单例模式
文章总述:本文主要介绍单例模式的五种创建类型:饿汉式、懒汉式、DCL懒汉式、内部类式、Enum枚举单例,助你玩转单例模式~奥利给!一、饿汉式:描述:饿汉式,从名字可以看出,它很饿很着急,所以它在加载类的时候就对单例进行实例化:优点:1.以空间换时间,用的时候已经实例化,效应速度快 2.线程安全(不考虑反射)缺点:加载类时就进行了实例化,可能浪费内存;反射下不安全//饿汉式public class Singal { //私有化构造函数,防止外部调用 private Singal原创 2022-03-08 16:28:03 · 329 阅读 · 0 评论 -
获取当前年度、月度的两种方式
1.使用日历类Calender:2.使用日期类Date:建议使用第一种,第二种已过时。原创 2021-12-17 11:13:40 · 471 阅读 · 0 评论 -
qps与tps的区别
qps:是Queries Per Second的缩写,意思是每秒查询数。是读操作tps:是Transactions Per Second的缩写,也就是事务数/秒。是写操作原创 2021-12-16 19:50:08 · 284 阅读 · 0 评论 -
JAVA8:Stream流sorted()排序
Stream流进行排序有两个方法:无参-以自然序排序一个list(自然顺序即使用Comparable 接口的 compareTo 方法进行比较): list.stream().sorted()以自然序逆序排序,Comparator 提供了reverseOrder() 方法: list.stream().sorted(Comparator.reverseOrder())以某字段排序-使用Comparator 的comparing()来排序: list.stream().so原创 2021-12-09 15:44:38 · 1202 阅读 · 0 评论 -
poi导入excel1、1.1等数字变成1.0、1.100000001的问题
一、遇到的问题:今天使用poi操作excel时,发现1会变成1.0,有的小数会变成1.100000001;下面介绍一下解决方法。二、poi获取序号方法存在的问题:1.call.tostring:整数序号通过call.tostring会自动加.0;如1会变1.0String cellValueNum = sheet1.getRow(i).getCell(0).toString(); //num.tostring->1转1.0带小数点的序号通过call.tostring获取的值正常;1.1还原创 2021-10-25 21:35:06 · 1951 阅读 · 0 评论 -
Excel的导入导出实战
一、目前excel导入导出大致有三种工具:poi:功能强大easypoi:基于poi的二次封装,支持注解easyexcel:阿里基于poi的二次封装,支持注解,解决大数据量时内存溢出的问题。本文主要给出一个项目中直接使用的poi案例,不展开讨论其他内容, 如预了解三种工具课参考下文: 传送门.二、客户需求:导入项目开发计划的excel模板:一级计划:二级计划:三级计划:约束条件:excel模板有三个sheet:一级计划、二级计划、三级计划;其中一、二、三级计划具有父原创 2021-10-25 21:12:42 · 778 阅读 · 0 评论 -
JUC并发编程(详细,稳妥)
一、相关包:java.util.concurrentjava.util.concurrent.atomicjava.util.concurrent.locksjava.util.function二、创建一个线程的方式:Thread、Runable、Callable详情资料:https://blog.csdn.net/qq_38837032/article/details/118195966.三、进程与线程:1、进程是一段正在执行的程序,是资源分配的基本单元,而线程是CPU调度的基本单元。原创 2021-10-09 21:59:24 · 802 阅读 · 2 评论 -
传统型程序员必备技能2——枚举
一、枚举类型介绍:java中对常量数据的配置可以使用枚举类型实现,它也有对象、属性、方法等,枚举类型将它的对象(实例)设置为常量方便读取和使用。二、枚举的格式:public enum MyFamilyMember { SONGWENLONG("虫子哥","老公"), QIFAN("臭亓帆","臭老婆"); private String name; private String description; MyFamilyMember(){} My原创 2021-10-09 21:50:55 · 360 阅读 · 0 评论 -
传统型程序员必备技能1——泛型
1.定义:泛型:通过参数化类型,提高代码的复用性,并在编译期间强制进行类型检查。默认Object2.特点:参数化类型提高代码的复用性编译期强制进行类型检查3.分类泛型接口泛型类泛型方法4.Java源码中的应用:如List的源码中:5.实战5.1 泛型类、接口单个泛型的使用:多个泛型的使用: 尖括号里面,逗号隔开5.2 泛型方法在方法的返回值前面添加一个<>引入泛型,即可!附加:泛型边界extends :上边界,只能传本类或者子类supe原创 2021-09-28 23:38:08 · 159 阅读 · 0 评论 -
正则表达式常用匹配
//原创 2021-08-31 23:27:20 · 1343 阅读 · 0 评论 -
java 时间格式转换解决方案
java 实体类 时间格式化 注解:@JsonFormat:@JsonFormat 用在实体类中,url拼接的参数不生效作用:后台的时间 格式化 发送到前台经试验,前台传json到后台也可以用@JsonFormat;@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")private Date time;//默认是标准时区的时间,多出现少8小时的情况//使用时,按需求加上时区 北京时间 东八区 timezone=”GM原创 2021-08-04 14:05:03 · 343 阅读 · 0 评论 -
java中六个时间类的使用和区别
java 实体类 时间格式化 注解:@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")private Date time;pattern:时区timezone:时区@JsonFormat 默认是标准时区的时间,多出现少8小时的情况使用时,按需求加上时区 北京时间 东八区 timezone=”GMT+8”作用:后台的时间原创 2021-08-04 10:06:36 · 554 阅读 · 0 评论 -
lambda表达式举例
List<String> needFrom = mapR.getData().get("needFrom") .stream() .filter(p -> resultVO.getNeedFrom().contains(p.getCodeValueCode())) .map(p -> p.getCodeValueName()) ...原创 2021-08-03 15:15:44 · 104 阅读 · 0 评论 -
反split:list转string
1.采用java8 String.join 字符串拼接public static void main(String[] args) { List<String> list = Lists.newArrayList(); list.add("测试1"); list.add("测试2"); list.add("测试3"); String join = String.join(",", list); Sy原创 2021-08-03 14:59:35 · 80 阅读 · 0 评论 -
代码生成器MyBatisX:自动生成代码
一、MyBatisX的作用:1.xml跳转2.生成代码3.重置代码4.JAP提示二、优点:提高开发效率,不必再去做重复且无技术水平的基础coding,为程序员们节省大量的时间,将时间用在吃饭、睡觉、玩游戏上,它不香么?三、如何使用:1.安装MyBatisX:安装方法:打开 IDEA,进入 File -> Settings -> Plugins -> Browse Repositories,输入 mybatisx 搜索并安装:2.打开IDEA的database窗口,选择原创 2021-07-15 20:11:44 · 9770 阅读 · 8 评论 -
什么是JavaSE和JavaEE?
JavaSE是指Java Standard Edition,Java标准版,是为开发普通桌面和商务应用程序提供的解决方案,可以看作是JavaEE的子集。JavaEE是指Java Enterprise Edition,Java企业版,多用于企业级开发,包括web开发等等,也叫J2EE。...原创 2021-07-05 23:35:37 · 147 阅读 · 0 评论 -
aop环绕通知获取参数
一、注解的参数获取: @Around("myPointCut() && @annotation(a)") public Object mylogger(ProceedingJoinPoint pjp,AndawellTransactional a) throws Throwable { String dbTable = a.dbTable();//获取参数dbTable String dbId = a.dbId();//获取原创 2021-06-10 16:49:04 · 3881 阅读 · 0 评论 -
idea设置springboot虚拟节点,一个项目启动多次
痛点: 前后端调试的过程中,后端只能陪着前端,很烦,想改点东西也不行,设置虚拟节点即可解决此痛点。设置:1.打开设置2.能增springboot服务3.选择需要设计虚拟节点的服务:4.设置虚拟节点端口号(未被占用)...原创 2021-06-10 16:10:38 · 349 阅读 · 0 评论 -
驼峰转换工具类
依赖:<dependency> <groupId>com.google.guava</groupId> <artifactId>guava</artifactId> <version>21.0</version></dependency>举例:import org.junit.Test; import com.google.common.base.CaseFormat;原创 2021-06-10 14:13:03 · 455 阅读 · 0 评论 -
spring 手动回滚事务
在需要回滚的地方添加下面语句即可 TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();举例: //2.校验是否有下级,或下级有对应的非menu资源 for(int i=1;i<menuIdList.size();i++){ ArrayList<MenuResultVO> mylist = resourceService.searchChildMe原创 2021-06-09 10:01:12 · 170 阅读 · 0 评论 -
主键生成策略选型——雪花算法
UUID:无序,长 (36位)自增:小厂单机可以,但对于大厂集群分布式,不合适 。 5台就 步长5redis集群:需要维护一个redis集群,不合适。 5台就 步长5原创 2021-06-02 18:28:16 · 265 阅读 · 0 评论