
Java深入学习
文章平均质量分 67
JDK9
夫唯弗居,是以不去。
展开
-
lombok无法对$前缀的字段进行代码生成
lombok无法对$前缀的字段进行代码生成lombok作为一款java的代码辅助工具,使用广泛,这里不讨论lombok的使用方法,只是写一下lombok的踩坑记录。如题所示,lombok对于$前缀的字段是无法进行诸如get,set方法的生成的,实例如下,Demo使用lombok的Getter和Setter注解:@Getter@Setterpublic class Demo { private String name; private String $type;}编译后生成的c原创 2020-07-17 15:56:12 · 354 阅读 · 0 评论 -
Hbase和Hive的区别:Hadoop数据存储分析
在Hadoop生态系统当中,二十多个组件共同构建起大数据处理的平台解决方案,但是很多初入门的同学,常常会发现其中的某些组件似乎指向解决同一个问题,比如说Hbase和Hive两者,都是关于数据存储方面的。那么这两者难道是一样的吗,Hbase和Hive的区别是什么?首先,从定义上来说,Hbase和Hive是两个层面的东西。Hive是一个构建在Hadoop基础设施之上的数据仓库,通过Hive可以使用...转载 2020-04-16 15:09:18 · 1133 阅读 · 0 评论 -
mysql性能优化总结(2020最新)
总述在我们使用mysql的过程中,随着我们对mysql的深入了解和使用,mysql性能优化是无法避免的话题。mysql性能优化划分1.sql优化避免索引失效定期查看慢日志记录,优化代码2.表设计优化字段都给定默认值,不设为null业务表拆分 分为业务基本表和业务扩展表不使用触发器3.架构优化分库分表(垂直,水平)缓存读写分离主从复制4.配置优化...原创 2020-04-16 14:55:24 · 540 阅读 · 0 评论 -
JUnit4教程(五):Theory(理论)测试
一、简介JUnit4引入了Theory(理论)机制,在JUnit的官方介绍上(https://github.com/junit-team/junit/wiki/Theories)看了半天,发现其实这个概念类似于参数化测试。在参数化测试中,我们需要给定所有具体的测试数据组,而在理论测试中,用户只需给定了一些数据,JUnit自动利用这些数据组合出各种各种可能的组合来执行测试。转载 2018-05-09 17:37:26 · 2053 阅读 · 0 评论 -
JUnit4教程(四):利用Rule扩展JUnit
一、Rule简介Rule是JUnit4中的新特性,它让我们可以扩展JUnit的功能,灵活地改变测试方法的行为。JUnit中用@Rule和@ClassRule两个注解来实现Rule扩展,这两个注解需要放在实现了TestRule借口的成员变量(@Rule)或者静态变量(@ClassRule)上。@Rule和@ClassRule的不同点是,@Rule是方法级别的,每个测试方法执行时都会调用被注解转载 2018-05-09 17:36:09 · 7456 阅读 · 0 评论 -
JUnit4教程(三):assertThat语法与Matcher
一、使用JUnit的一般测试语法org.junit.Assert类里有各种断言方法,大部分情况下我们会像下面这个例子一样编写测试:Java代码 public class AssertThatTest { private int id = 6; private boolean trueValue = true; priv转载 2018-05-09 17:29:24 · 2867 阅读 · 0 评论 -
JUnit4教程(二):参数化测试与假定(Assumption)
一、一个简单的测试编写一个只有一种运算的计算器: Java代码 public class Calculator { public static double divide(int dividend, int divisor) { return dividend / divisor; } }转载 2018-05-09 17:28:09 · 1374 阅读 · 0 评论 -
JUnit4教程(一):基本应用
一、简介这个估计大家都比我清楚了,JUnit是一个单元测试框架,我们可以基于它编写用来测试代码的代码,从而更方便地进行回归测试。 二、编写测试与断言(Assertion)在Junit4中,编写一个测试方法只需要使用@Test注解并保证被注解的方法满足以下条件方法可见性为public方法无返回值方法没有参数在一个测试中,往往需要满足某种条件才能断定测试转载 2018-05-09 17:26:21 · 10043 阅读 · 0 评论 -
java多线程学习——初识多线程
线程的概念线程是计算机系统中能够独立运行的最基本单位,他们基本不拥有系统资源(系统资源能够分配到的最小单位是进程)多线程的概念当一个进程拥有一个以上的线程时,即为多线程。线程的五种状态线程的状态分为五种,分别是:New(新建) Runnable(就绪)Running(运行) Block(阻塞) Dead(结束)原创 2017-05-27 14:11:38 · 3278 阅读 · 0 评论 -
java多线程学习——4种创建多线程的方式
在java中,多线程的创建方式总共有4种,其中继承Thread类与实现Runnable接口这两种方法最简单,但是实际开发过程中用的比较多的是另外两种方式:一种是实现Callable接口的方式来创建多线程,一种是利用线程池创建多线程。后两者相较前两者而言,虽然实现方式上复杂了些,但是都能够定义返回值,同时能够抛出异常。以下是四种方式创建多线程的java代码实例:1.继承Thread类pub...原创 2017-05-27 11:49:13 · 1856 阅读 · 0 评论 -
Javascript中==和===的区别
在javascript中"=="的作用当==两边的内容是字符串时,则比较字符串的内容是否相等。当==两边的内容是数字时,则比较数字的大小是否相等。当==两边的内容是对象或者是对象的函数属性时,则比较内存地址是否相等。==和===的区别==是比较二者的值【相等符】===是比较二者的值和类型【全等符】例如:alert("20"==20);//true,这是因为==会自动原创 2017-04-02 11:48:10 · 8098 阅读 · 0 评论 -
Sunday算法java实现
简介Daniel M.Sunday于1990年提出的字符串模式匹配。其效率在匹配随机的字符串时比其他匹配算法还要更快,同时其实现方式比KMP,BM的实现容易太多。 算法原理作为一个字符串模式匹配算法,Sunday算法的核心在于通过跳过尽可能多的字符来提高匹配效率,此处如何跳过尽可能多的字符串是本算法的核心思想。举例:在字符串this is a big city(母串)中查找原创 2017-04-06 17:25:18 · 15939 阅读 · 1 评论 -
Java语言中==和equals的区别详解
首先,Java中的==比较的是两个对象的引用的地址是否一样,如下:Person a = new Person();Person b = new Person();Person c = a;System.out.print(a==b);System.out.print(a==c);执行结果为falsetrue代码分析一波:程序先是在JVM中创建了两个Person对...原创 2017-03-04 18:46:14 · 3925 阅读 · 0 评论 -
解决eclipse 点击new菜单后没有新建java project或class选项问题
在使用eclipse 开发工具时,经常有小伙伴会遇到点击new菜单后没有新建java project或class选项的问题,这是一个比较好的解决方案原创 2017-01-13 09:50:48 · 52970 阅读 · 21 评论