![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java
文章平均质量分 70
kusedexingfu
这个作者很懒,什么都没留下…
展开
-
JAVA删除excel指定列
deleteColumns(InputStream excelStream, List delColumnTitleList)方法实现了批量删除列的逻辑。首先POI没有提供删除列的API,所以就需要用其他的方式实现。先将该列所有值都清空,然后将该列之后的所有列往前移动。原创 2023-10-25 18:26:20 · 2540 阅读 · 0 评论 -
Mac下使用idea和maven命令打包都失败的解决
突然某天,项目打包失败,会提示org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.8.1:compile (default-compile) on project ******: Compilation failure网上查的解决方式都无法解决,比如:maven配置的jdk版本和项目的不一致;maven-c原创 2022-06-15 11:27:47 · 737 阅读 · 1 评论 -
java内省-设置java bean属性的利器
反射是框架设计的灵魂(使用的前提条件:必须先得到代表的字节码的Class,Class类用于表示.class文件(字节码))一、反射的概述JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法和属性;这种动态获取的信息以及动态调用对象的方法的功能称为java语言的反射机制。要想解剖一个类,必须先要获取到该类的字节码文件对象。而解剖使用的就是Class类中的方法.所以先要获取到每一个字节码文件对应的Class类型的对象.以上原创 2021-05-21 22:01:58 · 365 阅读 · 1 评论 -
动态代理总结,你要知道的都在这里,无废话!
前言面试题:讲讲jdk动态代理,cglib区别,实现原理,优缺点,怎么实现方法的调用的这篇文章总结你需要回答的知识点,全程少废话,怼干货,文章较长,可以点赞在看,喜欢这种文章的话,我之后也会一直分享的,硬核文章也会定期分享!同时之前的个人网站:upheart.cn/,最近两天想了想,决定继续维护着,公众号文章会定期(一般2天左右)同步更新到上去至于之所以决定继续维护,主要是为了大家工作的时候也方便学习,毕竟大家工作的时候总不能玩手机看公众号文章吧,哈哈!代理模式代理模式是一种设计转载 2021-05-20 20:35:12 · 219 阅读 · 0 评论 -
java8时间API
Java 8之前的库对日期和时间的支持并不理想,使用起来复杂且有不少坑。为了解决这个问题,Java 8引入了一套全新的时间日期API,位于java.time路径下。LocalDateLocalDate类型包含了年月日信息,且不附带任何与时区相关的信息。LocalDate date = LocalDate.of(2018, 4, 20); // 2018-04-20int year = date.getYear(); // 2018int month = date.getMonth().ge原创 2021-01-10 14:13:02 · 214 阅读 · 0 评论 -
依据XML文件生成javabean类代码
1、首先利用 trang.jar 文件,依据xml文件生成xsd文件,如例,在当前文件夹内操作,按照request.xml生成request.xsd文件java -jar trang.jar request.xml request.xsdtrang.jar文件在csdn上居然都要那么高的分值,现分享出来免费下载。2、利用xjc命令,将xsd文件生成javabean类代码xjc -d . -p com.common.picc.ant.underwrite.request request.x转载 2020-09-17 18:33:21 · 399 阅读 · 0 评论 -
SPI 技术:JDBC加载不同数据库厂商的驱动
SPI 技术SPI全称Service Provider Interface,是Java提供的一套用来被第三方实现或者扩展的API,它可以用来启用框架扩展和替换组件。Java SPI 实际上是“基于接口的编程+策略模式+配置文件”组合实现的动态加载机制。实现方式:当服务的提供者提供了一种接口的实现之后,需要在 Classpath 下的 META-INF/services/ 目录里创建一个以服务接口命名的文件,此文件记录了该 jar 包提供的服务接口的具体实现类。当某个应用引入了该 jar 包且原创 2020-07-01 23:43:51 · 608 阅读 · 0 评论 -
java命令编译java类、查看class文件内容
比如该java类:public class SynchronizedDemo { public void method() { synchronized (this) { System.out.println("synchronized 代码块"); } }}到java文件所在的目录,执行命令:javac SynchronizedDemo.java之后在该目录下会生成SynchronizedDemo.class文件原创 2020-06-07 17:58:06 · 1076 阅读 · 0 评论 -
JAVA中用StopWatch计算代码耗时的方法
StopWatch翻译过来的意思就是秒表,其作用也就像我们平时使用的秒一样。spring中就有提供这个工具类(org.springframework.util.StopWatch)。 日常开发中,经常需要看方法各部分的耗时,通常的做法就是通过插桩的方式来统计耗时,如下:1 long startTime = System.currentTimeMillis();2 Thread.sleep(1000);3 long finishTime = System.curr.转载 2020-05-19 23:43:53 · 1835 阅读 · 0 评论 -
从泛型类中获取子类的泛型参数的类型
class User{}class parent{protected Class clazz;//在这里想得到T的对象parent(){ParameterizedType parent= (ParameterizedType) this.getClass().getGenericSuperclass();Type[] types=parent.getActualTy原创 2014-08-17 08:40:07 · 3908 阅读 · 0 评论 -
java做笛卡尔积的两种方式
package com.edianzu.erp.procurement.utils;import java.util.ArrayList;import java.util.Arrays;import java.util.List;/** * 算法工具类 * * Project Name:erp-procurement-util * ClassName:ArithmeticUt...原创 2020-01-13 01:25:53 · 2274 阅读 · 3 评论 -
Sping4通过注解装配bean
代码的注释中由详细的解释首先是基础类:package com.wpw.spring4.test.assemble;public interface Animal { public void play();}package com.wpw.spring4.test.assemble;import org.springframework.stereotype.Compon...原创 2019-07-06 16:14:18 · 135 阅读 · 0 评论 -
spring的定时任务
配置文件如下: <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p" xmlns:context="h原创 2016-05-23 22:14:15 · 2841 阅读 · 0 评论 -
关于java中BigDecimal的类型的用法心得
首先声明,在下新手。写博客只是为了记录和分享。jint原创 2014-06-27 01:58:05 · 3382 阅读 · 0 评论 -
子父类中的构造函数
1.在子类对象进行初始化时候,fulei原创 2014-06-30 23:19:36 · 3289 阅读 · 0 评论 -
final变量编译后的状态
直入正题,以下是一段测试程序:public class Constants { private static final String A = "这是常量"; private static String B = "这是静态变量"; private static final String C = new String("这是String常量"); pri原创 2017-08-29 22:39:43 · 2980 阅读 · 0 评论 -
java中整数的相等比较
如果比较两个数值相等的Integer类型的整数,你可能会发现,用“==”比较(首先你必须明确“==”比较的是地址),有的时候返回true,而有的时候,返回false。比如:Integer i = 128;Integer j = 128;System.out.println(i == j);//返回false而Integer m = 127;原创 2017-09-01 21:16:01 · 15347 阅读 · 0 评论 -
Java Arrays.asList注意事项
Arrays.asList用来将数组转化为List,这个看似功能很明了的方法却暗藏玄机。请先看下面的程序:int[] datas = new int[]{1,2,3,4,5};List list = Arrays.asList(datas);System.out.println(list.size());运行结果是1。一个长度为5的数组,转化为List后,长度却成了1。再对这个原创 2017-09-03 18:03:42 · 12348 阅读 · 1 评论 -
DelayedQueue队列
DelayQueue是一个无界的BlockingQueue,用于存储实现了Delayed接口的对象,其中的对象只能在其到期时才能从队列中取走。这种队列是有序的,即队头对象的延迟到期时间最长。注意:不能将null元素放置到这种队列中。下面先看一个例子:/** * DelayQueue需要存储的对象的类,实现Delayed接口,重写compareTo和getDelay方法 */class Del...原创 2018-02-22 20:23:55 · 541 阅读 · 0 评论 -
日志中不打印异常堆栈
某天线上出现问题,应该是代码出现了异常,查看线上日志,却只有java.lang.NullPointerException,没有异常堆栈信息,无法定位异常的位置。只能在本地调试查找异常位置,但是在本地调试过程中却可以打印异常堆栈的。后来继续查找之前的日志,之前的某段时间这个地方是存在异常堆栈信息的。经过网上查找发现,可以设置JVM参数,在启动进程的时候配置:JVM启动参数加上-XX:-Omi...原创 2019-01-24 16:36:29 · 3199 阅读 · 0 评论 -
jvm垃圾回收总结
首先,程序计数器、虚拟机栈、本地方法栈3个区域随线程而生,随线程而灭,即方法结束或者线程结束时,内存就跟着收集了,所以这几个区域不需要考虑不需要过多考虑回收的问题。而java堆和方法则不一样,我们只有在程序处于运行期间时才能知道会创建哪些对象,这部分的内存分配和回收都是动态的,而垃圾收集器所关注的也是这部分内存。一.回收方法区方法区主要用于存储已被虚拟机加载的类信息、常量、静态变量、即时编...原创 2019-01-22 22:42:12 · 164 阅读 · 0 评论 -
java、js中小数判断相等
在程序中,小数被称为浮点数,但是由于浮点数在计算机中的表示形式,使得一些在我们看来应该相等的问题,计算机却表示不相等。比如:js中var a = 0.1;var b = 0.2;var c = a+b;console.log(a+b);//0.30000000000000004console.log(c == 0.3)//false程序计算0.1+0.2的结果是0.30000...原创 2019-06-12 22:38:27 · 3088 阅读 · 0 评论