
Java
止语---
这个作者很懒,什么都没留下…
展开
-
TestNG使用教程详解
一、前言TestNG是Java中的一个测试框架, 类似于JUnit 和NUnit, 功能都差不多, 只是功能更加强大,使用也更方便。详细使用说明请参考官方链接。TestNG是一个测试框架,其灵感来自JUnit和NUnit,但引入了一些新的功能,使其功能更强大,使用更方便。TestNG是一个开源自动化测试框架;TestNG表示下一代(Next Generation的首字母)。 TestNG类似于JUnit(特别是JUnit 4),但它不是JUnit框架的扩展。它的灵感来源于JUnit。它的目的是优于JU原创 2020-12-09 21:14:37 · 5204 阅读 · 0 评论 -
Java多线程(3)—生产者/消费者
这个是一个典型的线程问题。生成者(Productor)生产商品并交给店员(Clerk),消费者(Customer)从店员处购买商品,店员一次性只能购买固定数量的产品,如果生产者试图生成更多的商品,店员会叫生产者暂停一下,如果店里仓库有空位再通知生产者继续生产,如果店中没有商品了,就会告诉消费者等一下,如果店中有商品了就通知消费者来购买。这个场景和我们实际情况也比较贴切,这样就会想可能存在如下问题:生产者比消费者快的时,消费者会漏掉部分数据取不到(产品过剩导致浪费,出现滞销) 消费者比生产者快时,消费者原创 2020-11-07 08:20:09 · 296 阅读 · 0 评论 -
Java多线程(2)—线程同步
介绍了线程的基本概念和方法,终于进入到上一章中介绍的取款问题了。回顾下在支付宝和微信上做了绑定卡之后,查询为3000,此时在支付宝和微信的均取出2000,此时银行卡变成了-1000那上述取款如何实现呢?package blog;public class TestAccount { public static void main(String[] args) { Account account = new Account(); //多线程对象 User u_wei.原创 2020-11-06 22:19:13 · 205 阅读 · 0 评论 -
Java多线程(1)—线程初探
一、引言 说到线程,经常会听到线程同步,首先是为什么要线程同步?什么是线程同步?因为当有多个线程要同时访问一个变量或对象时,如果这些线程的执行(比如既有读又有写操作)时,就会导致变量值或对象的状态出现混乱,从而导致程序异常。这里以在银行账户取钱为例,工行的卡里有¥3000,此时微信和支付宝做查询的时候,均显示3000元,如果微信支付2000,支付宝支付2000这里就会使用到多线程。在使用之前先了解下多线程的的知识什么时候需要使用到多线程?程序需要同时执行...原创 2020-11-04 22:01:17 · 364 阅读 · 0 评论 -
Java面向对象特征介绍
面向对象不仅仅在java中有体现,在C++中也有。Java面向对象三大特征封装和隐藏 继承 多态1.封装和隐藏Java中通过将数据声明为private私有,再提供公共(public)的方法,getXXX和setXXX给外部使用,实现对类属性的操作,以期达到以下目的:隐藏一个类中不需要对外部提供的实现细节 调用者只能通过公共方法来实现对属性的访问和操作,以限制对属性的非法或者不合理的操作 便于修改和维护,增加其可维护性1.1属性函数设置对于设置setXXX和getXXX在eclip原创 2020-10-24 21:00:52 · 316 阅读 · 0 评论 -
Java方法的参数传递
Java中方法的参数传递只有一种方式:值传递将实际参数值的副本(复制品)传入方法中,而参数本身不受影响。所谓形参就是方法声明定义的时候的参数,实参就是方法调用时实际传递给形参的参数。介绍之前先简单了解下Java内存模型那对于常见的一个学习的类就是Person,关于以下初始化如何实现的呢?//对象声明Person p = new Person();//变量定义int i = 1;栈中存放的对象的地址,真正的对象存在堆中,这就是引用对象1.基本数据类型方法参数传递接着.原创 2020-10-24 10:14:54 · 2679 阅读 · 0 评论 -
Java之包装类
目前了解到,基本数据类型有:int,float,double,boolean,char等,基本数据类型不具备对象特性,比如无法像对象一样调用方法,且功能较为简单。因此为了让基本数据类型也拥有对象的特性,Java为每个基本数据类型提供了一个包装类,这样就可以像操作对象那样来操作基本数据类型。基本类型和包装类之间的对应关系:那包装类的功能是什么呢?包装类主要提供了两大类方法...原创 2019-12-22 21:21:20 · 139 阅读 · 0 评论 -
Java之String,StringBuffer,StringBuilder
1.String 在 Java 中,字符串被作为 String 类型的对象处理。String 类位于 java.lang 包中。默认情况下,该包被自动导入所有的程序。String 对象创建后则不能被修改,是不可变的,所谓的修改其实是创建了新的对象,所指向的内存空间不同。那创建String对象的方法如下:public class Tesmain { public static...原创 2019-12-22 20:37:51 · 197 阅读 · 0 评论 -
Java之static
可以基于一个类创建多个该类的对象,每个对象都拥有自己的成员,互相独立。然而在某些时候,希望该类所有的对象共享同一个成员。此时就是static 发挥其功效的地方,即存在以下结论: static修饰的成员变量和方法,从属于类 普通变量和方法从属于对象 静态方法不能调用非静态成员,编译会报错 Java 中被 static 修饰的成员称为静态成员或类成员。它...原创 2019-12-07 20:10:06 · 199 阅读 · 0 评论 -
Java线程池总结
Java线程池总结 前一篇文章Java中实现多线程关键词整理中介绍了Java中创建多线程的各种办法,里面提到了线程池,这里对Java中的线程池做一个总结。1. 关于ThreadPoolExecutor为了更好地控制多线程,JDK提供了一套Executor框架,帮助开发人员有效的进行线程控制,其本质就是一个线程池。其中ThreadPoolExecutor是线程池中最核心的一个类,...转载 2019-11-17 08:50:58 · 206 阅读 · 0 评论 -
Java之异常
异常在很多语言中都有,使用方法也是大同小异,基本的都是:try{ //危险动作}catch(Exception ex){ //尝试处理}因此卸载catch中的程序必定与所抛出的异常有关。注意异常Exception类型的对象可以是任何它的子类的实例。还有一种情况是自己编写异常,抛出异常的时候必须声明异常。类似函数调用的过程。1、有风险会抛出异常的程序代...原创 2019-11-10 08:56:44 · 282 阅读 · 0 评论 -
Java中工程、包、类介绍
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 ...转载 2019-11-10 08:54:50 · 898 阅读 · 0 评论 -
Java之主数据类型的包装
所谓的主数据类型的包装,就是需要以对象的方式来处理primitive主数据类型时,就把它包装起来,这个的前提是Java 5.0以上的版本。每一个primitive主数据类型都有个包装用的类,且因为这些包装类都是在java.lang这个包中,所以无需import它们。对应的包装类的名称都是依照所包装的类型设定的,只是将其第一个字母改成大写即可。包装类有: Boolean C...原创 2019-10-05 10:46:03 · 207 阅读 · 0 评论 -
Java之静态
静态这个概念在很多编程语言中都有体现,比如C++中,Java是面向对象的,某些特殊情况下,通常是实用方法但是不需要类的实例。static这个关键字就可以标记处需要类实例的方法。1、静态方法1)静态方法不能调用非静态的变量 带有静态方法的类通常(虽然不一定是这样)不打算要被初始化的,我们知道抽象类是不能被初始化的。静态方法是在物管特定类的实例情况下进行的,静态...原创 2019-10-05 08:42:36 · 594 阅读 · 0 评论 -
Java之空间分配
编写Java程序不可避免的就会创建对象,因此早晚都会释放掉它,从堆、栈、范围、构造器、超极构造器、空间引用等进行介绍。在Java中,程序较为在乎内存中的两种区域:对象的生存空间堆(heap)和方法以及变量的生存空间栈(stack).1)实例变量实例变量是被声明在类中而不是方法中。它们代表每个独立对象的“字段”,实例变量存在于所属的对象中public class Duck{...原创 2019-10-04 21:09:28 · 609 阅读 · 0 评论 -
Java之接口
在多态一文中,知道派生的动物类的子类有Cat、Lion、Hippo、Dog等类,实现过程中发现,想完善动物类的某些属性,比如动物可能有doFriendly()和beFriendly()方法,故而可能想着再次进行完善,有以下几种方法1)把该方法加入到Animal中;所有动物类都可以基础*Friendly()方法,不需要修改所有子类的代码,但是比如Hippo没有*Friendly()方法...原创 2019-10-04 16:20:15 · 194 阅读 · 0 评论 -
Java之多态
多态性是面向对象编程的又一个重要特征,它是指在父类中定义的属性和方法被子类继承之后,可以具有不同的数据类型或表现出不同的行为,这使得同一个属性或方法在父类及其各个子类中具有不同的含义。对面向对象来说,多态分为编译时多态和运行时多态。其中编译时多态是静态的,主要是指方法的重载,它是根据参数列表的不同来区分不同的方法。通过编译之后会变成两个不同的方法,在运行时谈不上多态。而运行时多态是动态的...原创 2019-10-04 11:30:20 · 159 阅读 · 0 评论