随笔分类 - Java
Java相关的知识点,以及自己学习中的心得笔记等
摘要:常见的组装方式有五种: 一、使用 + 二、使用StringBuilder 三、使用StringBuffer 四、使用String类中的concat方法 五、使用apache.common中StringUtils.join方法 组装用时从短到长: StringBuilder < StringBuffe
阅读全文
摘要:什么是Hive ? Hive是构建在hadoop HDFS上的一个数据仓库; Hive的表/数据 就是HDFS中目录/文件 数据仓库: 是一个面向主题的、集合的、不可更新的、随时间不变化的数据集合; 主要是用于支持企业或组织的决策分析处理 数据仓库的结构和建立过程 抽取E:把数据源的数据按照一定的方
阅读全文
摘要:测试代码打包: 打包命令:mvn clean package 接口代码打包:
阅读全文
摘要:官方网站:https://hc.apache.org/ 使用maven,在xml中引用 第一个demo 第一个.java文件 执行结果: 将配置文件进行优化 在项目resources目录下,建一个application.properties文件,将自己需要用的常量可以放在配置文件中 在测试类中,将配
阅读全文
摘要:下载使用: 1、进入下载地址:https://repo1.maven.org/maven2/com/github/dreamhead/moco-runner/ 2、选择版本0.11.0,下载moco-runner-0.11.0-standalone.jar 这个jar包 moco的get和post(
阅读全文
摘要:方法一: 将两个链表放在同一个TreeSet中,然后遍历TreeSet,将TreeSet的值放入一个新链表中 验证: 输出结果:
阅读全文
摘要:注解@Test标签 @Test:是最基本的注解,用来把方法标记为测试的一部分,是最基本的注解 注解@BeforeMethod和@AfterMethod标签 @BeforeMethod 在每个方法之前运行;@AfterMethod 在每个方法之后运行 注解@BeforeClass和@AfterClas
阅读全文
摘要:TestNG支持参数化测试,一种是通过xml文件进行参数化,第二种就是DataProvider参数化 1️⃣通过xml文件 类代码:需要两个注解,一个是@Test,标注是个测试类;另一个是@Parameters,写着传入的参数 2️⃣通过DataProvider:Object[][] 一、将值直接传
阅读全文
摘要:笔者最近在用testng+maven时,运行编写的xml文件时,编辑器报了一个错,如下 报错: [TestNGContentHandler] [WARN] It is strongly recommended to add "<!DOCTYPE suite SYSTEM "http://testng
阅读全文
摘要:AOP 三种织入方式 AOP的实现:JdkProxy和Cglib 由AopProxyFactory根据AdvisedSupport对象的配置来决定 默认策略,如果目标类是接口,则使用JDKProxy来实现, JDKProxy的核心:InvocationHandler接口和Proxy类 JDKProx
阅读全文
摘要:IOC 控制反转:Inversion of Control spring core最核心部分 DI 依赖注入 dependency inversion 实现: 把底层类作为参数,传递给上层类,实现上层对下层的“控制” set注入、接口注入、注释注入、构造器注入 DL 实现: dependency l
阅读全文
摘要:java.util.concurrent:提供了并发编程的解决方案: CAS 是java.util.concurrent.atomic包的基础 AQS 是java.util.concurrent.locks包,及一些常用类,比如Semophore,ReentrantLock等类的基础 分类: 线程执
阅读全文
摘要:在使用spring boot写接口时,有时会遇到签名的情况,会计算sign值之类的,我们的值计算中,就涉及到了将参数和参数值,按照“k1=v1&k2=v2....”格式拼接,也就是“参数=值&参数=值...”。我采用的思路如下: 这种方法的缺点就是,最后一个参数值后面还会再有一个"&"。但是,我们项
阅读全文
摘要:如何创建线程池? 有五种: ThreadPoolExecutor的构造函数: corePoolSize :核心线程的数量 maxmumPoolSize: 线程不够用时,最大的线程数 workQueue:任务等待队列 keepAliveTime:核心线程外的线程,不会立即被销毁,而是等待至keepAl
阅读全文
摘要:线程安全问题的原因: 解决方法: 在同一时刻,有且只有一个线程操作这些数据;其他线程必须等到这个线程,再对共享数据进行操作 互斥锁: 互斥性:在同一时间,只有一个线程,持有某个对象锁。通过这种特性,来实现多线程的协调机制。在同一时间,只有一个线程对需要同步的代码块进行访问。互斥性,也被称为操作的原子
阅读全文
摘要:判定对象是否属于垃圾: 判断对象的引用数量 通过判断对象的引用数量来决定,是否被回收,引用数量=0,被当做垃圾处理 每个对象实例,都有一个引用计数器,被引用+1,完成引用-1 优点:执行效率高,程序执行影响较小 缺点:无法检测循环引用的情况,导致内存泄露 可达性分析算法 通过判断对象的引用链是否可达
阅读全文
摘要:yield函数:线程让步 对锁的行为不会有影响 如何中断线程? 调用interrupt(),通知线程,应该被中断了: 如果线程处于 被阻塞的状态,那么线程将立即退出 被阻塞的状态,并抛出InterruptedException的异常 如果线程处于正常活动的状态,那么将该线程的 中断标志 设置为tru
阅读全文
摘要:Java的反射: Robot.java: ReflectDemo.java: 运行结果:
阅读全文
摘要:对于时间字符串:2017-04-25,表达式如下: 四个分组: 有 4 个左括号,所以有 4 个分组: main方法中调用:
阅读全文