摘要:添加依赖 <dependency> <groupId>com.mysql</groupId> <artifactId>mysql-connector-j</artifactId> <version>8.0.32</version> </dependency> 创建连接 String url = "j
阅读全文
摘要:原型模式是一种创建型设计模式,用于在保证性能的情况下创建新的对象实例。原型模式允许一个对象再创建另外一个可定制的对象,而无需知道创建的细节。其工作原理是通过拷贝实现对象创建,即clone()。 但是我们通过new也能创建一个属性一样的对象,两者的区别是什么呢? new操作符:用于创建一个新的对象实例
阅读全文
摘要:需求: Pizza 有以下几个方法 prepare() 准备食材 bake() 烘焙 cut() 切割 box() 装盒 现在有2种披萨且和2地区有关,成都地区第一种是CDApplePizza,第二种是CDCheesePizza。北京地区的BJApplePizza和BJApplePizza。 Piz
阅读全文
摘要:需求: Pizza 有以下几个方法 prepare() 准备食材 bake() 烘焙 cut() 切割 box() 装盒 现在有两种披萨,第一种是ApplePizza,第二种是CheesePizza。 PizzaStore有点单系统Order(pizzaType) 根据pizza type去制作对应
阅读全文
摘要:饿汉式 静态常量饿汉式的优点是:在类装载的时候就完成实例化,没有达到Lazy Loading的效果,并且避免了线程同步问题。 它的缺点是:如果从始至终从未使用过这个实例,则会造成内存的浪费。 public class adaDemo3 { public static void main(String
阅读全文
摘要:依赖 <dependency> <groupId>com.alibaba</groupId> <artifactId>fastjson</artifactId> <version>1.2.73</version> </dependency> JSON文件内容 public class MyJsonU
阅读全文
摘要:import org.apache.poi.hssf.usermodel.HSSFWorkbook; import org.apache.poi.ss.usermodel.*; import org.apache.poi.xssf.usermodel.XSSFWorkbook; import jav
阅读全文
摘要:package com.demo; import org.testng.annotations.Test; import java.util.ArrayList; import java.util.List; import java.util.Optional; import java.util.s
阅读全文
摘要:/** * 方法引用的使用要求: 要求接口中的抽象方法的形参列表和返回值类型与方法引用的方法的形参列表和返回值类型相同 */ @Test public void test6() { // 1. 对象::实例方法(非静态方法) //传一个参数,不返回值 Consumer<String> consume
阅读全文
摘要:Lambda表达式的使用 ()->{}; ()里面放的是参数,{}里放的是代码体 -> 左边: lambda形参列表的参数类型可以省略(类型推断) -> 右边: 代码体使用{}包裹,如果代码体只有一句可执行语句,那么大括号可以省略,return也可以省略 Lambda实质上还是一个接口的实例,要求是
阅读全文
摘要:使用处理流(缓冲流) BufferedReader 里面包一层FileReader字符流,处理流不可以直接操作文件,但是效率高很多,所以使用它。 /** * 通过读行读取txt */ @Test public void test9() { BufferedReader bufferedReader
阅读全文
摘要:推荐一个用了两年的自动化框架QAF,它是基于testNG和selenium二次开发的自动化框架,有使用简单,支持参数化等优点。 项目的github地址 clone好之后需要再idea里安装一个插件 cucumber for java然后就等着maven下载依赖即可 下载完依赖项目的目录如下图所示 第
阅读全文
摘要:首先有个person类实现了Comparable接口 class Person implements Comparable{ String name; int age; public Person(String name1, int age){ name = name1; this.age = ag
阅读全文
摘要:开发过程中如果我们想让某个对象是可比较大小的,那么需要实现Comparable这个接口的方法来满足自然排序。 举例:我们根据鼠标的价格从低到高进行排序,如果价格一样再根据鼠标的名称来进行从低到高排序。 class Mouse implements Comparable{ String goodsNa
阅读全文
摘要:开发过程中,很多时候我们需要获取时间,在JAVA中我们可以使用Date类来实现。 获取当前时间Date date = new Date(); System.out.println("current time = "+date);output=> current time = Fri Apr 01 1
阅读全文
摘要:resource目录下有一个test.properties文件,里面有以下内容, 方式一: 我们可以用过ResourceBundle来获取到对应的内容 @Test public void readData() { ResourceBundle bundle = ResourceBundle.getB
阅读全文
摘要:Java8 从数组中随机一个元素 import java.util.Random; @Test public void randomList() { String[] li = {"中国","美国","英国","法国","德国","俄罗斯"}; Random random = new Random(
阅读全文
摘要:java快速排序是十大排序算法之一,面试经常会问,记录一下学习心得。对以下数组排序 首先我们取 li[0] 的值为基准temp。左边界为0,右边界为li.length -1 = 8 从右开始,和基准值作比较,如果小于等于基准值,则替换掉 li[0]的值,否则右边界-1 0 -1 35 44 -45
阅读全文
摘要:思路一:第一层循环先确定总共要循环的次数, 由于每次只能得到一个最大的或者最小的,所以外循环的次数就是 长度-1。第二层循环是得到这个最小值所需要的比较次数,比如1,2,3,4只需要两两比较三次,所以是长度-i-1. public static void maopao(int[] li){ // 冒
阅读全文
摘要:二分法适用于有序的序列 public static void dichotomy(int num){ int[] li = {-2,-1,0,1,2,3,4,5,6,7,8,9}; int start = 0; int end = li.length -1; boolean isFind = fal
阅读全文