重装系统引导失败原因分析及解决方法详解

作者:小菜 更新时间:2025-01-04 点击数:21
简介:重装系统引导失败可能由多种原因导致,如硬盘损坏、启动项丢失或BIOS设置错误。

通过检查硬盘健康状况、修复启动记录和调整BIOS参数,解决此问题。

确保数据备份,避免重要信息丢失是关键。

【菜科解读】

本人初学Java,看到别人都说学Java先不要用eclipse、NetBeans这些开发工具,所以索性就自己试试。

过程犯的错误极多,参照着李刚老师那本疯狂Java一点一点的实验.由于自己使用过Makefile,所以就用Makefile做了实验,总算是可以不用Eclipse、NetBeans就能自己编译运行一些小的程序了,下面就是我自己总结的心得,如有错误,请大家指正,谢谢。

本文分四小节:

第一节:配置Java运行时环境第二节:代码的编译以及运行第三节:如何打jar包以及使用jar包第四节:利用Makefile自动编译运行Java程序

第一节:配置Java运行时环境

本节以Windows XP为例,来配置Java运行环境。

这节很简单,我就长话短说。

1:下载JDK开发包,解压安装。

2:在用户环境变量中增加PATH变量(在系统的环境变量中增加也行,但是可能需要重新启动操作系统),并设置其值。

例如我把JDK安装在F:\program\java目录下,则把PATH变量设置成F:\program\java\jdk\bin,因为这个路径下有我们要编译、运行Java程序所需要的所有工具,比如javac.exe,java.exe,jar.exe....。

之后我们就可以在cmd下使用javac、java、jar等命令了。

例如有一下Java源文件Test.java,执行javac Test.java就会在当前目录下生成Test.class文件。

之后我们运行java Test即可运行程序。

当然也可以人为指定class文件的生成位置,利用-d选项。

比如 javac -d D:\ Test.java,那么就可以在D:\目录下看到Test.class了。

第二节:代码的编译以及运行

对于写Java程序而言,我们主张源文件与class文件都有相同的目录结构,这样不仅会方便代码的组织管理,也使得在编译以及运行Java程序时少犯错误。

1:位于默认包下的文件的编译以及运行

//D:\src\A.javaclass A{ private int value; public A(){ value = 0; } public void setValue(int var){ value = var; } public int getValue(){ return value; }}//D:\src\Test.javapublic class Test{ public void static void main(String[] args){ A a = new A(); a.setValue(10); System.out.println(a.getValue()); }}

我们运行javac Test.java,会发现D:\src目录下多了A.class和Test.class两个文件。

运行java Test则可以在Dos中看到输出为10。

我们发现这两个Java文件中并没有package语句,所以这两个文件同属于一个默认包中(没有显示写package的文件都是属于默认包的)。

2: Java类发现规则

要想成功编译java文件,需要有classpath和包名的共同配合。

类发现规则:class文件所在目录 = classpath + \ + 包名中的 . 全变成 \

这个规则大家一定要记住,保证万事OK!Java就是靠这个规则来寻找需要的class文件的。

例如:classpath=D:

//D:\src\A.javapackage src;public class A{ private int value; public A(){ value = 0; } public void setValue(int var){ value = var; } public int getValue(){ return value; }}//D:\Test.javaimport src.*;public class Test{ public void static void main(String[] args){ A a = new A(); a.setValue(10); System.out.println(a.getValue()); }}

如果想要javac Test.java成功,则需要在D:\src(D:\src = D:\ + src)路径下能够找到A.class,否则编译出错。

如果不存在D:\src目录,则会返回包名不存在的错误信息。

如果D:\src存在,但是该路径下不存在A.class时,则报告没有找到class文件。

如果java文件存放目录正确,并且也正确的指定了其所在的包,则javac会自动编译A.java来生成A.class。

例如:上例就能够正确的生成所有需要的class文件。

但是如果把A.java中package语句去掉。

之后编译A.java生成A.class文件,之后在D:\下运行javac Test.java并不会成功,虽然在D:\src下存在A.class文件。

所以综上所述,package语句中包名必须与生成的class文件所在的目录保持一个关系,使得javac能够找到相应的class文件并且验证一个文件是否处于正确的包中。

那么classpath是什么呢?从名字也能猜得到,classpath代表class文件的存放路径。

这是个环境变量,可以添加到用户的环境变量中,其值则根据编程时具体包名、以及类的存放路径来设定。

如果不想用环境变量,也可在编译时用-classpath来设置。

classpath可以设置多个路径,路径之间利用 相隔。

编译时,javac会逐个尝试classpath的每个路径和文件的包名的组合,直到找到相应的class文件为止。

但是如果通过classpath与包名的组合在多个不同的路径下都找到了同名类,则会返回错误信息。

由于javac默认情况下在java文件的当前目录生成class文件,所以人们经常把 . 添加到classpath中,代表当前文件所在的路径。

高版本的Java编译以及运行程序可能会自动把 . 添加到classpath中。

上面的例子中由于Test.java位于A.java的上一级目录中,所以把classpath设置成 . 时,也能编译成功。

现在说说把classpath设置成 . ,它代表当前运行目录。

那么什么是这个当前运行目录呢?其实就是运行javac时所在的目录,注意:切不可认为是当前编译的那个java文件所在的目录。

如果java文件中显示的写了package packagename 则为class文件指定了包,那么这个class文件也必须应在packagename转换后的相应子目录下。

如果不写,则表示该class文件在默认包中。

现在来说说如运行java程序。

例如:classpath=D:

/D:\src\A.javapackage src;public class A{ private int value; public A(){ value = 0; } public void setValue(int var){ value = var; } public int getValue(){ return value; }}//D:\src\Test.javapackage src;import src.*;public class Test{ public void static void main(String[] args){ A a = new A(); a.setValue(10); System.out.println(a.getValue()); }}

我们如何运行这个程序呢?

首先在src目录下运行: javac Test.java

之后在任意目录下运行:java src.Test

注意:切不可运行java Test命令,会提示找不到类的错误(即使在Test.class文件所在目录也不行)。

所以运行指定了package程序时,需要显示的写出其包名,即:java packagename.classname,其遵循与class文件一样的寻找规则,即在classpath+packagename中 . 变成 \ 所表示的路径下能够找到相应的classname所指的class文件。

第三节:如何打jar包以及使用jar包

打jar包使用jar命令。

//D:\src\A.javapackage src;public class A{ private int value; public A(){ value = 0; } public void setValue(int var){ value = var; } public int getValue(){ return value; }}

首先在src目录下运行javac A.java生成A.class。

之后在D:\目录下运行jar -cvf test.jar src就会在D:\这个目录下生成test.jar,即我们打的jar包。

那么我们如何使用这个jar包呢?首先必须把test.jar的路径加入到classpath中。

之后我们有如下的测试程序。

import src.*; //必须得有此import,因为A.class位于src包中。

如果不写则编译不通过。

public class B{ public static void main(String[] args){ A a = new A(); }}

jar文件其实是一个压缩包,可以很容易的用解压软件进行解压。

解压后有如下目录关系:

test.jar|--src---|--A.java|--A.class

这里可以把test.jar当成目录来处理,javac会自动在classpath中解压这个test.jar并根据B.java中的import找到其中的src文件夹下的A.class文件并使用。

现在看看我们的打包命令 jar -cvf test.jar src //意思是把src文件夹整个打包

如果我们这么打包: 在src目录下运行jar -cvf test.jar A.java A.class,行吗?答案是不行。

因为这样打包后路径关系为:

test.jar |--A.java |--A.class

javac寻找A.class时发现test.jar下不存在src目录,则会报不存在包的错误。

所以大家一定要注意打包时应该把那个目录打进去,不应把哪个目录打进去。

如果对属于默认包的class文件打包,则只要把jar包路径添加到classpath中即可使用,无需再在程序中使用import。

当然jar命令还有很多参数可选,来满足各种不同需要的打包需求,这些就不说了。

4:利用Makefile自动编译运行Java程序

下面给出一个简单的例子:这个例子中,没有手动设置Windows的环境变量,而是用-classpath指定,这样方便在不同机器之间移植。

如下目录结构:

project---|---src---|---main---|---Test.java | |---package1---|---A.java | | |---B.java | | | |---package2---|---C.java | |---Makefile | |---classes---|---main---|---Test.class |---package1---|---A.class | |---B.class | |---package2---|---C.class

代码如下:

//A.javapackagepackage1;publicclassA{privateintvalue;publicA(){value=0;}publicvoidsetValue(intvar){value=var;}publicintgetValue(){returnvalue;}//B.javapackagepackage1;publicclassB{privateStringname;publicB(){name=null;}publicvoidsetName(Stringname){this.name=name;}publicStringgetName(){returnname;}//C.javapackagepackage2;publicclassC{privateStringname;publicC(){name=null;}publicvoidsetName(Stringname){this.name=name;}publicStringgetName(){returnname;}//Test.javaimportjava.util.*;importpackage1.*;importpackage2.*;publicclassTest{publicstaticvoidmain(String[]args){Aa=newA();Bb=newB();Cc=newC();a.setValue(3);b.setName("Java");c.setName("Test");System.out.println(a.getValue());System.out.println(b.getName());System.out.println(c.getName());}}

Makefile如下:

//Makefiletarget:javac./package1/A.java-d../classesjavac./package1/B.java-d../classesjavac./package2/C.java-d../classesjavac./main/Test.java-d../classes/main/-classpath../classesjava-classpath../classes/main;../classesTestclean:rm-rf../classes/package1/*.classrm-rf../classes/package2/*.classrm-rf../classes/main/*.class

运行:makeD:\Java\project\src>makejavac ./package1/A.java -d ../classesjavac ./package1/B.java -d ../classesjavac ./package2/C.java -d ../classesjavac ./main/Test.java -d ../classes/main/ -classpath ../classes

运行:make runD:\Java\project\src>make runjava -classpath ../classes/main;../classes Test3JavaTest

这样,其实我们完全可以不用Eclipse、Netbeans等开发工具就能自己编译运行自己的系统了。

新手,初学,JAVA,动手,编译,、,运行,Java,程序,

360系统重装失败如何办

想重装系统不会怎么办?菜科网一键重装系统轻松在线帮您搞定系统重装问题。

软件支持 在线重装、U盘制作、自定义重装 等多种模式。

重装系统有很多种的小问题,那重装系统如果失败了要怎么办,可能因为自己贸然的尝试使电脑系统彻底不能用了,那360系统重装失败的解决方法有哪些呢?小编推荐大家重新下载完整的360安装包来重新安装,关于360安装包来解决360系统重装失败的方法是再好不过了,下面小编就给大家降解一下360系统重装大师一键重装系统失败怎么办吧,360系统重装失败怎么办图1360系统重装失败怎么办图 360系统重装大师一键重装系统失败解决办法: 建议去下载完整版的安装包,这样你如论有没网络都可以安装,同时提醒你最好先将网卡驱动程序准备好,免得重装没有网卡,想上网都没办法哦。

其实关于360系统重装失败的解决方法到这里就全部结束了,相信大家通过上面的360系统重装失败的解决方法都有一定的了解吧,其实关于360系统重装失败的解决方法是非常简单的,只要简单的几步就可以操作完成的,好了,感谢大家的观看,如果想了解更多的咨询敬请关注菜科网一键重装系统大师官网吧。

小编推荐:。

标签: 注意:本站所刊载的文章均为学习交流之用,请勿用于商业用途。

对于商业使用,请联系各自版权所有者,否则法律问题自行承担。

Win7系统升级指南:全面解析升级步骤与要点 Win7系统损坏修复教程:详细步骤助你快速解决问题 重装系统有很多种的小问题,那重装系统如果失败了要怎么办,可能因为自己贸然的尝试使电脑系统彻底不能用了,那360系统重装失败的解决方法有哪些呢?小编推荐大家重新下载完整的360安装包来重新安装,关于360安装包来解决360系统重装失败的方法是再好不过了,下面小编就给大家降解一下360系统重装大师一键重装系统失败怎么办吧,360系统重装失败怎么办图1360系统重装失败怎么办图 360系统重装大师一键重装系统失败解决办法: 建议去下载完整版的安装包,这样你如论有没网络都可以安装,同时提醒你最好先将网卡驱动程序准备好,免得重装没有网卡,想上网都没办法哦。

其实关于360系统重装失败的解决方法到这里就全部结束了,相信大家通过上面的360系统重装失败的解决方法都有一定的了解吧,其实关于360系统重装失败的解决方法是非常简单的,只要简单的几步就可以操作完成的,好了,感谢大家的观看,如果想了解更多的咨询敬请关注菜科网一键重装系统大师官网吧。

小编推荐:。

菜科网系统致力于解决 Windows 系统重装解决方案,提供高效、安全、免费的系统重装服务。

windows7系统重装失败如何解决

专业的在线重装系统软件 全新设计 / 全新代码编写 / 全新支持所有机型 全新支持Window 11 安装 windows7系统重装失败怎么解决?win7系统的自动更新功能能有效的给系统漏洞进行补丁,可以使得我们在日常使用中更加安全,但是有时候提示安装更新失败,相信有不少用户经历过Windows安装失败,对于Windows7来说有很多原因会导致其安装不能够继续进行。

以小编的经验,主要原因不外乎硬件组件的不兼容或系统的硬件配置无法满足Windows7的最低要求,因此在排错时应该重点从这方面考虑,少走弯路。

今天为大家分享windows7系统重装失败怎么解决的方法教程。

工具/原料:笔记本电脑 系统版本:windows10系统 品牌型号:联想 windows7系统重装失败怎么解决 1、根据提示安装更新,安装完毕后如果有失败的,那就查看失望的记录,查看任何一个都行, 2、点击查看详细信息之后,找到错误的详细信息代码,然后查看其他的失败信息代码,每个代码都是一样的,这样推测可能是更新程序本身出现问题了 3、 去微软的官网找到帮助页面,找到修补程序,一定要和自己的系统相对应,有的是32位的,有的是64位的 4、 找到相对应的修补程序后,下载然后安装,这个过程有点慢,当见到进度条没有反应的时候千万不要点击“取消”按钮 5、修补程序安装完毕之后会显示“安装完成”,然后点击关闭,再回到系统更新从新安装更新 注意事项: 1、一般情况下,在我们重启计算机后会直接进入安装程序,安装继续进行。

某些情况下,可能还会看到启动菜单,如果是这种情况,我们可选择“Windows安装程序”选项,以便让安装程序继续进行。

2、如果安装程序再次停止响应,就需要重新启动计算机,有时候可能需要尝试多次才能完成安装。

此类故障一般是一些突然因素导致,重启可解决问题。

3、内存和CPU也可能是导致问题的根源,这需要我们进行更加复杂的排错,一般情况下更换硬件会解决问题。

总结: 综上所述,这就是小编给你们提供的一键系统重装失败解决方法了,有小编亲自经历过的,也有别人遭遇的。

结合自己的经验和理解将它们加以整理和总结,重装系统失败不要怕,就来看看小编这篇文章讲述的解决方法,保证让你们解决重装系统失败问题,希望对于正在安装或者将要安装Windows7的朋友们有所帮助。

加入收藏
上一篇:
下一篇:
               

重装系统引导失败原因分析及解决方法详解

点击下载文档

格式为doc格式

  • 账号登录
社交账号登录