JAVA
文章平均质量分 55
踩坑笔记及成长记录,开发过程中遇到的问题解决方案
阿尔卑斯下的泰戈尔
工作使我快乐
展开
-
linux运行ant 报错 Unable to locate tools.jar【已解决】
已安装的jdk只有运行环境,没有tool.jar,而ant运行需要java`开发环境`,因此需卸载已有jdk,安装有开发环境的jdk原创 2024-04-17 13:10:43 · 606 阅读 · 0 评论 -
如何做一份精致的性能测试报告
相比于普通的功能测试,性能测试对测试工程师的技能要求更高,一般来说,也只有中高级测试工程师才会有机会做性能测试。一、性能测试报告的目的报告的目的是总结过程,呈现结论。性能测试做完了,怎么做的,各项指标怎么样,是否符合预期,我们需要通过一份报告来呈现。在做性能测试的过程中,很多时候是要研发工程师协助一起完成的,所以最终的报告不仅是我们自己要看,同时也要给研发工程师及架构师看。因此,我们在撰写报告的时候要把各个角色关注的指标有效地呈现出来。原创 2022-10-17 17:58:59 · 912 阅读 · 0 评论 -
自动化测试框架详解【2022】
测试框架并不是一成不变的,事实上它就像搭积木一样,是由具有各种功能的工具组合而成,可以根据需求自由组合,下面介绍几个通过的基础工具原创 2022-09-13 20:10:20 · 912 阅读 · 0 评论 -
通用mapper中selectByExample 详解
一、以主键为条件进行查询selectByExample的代码如下:Example example = new Example(Sku.class);Example.Criteria criteria = example.createCriteria();criteria.andEqualTo("id",27359021549L);List<Sku> list = this.skuMapper.selectByExample(example);list.get(0)就是需要的对象s原创 2021-10-26 22:53:41 · 10954 阅读 · 4 评论 -
@Autowired 与@Resource的区别(详细示例)
@Resource 默认通过名称注入 ,如名称无找到,则通过类型注入@Autowired 默认通过类型注入,如存在多个类型则通过名称注入原创 2021-10-20 11:52:12 · 537 阅读 · 0 评论 -
手把手教你 springboot 自定义注解 (含代码)
springboot 自定义注解,一文搞懂原创 2021-08-15 00:35:54 · 841 阅读 · 0 评论 -
json转map JavaBean(对象)、Map、JSONObject 之间的相互转换
完整代码原创 2021-07-28 10:08:56 · 518 阅读 · 0 评论 -
jdk1.8中jvm的变化
jdk1.6及之前有永久代(Permanent generation),静态变量存放在永久代jdk1.7字符串常量池、静态变量移出永久代,存放在堆中jdk1.8及之后去除了永久代,本地内存的元空间(Metaspace)取代原创 2021-02-18 12:56:27 · 1432 阅读 · 2 评论 -
java多线程依次按顺序输出自然数
技术栈实现Runnable,重写run()使用可重入锁synchronized 保证线程安全使用new Thread(方法名).start()创建多个线程完整代码public class ThreadPoolTest { public static void main(String[] args) throws InterruptedException { method method = new method();// 创建三个线程,并自定义名称原创 2021-02-10 17:54:46 · 1585 阅读 · 2 评论 -
HashMap、Hashtable、ConcurrentHashMap的区别
HashMap底层数组+链表实现,可以存储null键和null值。HashMap是线程不安全的,在多线程环境中,需要手动实现同步机制HashTable底层数组+链表实现,无论key还是value都不能为null,线程安全(安全的实现原理:修改数据时锁住整个HashTable,效率低,ConcurrentHashMap做了相关优化)Hashtable是线程安全的,它的方法是同步的,可以直接用在多线程环境中ConcurrentHashMap从Java5开始,它是HashTable的替代,比H.原创 2021-02-09 17:11:28 · 1426 阅读 · 0 评论 -
连接redis
linux下连接redis的命令redis-cli -h host -p port -a password如果没有设置密码则不需要-a及后面的参数验证密码是否正确 AUTH password打印字符串 ECHO message查看服务是否运行 PING关闭当前连接 QUIT切换到指定的数据库SELECT index支持五种数据类型:string(字符串),hash(哈希),list(列表),set(集合)及zset(sorted set:有序集合)...原创 2021-02-04 08:45:42 · 1765 阅读 · 2 评论 -
java selenium浏览器驱动 chromedriver放在哪里?【两种位置】
这里写自定义目录标题chromedriver浏览器驱动放在哪里?放在本地chrome.exe同级目录放在IDE工程目录下指定位置chromedriver浏览器驱动放在哪里?chromedriver浏览器驱动有两种放的路径放在本地chrome.exe同级目录放在IDE工程目录下指定位置这个位置可以自己指定System.setProperty("webdriver.chrome.driv...原创 2019-09-03 09:52:05 · 16231 阅读 · 2 评论 -
Java+selnium 智能等待,try catch方法智能定位需添加等待的元素
智能等待,try catch方法智能定位需添加等待的元素常用的三种等待三种等待依然不够给力常用的三种等待强制等待Thread.sleep(3000);隐式等待//隐式等待 10秒driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);显示等待 //显式等待 long time = 10; /...原创 2019-08-12 15:56:41 · 6121 阅读 · 0 评论 -
解决Selenium testNG执行测试时,每个测试方法都打开一个浏览器窗口的问题
解决Selenium testNG执行测试时,每个测试方法都打开一个浏览器窗口的问题定义父类,父类里定义public static 属性的driver测试的类继承父类 不需要再初始化driver定义父类,父类里定义public static 属性的driver测试的类继承父类 不需要再初始化driverpublic class BaseTest { public static Dri...原创 2019-08-05 14:50:56 · 6740 阅读 · 0 评论 -
正则表达式语法实例详解
语法作用.除换行符以外的所有字符。^字符串开头。$字符串结尾。\d,\w,\s匹配数字、字符、空格。\D,\W,\S匹配非数字、非字符、非空格。[abc]匹配 a、b 或 c 中的一个字母。[a-z]匹配 a 到 z 中的一个字母。[^abc]匹配除了 a、b 或 c 中的其他字母。aa|bb匹配 aa 或 bb。?0 次或 1 次匹配。*匹配 0 次或多次。+匹配 1 次或多次。()()括...原创 2020-11-18 12:57:23 · 7734 阅读 · 1 评论 -
邮箱、手机号、url等常用正则表达式
常用规则正则表达式Email地址:^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$域名:[a-zA-Z0-9][-a-zA-Z0-9]{0,62}(\.[a-zA-Z0-9][-a-zA-Z0-9]{0,62})+\.?InternetURL:[a-zA-z]+://[^\s]* 或 ^http://([\w-]+\.)+[\w-]+(/[\w-./?%&=]*)?$手机号码:^(13[0-9]|14[5|7]...原创 2020-11-18 12:52:42 · 7919 阅读 · 0 评论 -
Jenkins找不到Git plugins插件的解决方案
Jenkins找不到Git plugins插件找不到Git plugins插件可以装Github plugins或者Gitlab plugins,具体看你的仓库在github还是gitlab装上之后就默认安装了git plugins原创 2019-08-21 20:02:40 · 12472 阅读 · 0 评论 -
java+testNG测试框架搭建(接口测试或者ui测试)
java+testNG测试框架搭建(接口测试或者ui测试)ide工具inteliij IDEA 或者 Eclipse步骤创建maven工程新建测试类新建测试配置文件(例:testng.xml )编辑pom.xml配置文件新建测试类import org.testng.Assert;import org.testng.annotations.DataProvider;impo...原创 2019-09-18 16:29:31 · 7685 阅读 · 0 评论 -
IDEA设置selenium+testng生成默认的测试报告
第一步:点击工具条的run中的Edit Configurations第二步:选择Listeners,勾选小框在这里插入图片描述第三步:执行testng,完成后生成test-output文件夹,下面有对应的两种.html测试报告...原创 2019-08-16 15:09:04 · 6848 阅读 · 0 评论 -
浏览器中输入URL到渲染出整个页面
4.在页面内跳转4.在页面内跳转背景色是:red原创 2021-01-31 15:00:14 · 46 阅读 · 0 评论 -
IDEA热部署 两步操作实现
▌打开设置-Compiler勾选Build project automatically并保存▌修改pom.xml文件在dependency和plugin中添加 <!--添加热部署--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-devtools</artifactId> <opt原创 2020-11-16 10:00:17 · 7280 阅读 · 0 评论 -
2020-mac 安装jdk1.8
到Oracle官网下载JDK1.8安装包。打开获取到的安装包按步骤安装到系统上。配置系统的环境变量。验证JDK1.8是否安装成功。到Oracle官网下载JDK1.8安装包官网下载链接,找到以下图:选择接受证书协议,然后选择对应的Mac OS X一栏下载SDK,这里我说下,下载sdk必须要登录才可以下载,我没有Oracle账号,所以让安卓同事帮忙下载了,大家有需要的可以点击这里,百度网盘...原创 2020-04-16 21:39:48 · 10183 阅读 · 0 评论 -
【POI】maven引用POI的依赖,XSSFWorkbook依旧无法使用的问题。
maven项目引用的jar坐标:<!-- https://mvnrepository.com/artifact/org.apache.poi/poi --> <dependency> <groupId>org.apache.poi</groupId> <artifactId>...原创 2019-10-14 17:32:59 · 8423 阅读 · 0 评论 -
IDEA maven 编译报错 【解决方案】maven编译 Process terminated【已解决】
▐ maven项目编译报错Process terminated如下图:▐ 点击报红提示,可以追踪到错误来源▐ 点击上一步中错误来源,在idea中打开了settings文件,找到红色下划线提示的报错位置▐ 原因是缩进或者空格不对导致该问题,建议先在文本编辑软件(eg:notepad++)中编辑好复制粘贴过来就好了...原创 2020-11-13 11:41:26 · 13836 阅读 · 2 评论 -
java.lang.StackOverflowError可能是函数自己调用自己形成死循环
错误信息java.lang.StackOverflowError可能是函数自己调用自己形成死循环原创 2019-08-29 09:35:45 · 7404 阅读 · 0 评论 -
springboot项目scheduled定时任务#配置文件取值#jar包动态修改
▐ 配置application.properties文件中添加属性和值read.timer.parmas=0 0/4 10-19 * * MON-FRI▐ 在controller类或service类中这样写@RestControllerpublic class TestContorller { @Scheduled(cron = "${read.timer.parmas}") // 周一到周五,每天10点到19点,每4分钟执行一次 public void csdnRe原创 2020-11-20 16:34:11 · 7379 阅读 · 2 评论 -
SpringBoot项目jar包,端口冲突,通过命令修改
1.首先在pom.xml文件中导入Springboot的maven依赖;<!--将应用打包成一个可以执行的jar包--> <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-m原创 2020-11-19 19:48:53 · 7573 阅读 · 3 评论 -
Spring/Spring-Boot中@Component的作用
今天在写程序的时候看见一个以前没有见过的注解(@Component),在网上查找过后,经过实践,决定把它记录下来。1、@controller 控制器(注入服务)用于标注控制层,相当于struts中的action层2、@service 服务(注入dao)用于标注服务层,主要用来进行业务的逻辑处理3、@repository(实现dao访问)用于标注数据访问层,也可以说用于标注数据访问组件,即DAO组件.4、@component(把普通pojo实例化到spring容器中,相当于配置文件中的<原创 2020-10-27 20:35:04 · 14359 阅读 · 0 评论 -
Swagger 3.0配置整合使用教程
swagger2于17年停止维护,现在最新的版本为17年发布的 Swagger3(Open Api3)原创 2020-10-17 20:51:14 · 47290 阅读 · 16 评论 -
Maven不再支持源选项6。请使用7或更高版本【终极解决方案】
终极解决方案在此!原创 2020-12-21 17:01:22 · 9717 阅读 · 6 评论 -
Java基础知识点
前言》》 2013年年底的时候,我看到了网上流传的一个叫做《Java面试题大全》的东西,认真的阅读了以后发现里面的很多题目是重复的………原创 2020-11-30 15:05:33 · 7406 阅读 · 4 评论 -
==比较地址,equals比较值?错了!!【一文搞懂== 与equals 的底层区别】
“你是如何理解==与equals的?”迄今最完整的回答!原创 2020-11-22 19:46:43 · 15083 阅读 · 11 评论 -
接口的5种实现和写法【java】
接口的5种实现和写法//只有一个抽象方法的接口,函数式接口interface Like{ void Method();}class Like1 implements Like{ @Override public void Method() { System.out.println("普通的类实现"); }}//测试public class Test { static class Like2 implements Like{原创 2020-11-05 18:54:02 · 8919 阅读 · 0 评论 -
java 多线程的三种写法
▌多线程是什么运行一个程序叫做一个线程,运行过程中时处理多个任务,这些任务叫做线程(比如同时播放画面和声音)注:真正的多线程需要多核CPU同时处理多个线程,单核的是伪多线程(单核同一时间只能处理一个线程,但是线程之间切换很多,毫秒级,所以看起来像是在同时处理)▌一、继承类Rubbable创建一个类TestThread继承父类Thread重写方法Runnew对象TestThread开启多个线程对象名.start()public class TestThread extends Thr原创 2020-11-05 15:45:15 · 8451 阅读 · 2 评论 -
Java中newInstance()和new()区别
两者创建对象的方式不同,前者是实用类的加载机制,后者则是直接创建一个类:newInstance创建类是这个类必须已经加载过且已经连接(Class.forName(“A”)这个过程),new创建类是则不需要这个类加载过newInstance 是弱类型(GC是回收对象的限制条件很低,容易被回收)、低效率、只能调用无参构造,new是强类型(GC不会自动回收,只有所有的指向对象的引用被移除是才会被回收,若对象生命周期已经结束,但引用没有被移除,经常会出现内存溢出)newInstance实例化对象只能调用..原创 2020-11-02 09:30:49 · 10153 阅读 · 0 评论 -
Java8:接口里面可以写实现方法吗【可以】 、接口可以多继承吗【可以】
问: 接口里面可以写方法吗?答: 当然可以啊,默认就是抽象方法。.问: 那接口里面可以写实现方法吗?答:不可以,所有方法必须是抽象的。原创 2020-10-28 19:16:09 · 21660 阅读 · 7 评论 -
Java new Date() 获取的时间不正确 【已解决】
▌问题描述new Date()正确为中国时区,使用TimeUtils.timeInUTC()转换日期格式后,时间早了晚了8小时▌原因分析时区不正确,TimeUtils默认使用格林威治时间,晚了8小时,而我们使用的是北京时间,需要设置时区为东8区▌解决方案在时间格式转换前,添加以下代码System.out.println("原时间 " + new Date()); TimeZone time = TimeZone.getTimeZone("Etc/GMT-8"); //转换为中国时区 T原创 2020-08-21 13:03:43 · 17560 阅读 · 3 评论 -
maven编译 Process terminated【已解决】
maven项目编译报错如下:点击【项目名】提示点击蓝色报错的链接,在idea中打开了settings文件,找到提示的报错位置最后发现是缩进或者空格不对导致该问题,建议在notepa++中复制粘贴过来就好了...原创 2020-04-22 22:22:20 · 380617 阅读 · 53 评论 -
MAC系统 JDK 卸载及彻底删除
MAC系统 JDK 卸载及彻底删除▌1.删除运行路径和运行环境等sudo rm -fr /Library/Internet\ Plug-Ins/JavaAppletPlugin.pluginsudo rm -fr /Library/PreferencesPanes/JavaControlPanel.prefPanesudo rm -fr ~/Library/Application\ Support/Java▌2.删除当前版本的jdksudo rm -rf /Library/Java/JavaV原创 2020-07-27 16:20:45 · 11786 阅读 · 0 评论 -
win系统JDK卸载和彻底删除
▌第一步:进入“控制面板”。▌第二步:进入“卸载程序”。▌第三步:进入到“程序和功能”界面找到jdk的两个程序:①java 8 update 171(64-bit);②java SE Development Kit8 update 171(64-bit);分别右键卸载▌第四步:删除注册表编辑器中的文件在“运行”中输入Regedit,进入注册表编辑器,找到HKEY_LOCAL_MACHINE/SOFTWARE/JavaSoft ,将JavaSoft文件夹及其子目录全部删除...原创 2020-07-27 15:54:16 · 9033 阅读 · 0 评论