在本周周四进行了java测试,有一点感触,测试的题目是用Java实现一个ATM机的管理系统。之前老师提前给我们样卷,结果考试的时候换了题型,瞬间脑子空白,一时不知道怎么下手,因为暑假虽然涉猎了java,但是没有深入系统地进行学习,导致了对很多知识一知半解,遇到很多问题束手无策。经过三个钟头的挣扎,只完成了一小部分的代码,只有简单的set()get()函数,以及简单的输出界面,能够输出ATM的初始界面,能够输入银行卡号,数据库也只是建立了一个大概。

后来在课后又对代码进行了断断续续的修改,对从网上找来的数据库代码段进行了较大修改,然后简单的补了其他部分的程序。

通过这次测试,我明白了初学者离熟练编写代码还有一段很长的距离,基本数据类型、数组、程序控制语句等都得在练习中熟悉,在之后的几天内,得知有人已经编出了图形窗口界面(为了简便起见我并没有往这方面想),便突然有了斗志,成长路上有这样全心向前的战友相信对我的正面帮助会很大。

以后每天要抽出时间进行代码习题的练习,熟能生巧,同时也要多读相关书籍,争取能在期末考试得到自己想要的结果。

account类

package zuoye;

//信1705-3 20173526 赵剑峰

import java.io.IOException;
import java.io.Serializable;
import java.util.Scanner;
import java.util.ArrayList; public class Account implements Serializable
{
private String accountID;//账户
private String accountname;//姓名
private String operatedate;//时间
private int operatetype;//操作类型
private String accountpassword;//密码
private int accountbalance;//余额
private int amount;//流水金额
public String getaccountID()
{
return accountID;
}
public String getaccountname()
{
return accountname;
}
public String getoperatedate()
{
return operatedate;
}
public int getoperatetype()
{
return operatetype;
}
public String getaccountpassword()
{
return accountpassword;
}
public int getaccountbalance()
{
return accountbalance;
}
public int getamount()
{
return amount;
}
public void setaccountID(String accountID)
{
this.accountID=accountID;
}
public void setaccountname(String accountname)
{
this.accountname=accountname;
}
public void setoperatedate(String operatedate)
{
this.operatedate=operatedate;
}
public void setoperatetype(int operatetype)
{
this.operatetype=operatetype;
}
public void setaccountpassword(String accountpassword)
{
this.accountpassword=accountpassword;
}
public void setaccountbalance(int accountbalance)
{
this.accountbalance=accountbalance;
}
public void setamount(int amount)
{
this.amount=amount;
}
public Account(String accountID,String accountname,String operatedate,int operatetype,String accountpassword,int accountbalance,int amount)
{
this.accountID=accountID;
this.accountname=accountname;
this.operatedate=operatedate;
this.operatetype=operatetype;
this.accountpassword=accountpassword;
this.accountbalance=accountbalance;
this.amount=amount;
}
public Account(){}
public String tostring() {
return "id="+accountID+",accountname="+accountname+",accountpassword="+accountpassword+",accountbalance="+accountbalance;
}
public String tostring1() {
return "id="+accountID+",accountname="+accountname+",operatedate="+operatedate+",operatetype="+operatetype+",aamount="+amount;
}
public static void main(String[] args) throws IOException
{
AccountManager a=new AccountManager();
ArrayList<Account> people=new ArrayList<Account>();
ArrayList<Account> list=new ArrayList<Account>(); a.show(people);
a.enterID(people,list);
}
}

AccountManager类

import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.io.Serializable;
import java.text.SimpleDateFormat;
import java.util.Scanner;
import java.util.ArrayList;
import java.util.Date;
public class AccountManager {
public void addAccount(ArrayList<Account> people)
{
Scanner in = new Scanner(System.in);
Account ac=new Account();
System.out.println("请输入账户的账号、名称、密码、账户余额");
String accountID=in.next();
String accountname=in.next();
String accountpassword=in.next();
int accountbalance=in.nextInt();
ac.setaccountID(accountID);
ac.setaccountname(accountname);
ac.setaccountpassword(accountpassword);
ac.setaccountbalance(accountbalance);
people.add(ac);
File file = new File("accountinformation.txt");
// 对象输出流
ObjectOutputStream out = null;
try {
// 将数组对象写入文件
out = new ObjectOutputStream(new FileOutputStream(file));
out.writeObject(people);
out.flush();
out.close();
}catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
public void show(ArrayList<Account> people)
{
File file = new File("accountinformation.txt");
ObjectInputStream in = null;
try {
in = new ObjectInputStream(new FileInputStream(file));
people = (ArrayList<Account>) in.readObject();
for (int i=0;i<people.size();i++) {
Account s=people.get(i);
System.out.println(s.tostring());
} }catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
}
public void enterID(ArrayList<Account> people,ArrayList<Account> list)
{
int a=1;
int flag=-1;
while(a==1) {
System.out.println("**************************************************");
System.out.println(" 欢迎使用中国工商银行自动柜员系统");
System.out.println("请输入您的账号:");
Scanner in = new Scanner(System.in);
String ID=in.next();
if(ID.length()!=8)
{
System.out.println("该卡不是工行卡");
a=1;
}
File file = new File("accountinformation.txt");
ObjectInputStream oin = null;
try {
oin = new ObjectInputStream(new FileInputStream(file));
people = (ArrayList<Account>) oin.readObject();
for (int i=0;i<people.size();i++) {
Account s=people.get(i);
if(s.getaccountID().equals(ID))
{
flag=i;a=1;
}
}
if(flag==-1)
{
System.out.println("该账号不存在");
}
else
{
a=2;
} }catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
}
enterpassword(people,flag,list);
}
public void enterpassword(ArrayList<Account> people,int i,ArrayList<Account> list)
{
System.out.println("**************************************************");
System.out.println(" 欢迎使用中国工商银行自动柜员系统");
System.out.println("请输入您的密码:");
Account s=new Account();
File file = new File("accountinformation.txt");
ObjectInputStream oin = null;
try {
oin = new ObjectInputStream(new FileInputStream(file));
people = (ArrayList<Account>) oin.readObject();
s=people.get(i);
}catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
for(int j=0;j<3;j++)
{
Scanner in = new Scanner(System.in);
String password=in.next();
if(s.getaccountpassword().equals(password))
{
enter(s.getaccountID(),people,list);
}
else
System.out.println("密码录入错误");
}
System.out.println("该账号三次录入密码错误,该卡已被系统没收,请与工行及时联系处理");
}
public void enter(String a,ArrayList<Account> people,ArrayList<Account> list)
{
System.out.println("******************************************************");
System.out.println(" 欢迎"+a+"使用中国工商银行自助柜员系统");
System.out.println("1、存款;");
System.out.println("2、取款;");
System.out.println("3、转账汇款;");
System.out.println("4、修改密码;");
System.out.println("5、查询余额;");
System.out.println("请输入选择:");
Scanner in = new Scanner(System.in);
int operatetype=in.nextInt();
switch(operatetype) {
case 1:deposit(a,people,list);break;
case 2:withdrawal(a,people,list);break;
case 3:transfer(a,people,list);break;
case 4:alter(a,people,list);break;
case 5:seclect(a,people,list);break;
}
}
public void deposit(String a,ArrayList<Account> people,ArrayList<Account> list)
{
System.out.println("******************************************************");
System.out.println(" 欢迎"+a+"用户使用中国工商银行自助柜员系统");
System.out.println("请输入存款金额:");
Scanner in = new Scanner(System.in);
String money=in.next();
int flag=0;
if(money=="q")
{
enterID(people,list);
}
int num=Integer.valueOf(money);
File file = new File("accountinformation.txt");
ObjectInputStream oin = null;
try {
oin = new ObjectInputStream(new FileInputStream(file));
people = (ArrayList<Account>) oin.readObject();
}catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
Account ac=new Account();
for(int i=0;i<people.size();i++)
{
ac=people.get(i);
if(ac.getaccountID().equals(a))
{
flag=i;
break;
}
}
ac.setaccountbalance(ac.getaccountbalance()+num);
people.set(flag,ac);
System.out.println("当前账户存款操作成功。");
System.out.println("当前账户余额为:"+ac.getaccountbalance());
int operatetype=1;
ac.setoperatetype(operatetype);
ac.setamount(num);
Date date = new Date();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
String dateNowStr = sdf.format(date);
ac.setoperatedate(dateNowStr);
list.add(ac);
File file1 = new File("accountlist.txt");
// 对象输出流
ObjectOutputStream out = null;
ObjectOutputStream out1 = null;
try {
out = new ObjectOutputStream(new FileOutputStream(file));
out.writeObject(people);
out.flush();
out.close();
// 将数组对象写入文件
out1 = new ObjectOutputStream(new FileOutputStream(file1));
out1.writeObject(list);
out1.flush();
out1.close();
}catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
System.out.println("******************************************************");
System.out.println(" 欢迎"+a+"用户使用中国工商银行自助柜员系统");
System.out.println("1、返回输入账户界面");
System.out.println("2、返回操作界面");
int i=in.nextInt();
switch(i)
{
case 1:enterID(people,list);break;
case 2:enter(a,people,list);break;
}
}
public void withdrawal(String a,ArrayList<Account> people,ArrayList<Account> list)
{
System.out.println("******************************************************");
System.out.println(" 欢迎"+a+"用户使用中国工商银行自助柜员系统");
System.out.println(" 当前账户每日可以支取2万元。");
System.out.println(" 1、100元");
System.out.println(" 2、500元");
System.out.println(" 3、1000元");
System.out.println(" 4、1500元");
System.out.println(" 5、2000元");
System.out.println(" 6、5000元");
System.out.println(" 7、其他金额");
System.out.println(" 8、退卡");
System.out.println(" 9、返回");
Scanner in = new Scanner(System.in);
int x=in.nextInt();
int flag = 0;
int money = 0;
switch(x)
{
case 1:money=100;break;
case 2:money=500;break;
case 3:money=1000;break;
case 4:money=1500;break;
case 5:money=2000;break;
case 6:money=5000;break;
case 8:enterID(people,list);break;
case 9:enter(a,people,list);break;
}
if(x==7)
{
System.out.println("******************************************************");
System.out.println(" 欢迎"+a+"用户使用中国工商银行自助柜员系统");
System.out.println("******************************************************");
System.out.println("请输入取款金额:");
money=in.nextInt();
}
File file = new File("accountinformation.txt");
ObjectInputStream oin = null;
try {
oin = new ObjectInputStream(new FileInputStream(file));
people = (ArrayList<Account>) oin.readObject();
}catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
Account ac=new Account();
for(int i=0;i<people.size();i++)
{
ac=people.get(i);
if(ac.getaccountID().equals(a))
{
flag=i;
break;
}
}
if(ac.getaccountbalance()<money)
{
System.out.println("账户余额不足");
}
else
{
ac.setaccountbalance(ac.getaccountbalance()-money);
System.out.println("******************************************************");
System.out.println(" 欢迎"+a+"用户使用中国工商银行自助柜员系统");
System.out.println("当前账户取款操作"+money+"元成功。");
System.out.println("当前账户余额为:"+ac.getaccountbalance()+"元成功。");
}
int operatetype=2;
ac.setoperatetype(operatetype);
ac.setamount(money);
Date date = new Date();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
String dateNowStr = sdf.format(date);
ac.setoperatedate(dateNowStr);
list.add(ac);
people.set(flag, ac);
File file1 = new File("accountlist.txt");
ObjectOutputStream out = null;
ObjectOutputStream out1 = null;
try {
out = new ObjectOutputStream(new FileOutputStream(file));
out.writeObject(people);
out.flush();
out.close();
// 将数组对象写入文件
out1 = new ObjectOutputStream(new FileOutputStream(file1));
out1.writeObject(list);
out1.flush();
out1.close();
}catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
System.out.println("******************************************************");
System.out.println(" 欢迎"+a+"用户使用中国工商银行自助柜员系统");
System.out.println("1、返回输入账户界面");
System.out.println("2、返回操作界面");
int i=in.nextInt();
switch(i)
{
case 1:enterID(people,list);break;
case 2:enter(a,people,list);break;
}
}
public void transfer(String a,ArrayList<Account> people,ArrayList<Account> list)
{
int flag=0;
int money=0;
Account ab=new Account();
Scanner in = new Scanner(System.in);
File file = new File("accountinformation.txt");
ObjectInputStream oin = null;
try {
oin = new ObjectInputStream(new FileInputStream(file));
people = (ArrayList<Account>) oin.readObject();
}catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
Account ac=new Account();
for(int i=0;i<people.size();i++)
{
ac=people.get(i);
if(ac.getaccountID().equals(a))
{
flag=i;
break;
} }
int num=0;
int leap=-1;
while(num==0)
{
System.out.println("******************************************************");
System.out.println(" 欢迎"+a+"用户使用中国工商银行自助柜员系统");
System.out.println("******************************************************");
System.out.println("请输入转账账户:");
String b=in.next();
for(int i=0;i<people.size();i++)
{
int j=0;
ab=people.get(i);
if(ab.getaccountID().equals(b))
{
leap=i;
num=1;
break;
}
else
{
num=0;
}
}
if(num==0)
{
System.out.println("该账户不存在");
}
if(num==1)
{
int num2=0;
while(num2==0)
{
System.out.println("******************************************************");
System.out.println(" 欢迎"+a+"用户使用中国工商银行自助柜员系统");
System.out.println("******************************************************");
System.out.println("请输入转账金额:");
money=in.nextInt();
if(ac.getaccountbalance()<money)
{
System.out.println("户余额不足");
System.out.println("您当前的余额为"+ac.getaccountbalance()+"元");
}
if(ac.getaccountbalance()>=money)
{
num2=1;
}
}
String name=ab.getaccountname();
System.out.println("******************************************************");
System.out.println(" 欢迎"+a+"用户使用中国工商银行自助柜员系统");
System.out.println("******************************************************");
System.out.println("请确认是否向"+name+"转账"+money+"元");
System.out.println("确认请按Y,否请按N");
String x=in.next();
if(x.equals("X"))
{
enter(a,people,list);
}
if(x.equals("Y"))
{
System.out.println("******************************************************");
System.out.println(" 欢迎"+a+"用户使用中国工商银行自助柜员系统");
System.out.println("******************************************************");
System.out.println("成功向"+name+"转账"+money+"元");
ac.setaccountbalance(ac.getaccountbalance()-money);
ab.setaccountbalance(ab.getaccountbalance()+money);
System.out.println("当前账户余额为:"+ac.getaccountbalance());
num=1;
}
}
}
people.set(flag, ac);
people.set(leap, ab);
int operatetype=3;
ac.setoperatetype(operatetype);
Date date = new Date();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
String dateNowStr = sdf.format(date);
ac.setoperatedate(dateNowStr);
ac.setamount(money);
list.add(ac);
File file1 = new File("accountlist.txt");
ObjectOutputStream out = null;
ObjectOutputStream out1 = null;
try {
out = new ObjectOutputStream(new FileOutputStream(file));
out.writeObject(people);
out.flush();
out.close();
// 将数组对象写入文件
out1 = new ObjectOutputStream(new FileOutputStream(file1));
out1.writeObject(list);
out1.flush();
out1.close();
}catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
System.out.println("******************************************************");
System.out.println(" 欢迎"+a+"用户使用中国工商银行自助柜员系统");
System.out.println("1、返回输入账户界面");
System.out.println("2、返回操作界面");
int i=in.nextInt();
switch(i)
{
case 1:enterID(people,list);break;
case 2:enter(a,people,list);break;
}
}
public void alter(String a,ArrayList<Account> people,ArrayList<Account> list)
{
int flag=0;
Scanner in = new Scanner(System.in);
File file = new File("accountinformation.txt");
ObjectInputStream oin = null;
try {
oin = new ObjectInputStream(new FileInputStream(file));
people = (ArrayList<Account>) oin.readObject();
}catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
Account ac=new Account();
for(int i=0;i<people.size();i++)
{
ac=people.get(i);
if(ac.getaccountID().equals(a))
{
flag=i;
break;
} }
int num=0;
while(num==0)
{
System.out.println("******************************************************");
System.out.println(" 欢迎"+a+"用户使用中国工商银行自助柜员系统");
System.out.println(" 请输入当前密码:");
String pass=in.next();
if(ac.getaccountpassword().equals(pass))
{
num=1;
}
if(num==0)
System.out.println(" 当前密码录入错误");
if(num==1)
{
System.out.println(" 请输入修改密码:");
String n1=in.next();
System.out.println(" 请输入确认密码:");
String n2=in.next();
if(n1.equals(n2))
{
num=1;
ac.setaccountpassword(n1);
}
else
{
num=0;
System.out.println(" 修改密码与确认密码不一致");
}
}
}
System.out.println("******************************************************");
System.out.println(" 欢迎"+a+"用户使用中国工商银行自助柜员系统");
System.out.println("当前账户密码修改成功");
people.set(flag, ac);
/*int operatetype=4;
ac.setoperatetype(operatetype);
Date date = new Date();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
String dateNowStr = sdf.format(date);
ac.setoperatedate(dateNowStr);
list.add(ac);*/
File file1 = new File("accountlist.txt");
ObjectOutputStream out = null;
ObjectOutputStream out1 = null;
try {
out = new ObjectOutputStream(new FileOutputStream(file));
out.writeObject(people);
out.flush();
out.close();
// 将数组对象写入文件
out1 = new ObjectOutputStream(new FileOutputStream(file1));
out1.writeObject(list);
out1.flush();
out1.close();
}catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
System.out.println("******************************************************");
System.out.println(" 欢迎"+a+"用户使用中国工商银行自助柜员系统");
System.out.println("1、返回输入账户界面");
System.out.println("2、返回操作界面");
int i=in.nextInt();
switch(i)
{
case 1:enterID(people,list);break;
case 2:enter(a,people,list);break;
}
}
public void seclect(String a,ArrayList<Account> people,ArrayList<Account> list)
{
System.out.println("******************************************************");
System.out.println(" 欢迎"+a+"用户使用中国工商银行自助柜员系统");
System.out.println("******************************************************");
Scanner in = new Scanner(System.in);
File file = new File("accountinformation.txt");
ObjectInputStream oin = null;
try {
oin = new ObjectInputStream(new FileInputStream(file));
people = (ArrayList<Account>) oin.readObject();
}catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
Account ac=new Account();
for(int i=0;i<people.size();i++)
{
ac=people.get(i);
if(ac.getaccountID().equals(a))
{
break;
} }
System.out.println("当前账户余额为:"+ac.getaccountbalance()+"元");
System.out.println("账户清单信息为:");
File file1 = new File("accountlist.txt");
ObjectInputStream oon = null;
try {
oon = new ObjectInputStream(new FileInputStream(file1));
list = (ArrayList<Account>) oon.readObject();
}catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
Account ab=new Account();
for(int i=0;i<list.size();i++)
{
ab=list.get(i);
if(ab.getaccountID().equals(a))
{
String op = null;
if(ab.getoperatetype()==1)
op="存款";
if(ab.getoperatetype()==2)
op="取款";
if(ab.getoperatetype()==3)
op="转账汇款";
System.out.println(""+ab.getoperatedate()+" "+op+" "+ab.getamount());
} }
System.out.println("******************************************************");
System.out.println(" 欢迎"+a+"用户使用中国工商银行自助柜员系统");
System.out.println("1、返回输入账户界面");
System.out.println("2、返回操作界面");
int i=in.nextInt();
switch(i)
{
case 1:enterID(people,list);break;
case 2:enter(a,people,list);break;
}
}
}

  

第一次Java测试及感触(2018.9.20)的更多相关文章

  1. 第一次Java测试及感触

    周四进行了java测试,感触很深,测试的题目是用Java实现一个ATM机的管理系统.最后3个小时后,我没有完成这次测试,但是我找到了自己的很多不足,明确了自己的问题究竟在哪里. 关于这次测试我不会的最 ...

  2. 第一次java测试有感

    今天下午的Java测试体会深刻,真的可能我一暑假学的还没有今天一下午学的多.但通过今天一下午地与Java近距离接触 ,我感受到我与真正的Java距离还是特别远的.以后我的路还很长,我对Java仍然还是 ...

  3. 第一次java程序测试感受

    第一次JAVA程序设计测试,检验了一个暑假的成果.显而易见,我做的并不是很好,程序最起码的输入输出以及方法的定义还是没有问题的,但是考到了文件输入输出便看出来了.对于文件的输入输出,虽然我预习到那里, ...

  4. PCB 所建不凡 AWS 技术峰会2018 • 深圳站 2018.9.20

    在去[AWS 技术峰会2018 • 深圳站]之提前并没有AWS提前做功课,主要PCB这行业基本自己搭服务器搭应用,不会买云服务器.由于没用过企业级的云服务器,对云这方面还是了解还是非常有限的. 市面上 ...

  5. java 测试框架 TestNG

    Java中print.printf.println的区别 printf主要是继承了C语言的printf的一些特性,可以进行格式化输出 print就是一般的标准输出,但是不换行 println和prin ...

  6. Java测试工具

    1.   开源测试工具: http://www.open-open.com/43.htm 2.   10款常用的JAVA测试工具 :http://developer.51cto.com/art/200 ...

  7. Install Oracle Java JDK/JRE 7u55 on Fedora 20/19, CentOS/RHEL 6.5/5.10

    What’s new in Sun/Oracle Java 7 VM Compressed 64-bit object pointers Garbage-First GC (G1) JSR 292: ...

  8. 在Jmeter中使用自定义编写的Java测试代码

    我们在做性能测试时,有时需要自己编写测试脚本,很多测试工具都支持自定义编写测试脚本,比如LoadRunner就有很多自定义脚本的协议,比如"C Vuser","Java ...

  9. 如何使用 Java 测试 IBM Systems Director 的 REST API

    转自: http://www.ibm.com/developerworks/cn/aix/library/au-aix-systemsdirector/section2.html 如何使用 Java ...

随机推荐

  1. ligerui tab 部分记载

    打开一个Tab $(".strength_box").click(function () { var id = $(this).attr("data"); va ...

  2. Sublime Text 开发神器相关 插件安装 功能介绍

    无法安装更多见http://blog.csdn.net/freshlover/article/details/44261229/ Sublime Text 3 安装插件管理 Package Contr ...

  3. 线程池工具ThreadPoolExecutor

    JDK1.5中引入了强大的concurrent包,其中最常用的莫过了线程池的实现ThreadPoolExecutor,它给我们带来了极大的方便,但同时,对于该线程池不恰当的设置也可能使其效率并不能达到 ...

  4. angular轮播图

    还是直接上代码比较好 <!doctype html><html lang="en"><head> <meta charset=" ...

  5. Android 主Module引用依赖Module,却无法使用里面的依赖库

    如果模块化开发中遇到 多模块的AndroidManifest.xml没有合并or多模块的资源文件没有合并or模块A include了模块B,而无法使用模块B内依赖的其他aar包中的类的时候or提示Su ...

  6. stm32 ADC模数转换 ADC多通道 ADC DMA

    通过调节电位器,改变AD转换值和电压值 STM32F1 ADC 配置步骤 1.使能GPIO时钟和ADC时钟 2.配置引脚模式为模拟输入 3.配置ADC的分频因子 4.初始化ADC参数,ADC_Init ...

  7. HTML5 canvas 在线涂鸦

    插件地址 http://bencentra.github.io/jq-signature/ 采用技术 jq-signature.min.js Developed using jQuery 2.1.4. ...

  8. Linux下的库文件搜索路径

        对于以压缩包发布的软件,在它的目录下通常都有一个配置脚本configure,它的作用确定编译参数(比如头文件位置.连接库位置等),然后生成Makefile以编译程序.可以进入该软件的目录,执行 ...

  9. 异常-ERROR yarn.ApplicationMaster: User class threw exception: java.sql.SQLException: Communications link failure

    1 详细异常信息 ERROR yarn.ApplicationMaster: User class threw exception: java.sql.SQLException: Communicat ...

  10. YOLO---Darknet下的 GPU vs CPU 速度

    YOLO---Darknet下的 GPU vs CPU 速度 目录 一.基础环境 二.安装Darknet-yolo v3 三.CPU下测试 四.GPU下测试 五.测试速度对比结论 正文 一.基础环境 ...