学习Java开发必用的几个工具

Java编程学习的几个典型实例详解
转载 &更新时间:日 10:09:35 & 作者:chung001
这篇文章主要给大家介绍了Java编程学习的几个典型实例,其中包括模拟酒店房间管理系统、螺旋矩阵
例或者百鸡问题的变形等经典实例,具体来一起看详细内容吧,需要的朋友可以参考学习。
一、模拟酒店房间管理系统,需要如下几个功能:
&&&&&&&&&&&&&&&&&&&& 1、1 in 房间号 客人名字 入住功能
&&&&&&&&&&&&&&&&&&&& 1、2 out 房间号 退房功能
&&&&&&&&&&&&&&&&&&&& 1、3 search 房间号 查询房间状态 如果房间号为-1 则输出所有房间状态
&&&&&&&&&&&&&&&&&&&& 1、4 quit 或 exit 退出
&&&&&&&&&&&&& 提示:酒店所有的房间用二维数组来实现
代码实现如下:
import java.util.S
public class HotelDemo {
//写在类里面,则每个方法都可以访问到,避免了参数传递的繁琐;
static int h=5,w=10;
static String[][] rooms=new String[5][10];
public static void main(String[] args) {
@SuppressWarnings("resource")
Scanner s=new Scanner(System.in);
while(true){
System.out.println("请输入 in,out,search,quit:");
String temp=s.next();
int room=0;
if("in".equals(temp)){//防止出现空指针异常;
System.out.println("输入房间号:");
room=s.nextInt();
System.out.println("输入名字:");
String name=s.next();
if(in(room,name)) System.out.println("入住完成!");
System.out.println("room"+room+"name"+name);
}else if("out".equals(temp)){
System.out.println("输入房间号:");
room=s.nextInt();
if(out(room)) System.out.println("退房完成!");
System.out.println("out"+room);
}else if("search".equals(temp)){
System.out.println("输入房间号(-1代表全部):");
room=s.nextInt();
search(room);
}else if("quit".equals(temp)||"exit".equals(temp)){
System.out.println("命令错误!");
private static boolean search(int room) {
if(room==-1){
//打印所有的信息;
for(int i=0;i&h;i++){
for(int j=0;j&w;j++){
int room2=(i+1)*100+j+1;
System.out.print(room2+"\t");
System.out.println();
for(int k=0;k&w;k++){
System.out.print(rooms[i][k]==null?"empty":rooms[i][k]);
System.out.print("\t");
System.out.println();
System.out.println();
int r=room/100-1;
int c=room%100-1;
if(r&0||r&=h||c&0||c&=w){
System.out.println("房间号错误!");
System.out.println(rooms[r][c]==null?"empty":rooms[r][c]);
private static boolean out(int room) {
int r=room/100-1;
int c=room%100-1;
if(r&0||r&=h||c&0||c&=w){
System.out.println("房间号错误!");
if(rooms[r][c]==null||"".equals(rooms[r][c])){//
System.out.println("此房间没有人!");
rooms[r][c]=
private static boolean in(int room, String name) {
int r=room/100-1;
int c=room%100-1;
if(r&0||r&=h||c&0||c&=w){
System.out.println("房间号错误!");
if(rooms[r][c]!=null){//
System.out.println("此房间已经有人!");
rooms[r][c]=
二、螺旋矩阵& 例
import java.util.S
public class SpiralSquare01{
public static void main(String[]
@SuppressWarnings("resource")
s=new Scanner(System.in);
System.out.println("请输入螺旋方阵的长");
int indexY=s.nextInt();
System.out.println("请输入螺旋方阵的宽");
int indexX=s.nextInt();
if(indexX&=0||indexY&=0){
System.out.println("输入的数字不合法!");
square=new int[indexX][indexY];
for(int i=1;i&=indexX*indexY;){
while(y&square[x].length-1&&square[x][y+1]==0){
square[x][y++]=i++;
while(x&square.length&&square[x][y]==0){
square[x++][y]=i++;
while(y&0&&square[x-1][y-1]==0){
square[x-1][--y]=i++;
while(x&1&&square[x-1][y]==0){
square[--x][y]=i++;
for(int i=0;i&square.i++){
for(int j=0;j&square[i].j++){
System.out.print(square[i][j]+"\t");
System.out.println();
运行结果:
三、经典数学问题:百鸡问题的变形
题目描述:有36个人,36块砖,每人搬了一次,正好搬完。其中男每人每次搬4块,女每人每次搬3块,小孩两人每次搬一块。问 男、女、小孩各多少人?
public class TestBrick
public static void main(String[]
int manNum=0;
int womanNum=0;
for(int i=0;i&=9;i++){
for(int j=0;j&12;j++){
if(((i*4+j*3+(36-i-j)/2)==36)&&((36-i-j)%2==0)){
//注意:孩子的人数必须是偶数,否则会出现一个孩子一次也没有搬的情况,不符合题意
womanNum=j;
System.out.println("男的的人数是"+manNum);
System.out.println("女的的人数是"+womanNum);
System.out.println("孩子的人数是"+(36-manNum-womanNum));
四、倒计时的算法:输入一个秒数,要求转换为XX小时XX分XX秒的格式输出出来
import java.util.S
public class TestTime {
* @param args
public static void main(String[] args) {
// TODO Auto-generated method stub
@SuppressWarnings("resource")
Scanner s=new Scanner(System.in);
System.out.println("请输入秒数:");
int second =s.nextInt();
int hour=second/3600;
int minite=second%3600/60;
int sec=second%60;
System.out.println("转换后为:"+hour+"小时"+minite+"分"+sec+"秒");
五、密码的自动生成器:密码由大写字母/小写字母/数字组成,生成六位随机密码;
//密码的自动生成器:密码由大写字母/小写字母/数字组成,生成六位随机密码;
import java.util.R
public class TestPassword
@param args
public static void main(String[]
TODO Auto-generated method stub
pardStore=new char[62];
//把所有的大写字母放进去
for(int i=0;i&20;i++){
pardStore[i]=(char)('A'+i);
//把所有的小写字母放进去
for(int i=26;i&52;i++){
pardStore[i]=(char)('a'+i);
//吧0到9放进去
for(int i=52;i&62;i++){
pardStore[i]=(char)('0'+(i-52));
//生成6位随机密码
r=new Random();
for(int i=0;i&6;i++){
int n=r.nextInt(62);
System.out.print(pardStore[n]);
六、写一个彩票的生成代码: 1-33随机选7个不重复的数字;
import java.util.R
//写一个彩票的生成代码: 1-33随机选7个不重复的数字;
public class TestLuckyTicket {
* @param args
public static void main(String[] args) {
// TODO Auto-generated method stub
int[] luckTickets=new int[7];
Random r=new Random();
for(int i=0;i&luckTickets.i++){
luckTickets[i]=r.nextInt(8)+1;
for(int j=0;j&i;j++){
if(luckTickets[i]==luckTickets[j]){
for(int i=0;i&luckTickets.i++){
System.out.print(luckTickets[i]+",");
七、定义一个字符串变量String str="床前明月光,疑是地上霜。举头望明月,低头思故乡。"。
打印成如下格式的:
低& 举& 疑& 床
头& 头& 是& 前
思& 望& 地& 明
故& 明& 上& 月
乡& 月& 霜& 光
。& ,& 。& ,
public class TestPoet
@param args
public static void main(String[]
TODO Auto-generated method stub
str="床前明月光,疑是地上霜。举头望明月,低头思故乡。";
poet=str.toCharArray();
boolean flag=
while(flag){
for(int j=l;j&=(0+i);){
System.out.print(poet[j]);
System.out.println();
if(l==24){flag=}
八、九宫格的输出:九宫格就是每一行,每一列,斜着的一列和反斜着的一列的所在的数字之和均相等;最基本的是三行三列=9格就是很出名的九宫格;还可以推广到5*5=25个格;只要行和列的个数均相等并且是奇数就可以;
import java.util.S
public class JiuGongGe {
* @param args
public static void main(String[] args) {
// TODO Auto-generated method stub
@SuppressWarnings("resource")
Scanner s=new Scanner(System.in);
System.out.println("请输入一个大于等于3的奇数");
int length=s.nextInt();
if(length&3||length%2==0){
System.out.println("输入的数字不合法!");
int[][] nineTable=new int[length][length];
int indexX=0;
int indexY=0;
indexY=(nineTable.length-1)/2;
nineTable[indexX][indexY]=1;
for(int i=1;i&nineTable.length*nineTable.i++){
if(indexY&=nineTable.length&&indexX&=0){
}else if(indexX&0&&indexY&nineTable.length){
indexX=nineTable.length-1;
}else if(indexY&=nineTable.length&&indexX&0){
indexX=indexX+2;
}else if(nineTable[indexX][indexY]!=0){
indexX=indexX+2;
nineTable[indexX][indexY]=i+1;
for(int i=0;i&nineTable.i++){
for(int j=0;j&nineTable[i].j++){
System.out.print(nineTable[i][j]+" ");
System.out.println();
System.out.println();
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对脚本之家的支持。
您可能感兴趣的文章:
大家感兴趣的内容
12345678910
最近更新的内容
常用在线小工具JDK包括jdk(java开发工具)和jre(java运行环境),这是支持java的基本条件。java还有其他的开发工具,如:eclipse,netBeans,JBuilder现在最流行的Eclipse:
其他答案(共3个回答)
然后使用JCreator是很好的选择开始使用高级的开发工具 对以后的发展不是很好 初学
基本的东西过一次手 还是好很多
在学习Java的过程中主要围绕以下几个方面来学习:
1.时刻提醒自己Java是一种OOP语言工具,而不仅仅是编码,只有这样才能总体把握和运用JAVA。
2.在学...
学习任何语言都没有诀窍,唯一的方法是:
多看:多看语言开发指导书籍
多想:要理解书籍中的代码的真实意义
多练:自己动手写血代码
多测:多自己的代码多多测试,分析...
java来源于c++,由于c++的类库庞大,继承机制过于繁琐,出错率太高,于是将c++删减掉这些庞杂的东西就成了java,由于java来源于c的指针机制,所以非...
java ee 是java平台的一种,Java 平台有三个版本,这使软件开发人员、服务提供商和设备生产商可以针对特定的市场进行开发: * Java SE(Jav...
其实,编程思想谁都有,对个别语言了解个大体思路倾向就够了,没必要大费时间在看那些理论上,(你都知道的!不用再学了,浪费时间)。还是回头学好JAVA语言特点,和它...
答: 可以出吞噬者,但是对于你的技能提升没有什么效果。W是打三下可以啃一口,因为有冷却时间,效果还不如出鬼索的狂暴之刃。狂徒是因为有狂徒之心这个被动,在打完小团战以后...
答: 网络和软件都很不错的 还可以根据你自己的情况来选择 如果你英语和高数不错的话 可以学软件 如果都不是很理想的话 可以选择网络啊 我认为网络还是不错的 网络工程师...
答: 七十年代的计算机网络
X.25 分组交换网:各国的电信部门建设运行
各种专用的网络体系结构:SNA,DNA
Internet 的前身ARPANET进行实验运行
关于三国武将的排名在玩家中颇有争论,其实真正熟读三国的人应该知道关于三国武将的排名早有定论,头十位依次为:
头吕(吕布)二赵(赵云)三典韦,四关(关羽)五许(许楮)六张飞,七马(马超)八颜(颜良)九文丑,老将黄忠排末位。
关于这个排名大家最具疑问的恐怕是关羽了,这里我给大家细细道来。赵云就不用多说了,魏军中七进七出不说武功,体力也是超强了。而枪法有六和之说,赵云占了个气,也就是枪法的鼻祖了,其武学造诣可见一斑。至于典韦,单凭他和许楮两人就能战住吕布,武功应该比三英中的关羽要强吧。
其实单论武功除吕布外大家都差不多。论战功关羽斩颜良是因为颜良抢军马已经得手正在后撤,并不想与人交手,没想到赤兔马快,被从后背赶上斩之;文丑就更冤了,他是受了委托来招降关羽的,并没想着交手,结果话没说完关羽的刀就到了。只是由于过去封建统治者的需要后来将关羽神话化了,就连日本人也很崇拜他,只不过在日本的关公形象是扎着日式头巾的。
张飞、许楮、马超的排名比较有意思,按理说他们斗得势均力敌都没分出上下,而古人的解释是按照他们谁先脱的衣服谁就厉害!有点搞笑呦。十名以后的排名笔者忘记了,好象第11个是张辽。最后需要说明的是我们现在通常看到的《三国演义》已是多次修改过的版本,笔者看过一套更早的版本,有些细节不太一样。
规模以上工业企业是指全部国有企业(在工商局的登记注册类型为"110"的企业)和当年产品销售收入500万元以上(含)的非国有工业企业。
工行的网银没有软键盘,主要通过安全控件来保证安全,只有安装了工行的安全控件,才能在工行网页上输入密码。
修改密码的操作,你可以在登陆工行网银以后,在“客户服务”的“修改客户密码”里找到相关链接。
公司为员工租房,属于一种福利,不应该缴纳个人所得税的
租赁协议应该公司与房主统一签订
这需要公司的业绩,经营状况,还有大众对公司认可度的高低决定的。刚上市的时候行情的好大家也愿意买公司的股票的话翻倍很容易。但如果行情不景气,或者大家对公司认可度不高的话,上市跌破开盘价也是可能的。至于公司之后涨多少,就要视公司的质地等各方面情况而定,一般来说中小企业股价定价较高,成长性较大;大型企业的话股票定价较低,股价会平稳增长。原始股是公司上市之前发行的股票。在中国证券市场上,“原始股”一向是赢利和发财的代名词。在中国股市初期,在股票一级市场上以发行价向社会公开发行的企业股票,投资者若购得数百股,日后上市,涨至数十元,可发一笔小财,若购得数千股,可发一笔大财,若是资金实力雄厚,购得数万股,数十万股,日后上市,利润便是数以百万计了。
那不是一言两语能说清楚 的。
做为一位局长,又要管内部的事,又要管外部的事,我想第一部,是跟手下的人打好关系。
先会做人,再慢慢学者去做事
对员工的吸引和满意情况。离职率计算方法:举例说明现假设某公司一年的前六个月中每个月的期初人数、期末人数、录用人数、离职人数如下表所示:该公司在一月份时跳槽员工的较多,故二、三月份开始大量招聘新员工,四、五、六月份员工的变动则较为平稳。我们来讨论用不同的计算方法来求离职率。一月份二月份三月份四月份五月份六月份合计期初人数-录用人数离职人数期末人数-1.
借款时,借:其他应收款,贷:现金;报销时,如果借条已经跨月做账了,就开张收据(借条不能退回),借:管理费用等,贷:其他应收款。
在山东省药品集中采购网“资料下载”栏(网页右下角),下载“药品生产企业变更配送企业申请表(生产企业用)”。填写清楚并逐个盖章后上交省药品集中采购领导服务中心。
只要没有大问题都是容易过得哈,成都铁路学校的招生条件是这样的,我就拿成都机电工程学校的招生条件来说吧,高铁、动车乘务,女生:身高163cm-172cm,男生:173cm-185cm,铁路客运员,女生:160cm-173cm,男生:170cm-184cm。当然还要身体健康啦,到时候会体检的哦。
成都机电工程学校是经国家教育主管部门批准成立的全日制中等专业学校,位于成都郫都区,与很多部省级单位都有合作,想了解更多可以去学校官网看看
学校环境挺好的,又大,教学楼,行政楼这些应有尽有,在学校的学生还挺多的,在校学生有16000左右。师资方面都是一些专家,教授,工程师,研博生这些。是莘莘学子学习的圣地和成人、成才、就业、创业的摇篮。
这个就多了,我就跟你推荐一个比较好的吧,我个人觉得 成都铁路职业学校的话就是成都机电工程学校比较好,很大,3000多亩占地,三个校区,我感觉是真的很大了,风景也不错,交通也方便,铁路方面的专业也挺火的。你可以去看看,也挺方便的。
据我所知,永隆厂家排名一直靠前,这家拥有良好的口碑,在业内知名度高,我买的服装包装盒,大部分都是永隆厂家生产的,质量非常好。
正在加载...
Copyright &
Corporation, All Rights Reserved
确定举报此问题
举报原因(必选):
广告或垃圾信息
激进时政或意识形态话题
不雅词句或人身攻击
侵犯他人隐私
其它违法和不良信息
报告,这不是个问题
报告原因(必选):
这不是个问题
这个问题分类似乎错了
这个不是我熟悉的地区新人专享好礼凡未购买过小册的用户,均可领取三张 5 折新人专享券,购买小册时自动使用专享券,最高可节省 45 元。小册新人 5 折券最高可省 15 元小册新人 5 折券最高可省 15 元小册新人 5 折券最高可省 15 元注:专享券的使用期限在领券的七天内。一键领取购买小册时自动使用专享券前往小册首页本活动仅适用于小册新用户知道了Java 开发者应该学习的 8 个工具原文链接:
在Stormpath(一款用户管理和认证服务),我们认真对待质量和效率。任何一个优秀的工匠,仅仅拥有天赋是不够的,你在工作中还需要正确的工具。工程学不仅仅是科学,更是艺术。所以,在Stormpath,尽管我们拥有天赋,我们仍不断寻找所需的有用的工具。我们的工程师一直渴望向团队其他人分享新工具。现在,让我们向所有充满天赋的Java开发者推荐工具。
在这篇文章中,我将分享我们Java团队日常工作使用的工具,并介绍如何使用它们,分享一些实用的小技巧。
1. Groovy&
我们使用Groovy来写Java测试。为什么?因为它提供了下面这些能力:
宽松的Java语法:这是Java语法,但有些其他规则,比如分号,变量类型,访问修饰符都是可选的。后者对于测试意义重大,由于访问修饰符不是严格的,你的测试可以读取并断言类内部的状态。举个例子,我们假设下面一个类:
public class Foo {
& & private String bar =
& & public void setBar(String bar) {
& && &&&this.bar =
如果你想测试setBar(String)方法正常(即能正确修改bar的值),你可以用Groovy方便的读取变量值。Java中不允许这样的操作(在不涉及Java反射机制前提下)。
@Test public void test() {
& & def foo = new Foo()
& & foo.setBar("hello")
& & Assert.isTrue(foo.bar.equals("hello"))
& & //groovy 允许我们访问私有变量 bar
强大的断言:Groovy提供强大多样的assert,被称作power assertion statement。Groovy的强大断言能够清晰的展示验证失败时的结果。另外,它比Java更有可读性。
Assert.isTrue(foo.bar.equals("hello"));
可以用Groovy这样写:
assert foo.bar == "hello"
当断言失败时它会显示一个非常清晰的描述:
assert foo.bar == "goodbye"
& && & |& &|& &|
& && & |& &|& &false
& && & |& &hello
& && & Foo@12f41634
Mocking:使用Java时,动态模拟框架(如:EasyMock,PowerMock和Mockito)非常流行,这些框架可以在Groovy下方便的使用。耶!
2. 支持REST风格&
我们的后端提供 REST API 服务来创建和管理账户,众多SDK中,我们的Java SDK提供特定语言客户端模型做简单交互。其中一些SDK也提供网页来和后端交互,从而不用编写代码。
为了保证网络框架的互操作性,它们必须表现的一样。因此我们需要创建一系列基于HTTP的测试。这是我们的兼容性测试工具。这个项目由我们的SDK工程师维护,他们精通不止一种语言。因此我们需要跨语言测试工具,谢天谢地 Rest-assured 来了。
Rest-assured是Java领域特定语言(DSL domain-specific language)用来测试REST服务,它简单易用易上手,甚至对于没有用过Java的开发者也是难以置信的强大。它提供先进的特性,比如细节配置、过滤器、定制分析、跨站请求伪造(CSRF)和OAuth 2.0。它提供非常简单的语法:given-when-then。
举个例子:让我们来看它如何校验“向/login路径发送post认证信息请求返回302状态码”:
given() .accept(ContentType.HTML) .formParam("login", account.username)
.formParam("password", account.password) .when() .post(LoginRoute) .then() .statusCode(302)
你可以在我们的 TCK repo 中看到更多Rest-assured测试&3. Cargo Plugin&
为了让我们的Java SDK按照TCK校验,我们需要开启我们其中一个Web服务,以便测试在上面执行。讲道理的话,我们需要每次构建时自动测试,Gargo Plugin就是为此而生。
Cargo用标准的方式简单封装各种应用容器。我们使用Cargo可以毫不费力的在不同的Servlet容器(比如Jetty和Tomcat)中运行我们的代码。我们只需要在我们的pom文件中配置Cargo Maven2 Plugin来启动一个Servlet容器(Tomcat7),在测试阶段编译最近的War包,你可以在我们的Servlet插件例子中看到配置。
我们能讨论哪些关于Git你不了解的事情呢?想要深入了解Git,你可以看他们的About页。
我们的Java SDK团队遍布全球,而且彼此之间几乎从未坐在一起。Git保障了我们写的每一行代码,这里有一些非常棒的命令,节省了我们大量的时间:
git mv –force foo.java Foo.java:在大小写敏感的文件系统中改变文件名是非常麻烦的,这个命令能让git意识到foo.java重命名为Foo.javagit diff-tree –no-commit-id –name-only -r &commit_ID&:查看所有在&commit_ID&这次提交中更改的文件。git diff –name-only SHA1 SHA2:列举出在SHA1和SHA2两次提交之间所有更改的文件。在一个文件的历史提交记录中查询某个字符串:创建search.sh文件,粘贴下面代码:
在一个文件的历史提交记录中查询某个字符串:创建search.sh文件,粘贴下面代码:
git rev-list --all $2 | (
& && &&&git grep -F $1 $revision $2
命令可以通过这种方式执行:sh ./search.sh string_to_search file_where_to_search&5. GitHub&
GitHub不仅仅为我们的Git项目提供托管服务,它为代码开源并让全世界都看到做出了巨大贡献。这鼓舞了人们去尝试、去交流、去练习,很大程度提高了每个人的项目质量和大家的技术水平。
GitHub允许我们跟进我们的issue.游客可以提交新需求和报告bug。他们也可以收到我们项目进展的通知。&6.Maven
Maven已经足够出名了。所以我不会用长篇幅解释为什么我们使用Maven做构建管理。然而我可以分享几个技巧,让你的Maven更得心应手:
管理依赖:在一个多模块的项目中,你需要在根pom.xml的&dependencyManagement&标签中定义每一个依赖。一旦你这样做,所有下层模块都可以不需要指定版本。这种管理依赖的方式(比如版本升级)可以集中处理,所有下层模块都会自动识别。比如在根pom.xml:
&dependencyManagement&
&&&dependencies&
& & &dependency&
& && &&&&groupId&io.jsonwebtoken&/groupId&
& && &&&&artifactId&jjwt&/artifactId&
& && &&&&version&${jjwt.version}&/version&
& &&&&/dependency&
&&&dependencies&
&dependencyManagement&
下层模块的pom.xml:
&dependencies&
&&&dependency&
& && &&groupId&io.jsonwebtoken&/groupId&
& && &&artifactId&jjwt&/artifactId&&&&!-- 注意这里没有指定版本 --&
&&&/dependency&
&dependencies&
阻止下层模块编译:在发布的时候我们需要所有下层模块一起发布,但是我们如何避免某个模块(比如example)发布呢?很简单,只需要把下面的pom文件加入到你不想发布的模块:
& & &groupId&org.apache.maven.plugins&/groupId&
& & &artifactId&maven-deploy-plugin&/artifactId&
& & &version&2.7&/version&
& & &configuration&
& && &&&&skip&true&/skip&&&&!-- (敲黑板)这是重点 --&
& & &/configuration&
跳过集成测试:我们有很多集成测试需要很长时间编译。这些测试确保了后端整体运行正常.在频繁的本地部署期间,我们多次因为新功能或修复bug而更改代码。并不需要每次在本地构建的时候执行这些测试,这会拖慢开发进度。因此我们要确保我们的Java SDK只在我们的CI服务器上运行的时候执行集成测试。可以通过下面方法:
根pom.xml文件:
&properties&
& & &skipITs&true&/skipITs&
&/properties&
& & &plugins&
& && &&&&plugin&
& && && && &&groupId&org.apache.maven.plugins&/groupId&
& && && && &&artifactId&maven-failsafe-plugin&/artifactId&
& && && && &&version&2.19.1&/version&
& && && && &&configuration&
& && && && && & &skipITs&${skipITs}&/skipITs&
& && && && && & &includes&
& && && && && && &&&&include&**/*IT.*&/include&
& && && && && & &/includes&
& && && && &&/configuration&
& && && && &&executions&
& && && && && &&execution&
& && && && && && & &goals&
& && && && && && && &&&&goal&integration-test&/goal&
& && && && && && && &&&&goal&verify&/goal&
& && && && && && & &/goals&
& && && && && &&/execution&
& && && && &&/executions&
& && &&&&/plugin&
&&&/plugins&
所以你可以想象到,所有集成测试文件以IT结尾,来保证配置正常运作,比如:ApplicationIT.groovy 或 I18nIT.groovy
然后,如果我们想让集成测试运行,我们执行以下构建:mvn clean install -DskipITs=false&7. JWT Inspector&
我们的Java SDK使用JWT(JSON Web Token)通过安全可靠的方式传输数据。当我们测试排查时,我们需要分析从浏览器接收到的JWT内容。token信息可能在URL,cookie或本地储存中。JWT Inspector是一款浏览器插件,让我们可以从控制台或内置的界面解码JSON Web Token。你不需要在你的app中跟踪token信息。你只需要按一下插件的按钮,JWT Inspector会自动展示你所需要的所有信息,然后你可以复制其中任何token信息。&8. Postman&
我们重度依赖REST API请求,编写REST请求并不方便,具体语法取决于我们所用的工具,比如curl或HTTPie。两者都易读,但语法难记。通常,我们需要排查问题时,我们需要测试一些请求。当出问题时,我们无法判断原因是请求还是后端。我们浪费了大量时间来怀疑我们写的请求是否正确。
Postman让书写REST API请求变得简单。它也提供很多功能,比如保存、复用请求、生成代码(java,python,curl等等),还可以批量按序执行请求。Postman通过友好的界面帮助你构建复杂的命令,你所需要做的就是填写一个表单,简直不能再棒了。
使用正确的工具不仅仅帮助你节省时间提高效率,还能提高你作品的质量并享受日常工作。我们要时刻留心,发现并学习新的工具。一开始可能需要一些努力,但你总会意识到付出的时间是值得的。
英文原文:
https://dzone.com/articles/eight-tools-every-java-developer-should-know-and-l 译文链接:
http://www.codeceo.com/article/8-tools-every-java-developer-love.html
相关热门文章分享}

我要回帖

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信