实例谈谈Java面向对象

虽然我学JAVA两年多了,基础还可以,一些常用的框架也会弄,设计模式也会个几种。但是我还不敢我说我JAVA或者软件多么多么在行,对面向对象思想有多少多少领悟。那为什么我还要在这里对人现眼呢,嗯,我还是想用一个JAVA初级水平的角色和大家一起来探讨JAVA软件编程的经验,分享自己的见地,欢迎喜爱JAVA的朋友前来拍板提出异议。

java面向对象

大家都知道JAVA的核心就是面向对象思想,也就是OO,但是说起来很容易,真正想弄个透彻,并不是那么容易的。说来说去面向对象的特征也就那几个:抽象,封装,继承,多态,其实一个抽象就可能难倒70%-80%的程序员,包括什么软件工程师(我更喜欢JAVA程序员的职称)。不是说简单就容易,二分法算法很简单吧,可是1947就出现的二分算法,直到1961年才有世界上第一个没有BUG的二分算法(盗用下经典的例子啦)。还是别扯远了,来个例子:

业务需求如下:
1.一个客户可以有多套房子的房贷
2.签署贷款合同以后要监控是否按照还贷计划表来执行
3.自动还款,当多套房贷时,一次还款可能包括多个房贷的额度,需要自动匹配
4.可以提前还款
5.可以延长或缩短贷款的时间
6.利率可以调整
7.滞纳金的问题

是不是看的有点头昏呢,其实我对贷款买房业务也不了解,为了大致把问题用面向对象进行描述,那么我们就开始进行问题抽象(这里不包括领域驱动设计DDD)。

对象分析

首先我们知道肯定有一个事务用来表示贷款买房的人,用Coustomer来表示,他有什么属性呢,人我们就用姓名区分好了,因为他贷款要买房,肯定有一些钱(否则还是不要有买房的念头吧)
房子就用House来表示,房子有什么属性呢,肯定有价格啦,利率啦,年限啦.每个月你要还多少,或者一年还多少(只有爱存不存ICBC,没有爱还不还)。贷款就用Credit来表示,贷款就有客户啦,还钱时间啦,房子啦。

你贷款银行就会跟你签合同,你跑不了了。合同就用agreement来表示,贷款合同有什么属性呢,合同肯定有贷款,是否坏账标记,滞纳金。

业务分析

客户买房子,假设所购的房子已经付了首付(不然银行不可能给你贷,除非你爸是李刚)。要跟银行贷款,那么就要和银行签订贷款合同。
贷款买的房子可能不止一套,我们就不管银监会的神马限购令了。
客户还款,你每隔多少时间还银行钱,那么就会自动根据利率给你匹配计算了(因为银行工作的MM有点懒哦),如果还的钱不够,那么就会给你记坏账了,你拖得太久
银行就会通知你要付款,要是你没有能力还了,银行就会销毁合同,收走你的房,花你的钱,抢你的女朋友,打你的娃(开玩笑啦)。
这里我们的业务方法加了年限和利率的改变实现,主要是为了简单易懂。最好使用JAVA DEGISN PATTER 中的Observer(观察者设计模式)来实现,只要贷款监听倒利率或年限改变,就会自动进行操作。
后面我们再用观察者设计模式来解决这个问题。
package org.javaer.code.test;
import java.util.List;
import java.util.Map;
class Customer {
 /**
  * 客户
  */
 private String username = “donglinmeimei”;
private double money = 0.0;
public String getUsername() {
  return username;
 }
public void setUsername(String username) {
  this.username = username;
 }
public double getMoney() {
  return money;
 }
public void setMoney(double money) {
  this.money = money;
 }
}
class House {
 /**
  * 房子
  */
 private String num = “3#116″;
private double price = 0.0;
private double rax = 0.0;// 利率
private int years = 0;// 年限
public String getNum() {
  return num;
 }
public void setNum(String num) {
  this.num = num;
 }
public double getPrice() {
  return price;
 }
public void setPrice(double price) {
  this.price = price;
 }
public double getRax() {
  return rax;
 }
public void setRax(double rax) {
  this.rax = rax;
 }
public int getYears() {
  return years;
 }
public void setYears(int years) {
  this.years = years;
 }
}
class Credit {
 /**
  * 贷款
  */
 private Customer customer;
 
 private int backTime;
private List<House> housees;
// 每月还多少
 private Map<House, Double> toPay;
public Customer getCustomer() {
  return customer;
 }
public void setCustomer(Customer customer) {
  this.customer = customer;
 }
public int getBackTime() {
  return backTime;
 }
public void setBackTime(int backTime) {
  this.backTime = backTime;
 }
public List<House> getHousees() {
  return housees;
 }
public void setHousees(List<House> housees) {
  this.housees = housees;
 }
public Map<House, Double> getToPay() {
  return toPay;
 }
public void setToPay(Map<House, Double> toPay) {
  this.toPay = toPay;
 }
}
class Agreement {
 /**
  * 合同
  */
 private Credit credit;
 private boolean isContinue;
// 滞纳金
 private double amercement = 0.0;
 public Credit getCredit() {
  return credit;
 }
 public void setCredit(Credit credit) {
  this.credit = credit;
 }
 public boolean isContinue() {
  return isContinue;
 }
 public void setContinue(boolean isContinue) {
  this.isContinue = isContinue;
 }
 public double getAmercement() {
  return amercement;
 }
 public void setAmercement(double amercement) {
  this.amercement = amercement;
 }
 
}
interface BankService {
 // 买房,同时产生贷款和合同
 public void buyHousees(Customer customer, List<House> houseed);
// 还款,计算是否有滞纳金
 public double payMoney(int backTime, Agreement agreement, double money,
   Customer customer);
// 改变利率
 public Map<House, Double> changeRax(House house, double rax);
// 改变年限
 public Map<House, Double> changeYears(House house, int backTime);
}
class BankServiceImpl implements BankService {
public void buyHousees(Customer customer, List<House> houseed) {
 }
public double payMoney(int backTime, Agreement agreement, double money,
   Customer customer) {
  return money;
 }
public Map<House, Double> changeRax(House house, double rax) {
  return null;
 }
public Map<House, Double> changeYears(House house, int backTime) {
  return null;
 }
}
public class Bank{
 public static void main(String[] args) {
  Customer customer = new Customer();
  customer.setUsername(“董林美美”);
  customer.setMoney(10);
 
  List<House> housees = new ArrayList<House>();
  House house = new House();
  house.setNum(“3#116″);
  house.setPrice(1500000);
  house.setRax(0.96);
  house.setYears(20);
  housees.add(house);
 
  House house1 = new House();
  house1.setNum(“4#112″);
  house1.setPrice(1100000);
  house.setRax(0.155);
  house.setYears(30);
  housees.add(house1);
 
  House house2 = new House();
  house2.setNum(“1#001″);
  house2.setPrice(2000000);
  house.setRax(0.12);
  house.setYears(100);
  housees.add(house2);
  
  BankService bs = new BankServiceImpl();
  Credit credit = bs.buyHousees(customer, housees);//买房
  Agreement agreement = bs.orderAgreement(customer, credit);//签订合同
  if(!agreement.isContinue())return;//合同作废
  else{
   agreement.setAmercement(bs.payMoney(1, agreement, 111111, customer));//还款    
   for(Entry<House,Double> entry : agreement.getCredit().getToPay().entrySet()){
    if(agreement.getAmercement().get(entry.getKey())>=entry.getValue()/3){
     agreement.setContinue(false);
     System.out.println(agreement.getCredit().getCustomer().getUsername()+”,你的账户产生坏账,合同终止”);
     break;
    }else{
 
            System.out.println(agreement.getAmercement().get(entry.getKey())>=0?
      agreement.getCredit().getCustomer().getUsername()+”,房子”+entry.getKey().getNum()+”的滞纳金为:”+agreement.getAmercement():””);
    
    }
    Map<House,Double> topay = bs.changeRax(house2, 1.58);//改变利率
    Map<House,Double> topay = bs.changeYears(house2, 50);//改变年限
    System.out.println(agreement.getCredit().getCustomer().getUsername()+”,房 子”+entry.getKey().getNum()+”每月还款金额为:”+entry.getValue());
   
   }
  }
 
 
 }
}
文本内容长度有限制,所以例子就只写这一个了,请大家原谅。
如果面对一个领域的问题,能够进行事务抽象分析,那么问题就好解决了。这需要很长时间的项目锻炼,积累不少经验才能做到。但是今天的一小步,明天的一大步(又涉嫌抄袭了),不要忽视平时的小小的成功。

都说JAVA程序员的三件法宝是Question ,DesignPattern ,framework,那么接下来我就根据这几个法宝来一一表达我的观点。我说了希望大家来交流和拍板,大家共同学习,共同进步。
我的Email:donglinmei@hotmail.com、Mobile Phone :182 5196 5264(翻一下才知道)

今天是第一期,由于时间有限和个人能力有限,做的不好,但我会努力的。下期是JAVA设计模式系列,敬请持续关注。转载请注明出处http://mtoou.info/java-mxdx-zt/

AMD APU处理器能否再续K8辉煌?

AMD终于发售了炒的沸沸扬扬的APU计算机INTEL的天下。

AMD APU处理器

AMD APU处理器

在桌面级软件都是一般普通运算的今天,等普及异构运算那会,INTEL也准备在下一代架构中引入异构运算,那时又会不知道以何种方式继续引领市场,AMD的田忌赛马的市场策略依旧还要延续。APU走的是品牌机和中低端入门路线,在一定程度上确实会对INTEL造成不小的影响,期待明年的推土机系列,能否让曾经的K8辉煌再度书写呢,打一个漂亮的翻身仗呢,AMD加油!(文/End_Fight)转载请注明出处http://mtoou.info/amd-apu-ganxiang/

电脑AMD APU处理器的四个问题

什么叫AMD双显卡技术?

AMD的双四核的,最高主频是2.3GHz  一般工作时主频是1.4GHz,散热更好和续航时间更长,AMD 智能超频技术能根据应用的需求,自主调节主频,智能按需求提供性能 ,你用用就知道了真的很快。(文/无与伦比)转载请注明出处http://mtoou.info/amd-apu-wenti/

由iteye上女程序员:会SSH框架是低薪的代名词的文章而谈

上次在iteye(以前叫javaeye,上面的大牛很多,竟然被烂的csdn收购了,想不通)上看了一篇女Java软件工程师写的文章,说的是会SSH框架是低薪的代名词,呵呵,我不太赞成这个观点的。

文章分析现在随便在街上逮个JAVA软件开发者,都说精通SSH三大框架,不管是应届生还是老鸟的个人简历上都写着精通SSH框架,MVC思想。貌似会个框架整合就牛逼哄哄的,且不论这些框架使用和理解怎么样,Java基础怎么样呢,面向对象思想到不到家呢。听说仅仅精通Javascript的在IBM的年薪是25w,这是我们JavaEE开发的都看不上眼的技术吧,可见只要对一项技术精通就了不得了,什么框架,什么平台,真正会多少才是最重要的。

说实话吧,SSH框架也没这么简单,要在项目中整合使用,不见得什么都得用上,还得根据项目来定。三个框架整合加上数据库效率是很低的,只有大项目或需要易扩展升级的项目才考虑用,而且超大的项目都用分布式EJB了,基于组件开发。

SSH框架其实不仅仅是要学会怎么使用,这个不难,只要花时间,都学的会,而是要真正理解人家的思路和解决方案,最好看看框架的源代码,这对你的编程是有很大帮助的。就拿Struts的MVC来说吧,为什么要用MVC呢,人家Google(姑且说是)的android中用的就是MVC嘛,比Swing编程的代码乱、长、难维护好多了。Spring中的AOP不就是用动态代理(Dynamic Proxy)嘛,这些框架还是用Java的反射技术什么的。JavaEE的模式也不仅仅是MVC一个,框架技术多了去,一辈子也学不完啊。基础不错的话,自己开发框架也不是没有可能。

我的框架技术是不咋的,而且没用过Struts框架,学的和用的都是Struts2,我把它叫为Webwork好些吧。其实我觉得Struts是MVC的体现,看了点别人使用,而且我对Struts2不是很支持的,所以打算在项目中使用的是Struts + Spring2.5 +JPA1.0(Hibernate实现),结果就出问题了,没有出现任何错误,就是运行没有任何的结果,一直找不出问题的原因,现在才知道要用Spring框架读Struts的注解,还需要在struts-config.xml中加配置的。所以说不要盲目的使用一些技术,别人用什么也跟着用什么,这是我用SSH框架的一个笑话吧。

JavaEE开发除了要会SSH框架,其他的也是很重要的,比如Jsp、Servlet、Javascript及web层框架,我就比较坑爹了。还有其他的一些技术像JNDI、EJB、WebService、JavaMail、RMI、JMS…JavaWeb只是一小部分罢了。做项目还要考虑很多东西的,想性能啊,这个就很重要了,一个网站操作响应超过5秒,谁受得了,就算你给我钱我肯定还是跑了。为了性能我们可能在项目中用缓存,ORM框架中和第三方都有缓存,而且数据库用本来也有缓存。除此之外我们还可以用模版技术像Fremarker、Volicity,还有shtml静态网页技术SSI等等。大型的项目可能就要考虑负载均衡和集群了,我弄了几个小时,按照网上的资料配置Apache和Tomcat的负载均衡,实现倒是实现了,不过集群中Session共享我始终没弄好。所以做JavaWeb不只是写JSP和数据库CURD,还有解决问题和思想的体现。

如果你想做项目的设计架构,像UML设计,数据库设计、工作流等能力也是必不可少的。做系统的性能测试,方法啊工具啊也得知道个一二三吧。

我感觉Java最难的不是这些框架(SSH只是部分),更难的是Java设计模式,JavaEE设计模式,Java面向对象。大家都认为Java面向对象简单,我不这么认为,Java的优点和精髓就是面向对象了。看看Jdon网站上的东西,就发现这么多人都在讨论这个,他们的思想比我们先进多了,我们已经落后一大截了。什么DDD(Domain Driver Design),什么贫血模型啊、失血模型啊、充血模型啊、涨血模型,不像我们只考虑实现,就会操作数据库,不考虑架构,不考虑业务,更不会考虑领域(Domian)了。如果说这些人都是大牛,我们惹不起,但是我们是需要不断成长,需要吸收更多的技术和思想,我们要成为大牛。

好久没有写文章了,每周最好写点技术文章,保持自己的状态,不至于遗忘了落后了。最近比较忙,项目快结束了,加班特多。做饭的时间的没有,房间好久都没收拾了,厨房又脏,一切都乱死了。上周末连续加班通宵,其实我也就打酱油,听听音乐玩玩facebook睡睡觉,昨晚还是2:00以后睡的,敲几行代码。放了假,天气又热,还是呆在家了,做点吃的,休息休息,听听音乐,写点文章,敲点代码。

不知不觉都快12:30了,就写这么多了,烧饭去咯,人品不错哦,上周买的菜,还没坏,好久没做饭了,不要太难吃了哈。(文/linmei.dong)转载务必注明出处http://mtoou.info/ssh-dixin/

纠结了N久总结的:Java之高效编程

JAVA高效编程的一些总结,我纠结了很久,总结再总结出以下四点。

  1. 命令行才是最方便的,图形界面只是面向初级用户的。代码才是我们的好朋友!图形界面用多了会脑残……(只针对专业人员……)
  2. 如果好多函数里都用了同一段代码,可以吧这段代码写成一个类(是否为静态类看具体情况,静态类会更加节省系统资源!),然后继承之~

 3. web工程里,如果每个页面都对应一个servlet的话,不仅会使编写麻烦,而且不利后期的管理维护。利用多重映射的方法,将一个servlet映射到多个url,每个页面的处理对应一个url,这样会解决上述问题。如:一个servlet映射到了两个url:/user/register.do和/user/login.do,在web.xml中的配置对应为:

  <servlet-mapping>

    <servlet-name>UserServlet</servlet-name>

    <url-pattern>/user/register.do</url-pattern>

    <url-pattern>/user/login.do</url-pattern>

  </servlet-mapping>

在假设在register.jsp页面里:<form method=”post” action=”/user/register.do>…</form>声明了表单动作(action)的url

同理,在另一个login.jsp页面中可能会有<form method=”post” action=”/user/login.do”>…</form>

那么,在servlet端就可以写成:

if (request.getRequestURI().endsWith(“/user/register.do”)) {

    doRegister(request, resopnse);    //doRegister(request, response)是自定义的函数

} else if (request.getRequestURI().endsWith(“/user/login.do”)) {

       doLogin(request, response);        //同上

}

那么提交register.jsp的表单时就会执行doRegister(requset.response)方法,提交login.jsp的表单时,你知道了的……

这样,实现了多个页面的操作整合到一个servlet的功能。

4. 类名用首字母大写,函数名一般用小写,目录名、文件名用小写,取名尽量简洁。这些细节涉及后续的管理维护,十分重要~(文/Zeqi)转载请注明出处http://mtoou.info/jiava-gaoxiao/

解决tomcat重启时报严重: Exception loading sessions from persistent storage的问题

很多项目在重启时会报:严重: Exception loading sessions from persistent storage的问题。该问题的原因是tomcat的session持久化机制引起的,tomcat这个功能本身的用意在于重启tomcat后保持之前的session,但是在tomcat非正常关闭后,tomcat尝试恢复session时读取失败,就抛出错误,不影响系统使用。

如果需要避免这个问题关闭tomcat的持久化功能就就可以了,具体为修改conf下的server.xml文件。在项目的context间加入一句代码<Manager className=”org.apache.catalina.session.PersistentManager” saveOnRestart=”false”/>重启tomcat以后再也不会报这个错误了。(文/飞天不不)转载请注明出处http://mtoou.info/tomcat-exception/

使用safari浏览器写QQ空间日志时硬盘灯一直亮的问题

使用safari时,明显感觉到苹果的浏览器很快,不管是网页打卡还是一些反应速度均快很多。

然后就把safari设置为默认的浏览器,近日在写日志时发现,明显感觉到输入法反应很慢,硬盘灯一直在亮。一开始以为是搜狗输入法的问题,卸了安装加加。还是这样。看了下进程的I/O读取写出,运行前后没有太大的变化,不过,在关闭空间日志界面的时候,safari竟然假死了,看来这是QQ日志网页代码的问题,然而用IE内核的浏览器打开时没事,这下偶有些怀疑了这是不是一种潜在的不兼容?或者QQ空间日志代码在搞一些背后的工作,见不得人的访问和读取。

另外,QQ软件在关闭的时候,硬盘I/O明显偏大,偶越来越怀疑,QQ是不是真的存在访问用户其他文件问题。偶接下来要安装一些牛逼的监控软件来搞清楚这类问题。但在这之前还是先尽量用网页版QQ(WebQQ)吧!(文/半九十)转载请注明出处http://mtoou.info/safari-qq-yingpan/

Windows7系统IE8,safari,Opera,Chrome,QQ,360,Firefox浏览器哪个好

说起上网自然少不了浏览器,但是这年头浏览器五花八门多种多样,如本文中的IE8,safari,Opera,Chrome浏览器,QQ,360,Firefox浏览器等等。什么公司都敢出自己的浏览器而且都号称什么最快最安全真是让人…

新装的win7系统,怎么弄浏览器呢?本来想搞一次浏览器测评的,但是咱总不能一个一个的装这么多浏览器吧,再加上咱这宽带资源有限只能去各大网站看看别人的结果,看一下各个浏览器的使用配置条件,想必能窥豹一斑吧

首先发现各大网站的测评结果满天都是,而且第一名各种各样,数据也各不相同,想必是因为商业利益的问题,比如腾讯网上QQ浏览器就没有比chrome和遨游慢过,奇虎的论坛里面貌似360浏览器就没中过毒…

唉,于是只能进行B计划,看看这些浏览器的使用情况:当然是用ubuntu统一一下,还是chrome了,谁叫ubuntu 10.04下firefox 4.0以上总是出问题呢,唉…(文/飄渺の幻兒)转载请注明出处http://mtoou.info/windows7-liulanqi/

用LiveUSB制作U盘系统的方法及一些想法

家里的台式机光驱不好用,Xp的光盘有年头了,表面擦痕也明显。光盘安装系统则有可能安装失败,而且前几次在99.8%的时候出现了错误。很久之前做过winPE,需要做的话还得重新下载。突然感觉网上可下载的pe没有原来多了,下下来了启动的时候速度也特别慢。

换了几个关键词,换了个搜索引擎,才发现有些软件已经能傻瓜式的将PE安装在U盘里了,比如一键U盘安装系统或者大白菜等都很好用的,所安装的PE功能也十分强大,并且不受格式化的影响。然而在网上找pe的时候,发现Puppy Linux这个系统,网上说速度不错,而且很好用。我一直想学UltraISO等等。有些做完了但是启动不起来,搞不清楚是啥原因。另外我也想把两个系统装在一个U盘里,把PE和puppy放在一起。网上也介绍了不少方法,我也逛了很多论坛,但是发现原创的就那么几篇,很多都是大家来回转或者盗贴。

我在网上查了很长时间,很多是用grub引导从而实现启动的,引导容易,根据网上说的教程很容易做成,但是用UltraISO提取的时候不同的系统我也不知道应该提取出啥文件,而且在测试的时候不知道为啥虚拟机没法用U盘引导,所以只能多次重启计算机了(很心疼噢)。在测试bt4的时候系统启动不起来,还没法退出,输入exit的时候还说什么kill。。。然后本子上的几个灯就开始一闪一闪。只能强关了。启动后,我把所有的文件解压到U盘里,但是在找menu.lst文件的语句时候发现网上写的都不一样,不明白每个句子表达的啥意思。现学grub可能会耽误很长时间,而且即便掌握了,我也不是很清楚liveCD启动的时候需要哪些文件。。。

U盘就不停地格,本本就不停地重启与强关,没有一次成功的,想了很多办法,网上查阅了很多的资料,而且很多软件还下不下来。。。很郁闷啊,总是失败。已经连着整了两天了,很想放弃的,我还是觉得兴趣是成功的一半,如果没有兴趣,我肯定不会做这些,毕竟在生活中用处不是很大,而且很耽误时间的,做这个完全是凭借自己的兴趣。你不会知道下一步会出现什么情况,算是自己探究吧,虽然网上也有很多例子,但是我从来没成功过,每一步都有很多不确定性,只有亲自尝试了才知道什么是对的什么是错的,尽管遭受很多失败,但是获得的经验却是丰富的。

自己很想学linux,放在几个U盘里也不方便,所以很想把pe和puppy放在一起。今天早上,原本放弃的我又打开了电脑,开始按照自己的思路,还是那几款软件,在做启动盘。在用Unetbootin做了以后突然可以启动且进入了puppy,自己很兴奋,又格掉后安装bt4,同样能用,3天的努力没有白费,从0到成功。自己很是兴奋。。。

只是不明白的是我那个500M的U盘,无论怎么做都不启动,每次光标一闪一闪直接进入win7,而且这个不启动的U盘让我走了很多弯路,我一直没往U盘的本身方面想,总是以为软件不给力,因为曾经用那个U盘做过pe,只是现在U盘灯不亮了。后来想量产,本型号的U盘比较非主流,没有找到合适工具。在家里翻了个256M的小U盘,同样是不启动,可能不是U盘的问题,也许是两个小U盘不支持HDD+,到后来我也不想用工具再试,因为每次那个500M的都不启动,而且即便写入MBR也不一定能成功。所以我选择放弃。

网上有篇文章说是用Unetbootin制作多系统启动的(在此感谢作者),而且仅有那一篇,不知道为什么没人采用。说的也很简单。因为我用那个软件成功地启动了系统,那么也应该可以做多系统启动的,我仔细研究了那片文章,说的也很简单,琢磨syslinux语句。这个和grub有点像,同样我一窍不通啊,网上syslinux不一样的人写的也不一样。只能再试试了。结果我把3个系统集合在一起,有puppy、bt4和Android,然后用Unetbootin分别把每个系统装在U盘里,最后简单修改一下syslinux,结果能用了,puppy和bt4都毫无障碍地进去了,只是Android假死,我也没等,直接强关,切到win7。这样理论上可以支持很多系统启动,但好像只能是和linux比较像的

不知道这算不算歪打正着或者弄巧成拙,这个方法居然成功了,傻瓜式的操作,当时为啥没想起来呢,还走了那么多弯路。只是没试过启动winpe,貌似只支持linux内核的。要实现pe与linux还得用grub,不过这也算填补了我这方面的空白吧。我不是学计算机的,专业也和系统没有一点关系。仅仅是凭借兴趣,然后网上查阅、自己琢磨,毕竟这不是很高端的,资料还是不少的。

这是我的liveusb制作过程和感想,写出来和大家晒晒。当然,制作是简单的,只是思路问题。一个清晰正确的思路能让自己少走很多弯路。我觉得不仅在系统启动上,在任何探究性的实验或者操作都需要好的思路和别人的经验以及自己的创新。准备的充足,才能将成本和精力消耗降到最低。(文/明月清风)转载请注明出处http://mtoou.info/liveusb-upan-zhizuo/

关于开启windows7快速启动栏的方法

在开启之前要先做好两个准备工作:

  1. 开启显示隐藏文件夹的选项:控制面板——>文件夹选项——>查看标签,找到“隐藏文件和文件夹”下的两个选项,其中选择“显示隐藏的文件、文件夹和驱动器”选项,点击确定。
  2. 查看当前登录系统的用户名:控制面板——>用户帐户,双击打开即可看到一个用户的用户名,该用户名就是当前登录系统的用户名。

推荐阅读:Win7快速启动栏不见了?图文教程教你找回

下边就来开启快速启动栏:在桌面任务栏上点击鼠标右键,依次选择工具栏——>新建工具栏,弹出新工具栏选择文件夹窗口。这里以系统盘为C盘为例,找到目录:C:\用户\当前登录系统的用户名(如:administrator)\AppData\Roaming\Microsoft\Internet Explorer,这时窗口中会找到一个Quick Launch文件夹,鼠标左键单击选中Quick Launch文件夹(注意不是双击打开),然后点击新工具栏选择文件夹窗口中右下角的“选择文件夹”按钮,即可完成快速启动栏的开启。