jdk源码编译与编译一般java文件的区别,望大神赐教~~

jdk源码编译
我们平时安装的jdk都是已经编译好了的版本,如果手上有jdk源码,则可以不安装jdk,自己动手配置编译依赖、环境变量等之后直接编译jdk源代码,编译完之后和安装jdk后的效果一样,可以使用java、javac等来进行java程序开发。
想问的是linux下自己编译jdk源码,底层是做了哪些操作?生成了哪些文件?为什么编译之后就可以执行java文件了?跟编译一般的java文件的区别在哪呢?
小妹渣媛一枚,望大神赐教~~

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
jdk编译.java文件生成.class文件
首先请确保你的jdk是可用的 已命令行的形式进入到jdk的bin目录下 然后用javac命令进行编辑你要编辑的.java文件 在之后会生成相应的.class文件
新手求助,望大神赐教
请问脚本语言都可以调用哪些类型的文件,或者哪些类型的文件可以调用脚本语言?
新手求助,望大神赐教!
本人一小菜,有时候喜欢在网上搬弄一些好的代码,但一般的网站都将代码处理了,前面添加了一些行号或者其他符号,大概防止copy吧。于是我想自己写个程序将代码格式还原,假设代码复制后存在a.txt中,经处理后存储在b.txt中,但是中间遇到了问题,修改后的换行符丢失,即使自己添加也不能保持代码该有的格式。rnrn处理代码如下:rnrn[code=java]import java.io.FileInputStream;rnimport java.io.FileNotFoundException;rnimport java.io.FileOutputStream;rnimport java.io.IOException;rnimport java.util.regex.Matcher;rnimport java.util.regex.Pattern;rnrnpublic class TestFind2 rn //从txt类型的文件中读取代码rn public static String read() throws IOExceptionrn FileInputStream fis=new FileInputStream("c://a.txt");rn byte[] bytes=new byte[1024];rn StringBuilder sb=new StringBuilder();rn int leng=0;rn while((leng=fis.read(bytes))!=-1)rn sb.append(new String(bytes,0,leng));rn rn fis.close();rn return sb.toString();rn rn rn //将更改后的代码写入到另一个文本文件中rn public static void write(String s) throws IOExceptionrn FileOutputStream fos=new FileOutputStream("c://b.txt");rn byte[] by=s.getBytes();rn fos.write(by);rn fos.close();rn rn rn public static void main(String[] args) throws IOException rn String s2;rn String input=TestFind2.read();rn System.out.println(input);rn Pattern p=Pattern.compile("^(\\d+\\.)(.*)",Pattern.MULTILINE);//匹配以数字和.开头的文本格式rn Matcher m=p.matcher(input);rn StringBuilder sb2=new StringBuilder();rn while(m.find())rn s2=m.group().replaceAll("\\d+\\.","");//去掉数字和.rn sb2.append(s2+"\n");//自己加的换行符不能正常输出到文件?匹配后会弄掉换行符?rn rn write(sb2.toString());rn System.out.println(sb2);rn rn[/code]
【JDK、环境变量配置、DOS命令编译java文件】
目录   1.JRE与JDK  2.配置环境变量 3.DOS编译java文件 ​ 1.JRE与JDK  JDK=JRE+JAVA开发工具(javac.exe,java.exe等) JRE=JVM+JAVA类库 只要有JRE就能运行JAVA程序 有JDK可以开发JAVA程序   图为JDK安装情况:       2.配置环境变量 主要是配置classpath、J...
关于使用jdk,jsdk编译*.java文件的问题
系统win98rn小弟在安装了jdk1.3和jsdk2.1后,编译*.java文件(放在/jsdk2.1/webpages/servlets目录下),但一运行javac编译,就会出现不能读取文件的现象.rn
关于java文件编译后的JDK版本问题
关于java文件编译后的JDK版本问题 http://www.cnblogs.com/xing901022/p/4172410.html J2SE 7 = 51 (0x33 hex), J2SE 6.0 = 50 (0x32 hex), J2SE 5.0 = 49 (0x31 hex), JDK 1.4 = 48 (0x30 hex), JDK 1.3 = 47 (0x2F hex),
C\C++问题,望大神赐教
整型数组元素要加个零怎么办?
C# webbrwoser的问题,望大神们赐教
我在webbrowser加载好了之后,点击一个按钮rn……rnwebBrowser.document.GetElementById("loginBtn").InvokeMember("click");rnwhile(webBrowser.ReadyState!=WebBrowserReadyState.Complete) rn Application.DoEvents();rn……rn执行完之后发现webBrowser.Document没有变化,请问大大们,这是什么原因。rn分不多,请不吝赐教。
望赐教!!!!!
用access和datagrid实现查询,查询access中的字段,满足要求的在datagrid中显示出来,具体怎么写代码和属性的设置,望大虾指教!!!!!1
望赐教
在系统里永久删除的文件(不是放进回收站),还可以恢复吗?如果可以,用什么软件?麻烦您说具体点,清除点。rn谢谢了。
源码编译的JDK设置
4.下载设置JDK$ cd /usr/lib/jvm/ 拷贝下载的jdk-7u51-linux-i586.tar.gz到jvm文件夹: $ sudo cp ~/下载/jdk-7u51-linux-i586.tar.gz /usr/lib/jvm 解压: $ sudo tar -zxvf jdk-7u51-linux-i586.tar.gz 也可以直接安装Openjdk7:sudo apt-get
编译java文件
1.安装jdk 并配置环境变量 2新建TXT文件   Hi.txt------->> public class Hi{     public static void main(String[] arg){        System.out.println("hijava");    } } 将后缀名改为   .java      ---->>Hi.java...
Android 源码编译JDK的切换
1、cd ~  切换到根目录 2、 vim .bashrc 命令打开.brashrc   //cat .bashrc   可以查看之前相关这个文件的不同       我这里默认的是jdk1.7;现在只需要把jdk1.6的注释掉就可以了 3、Shift+:号可以再最后出现冒号 4、输入wq退出 5、此时现在如果用java -version 查看jdk的版本还是1.6的;需要断开重新连接
JDK安装问题,以及.java文件
我的.Java文件没有用啊!用命令符弄提示也是出错哟!帮帮忙啊!还有那个环境变量的设置说下,我的JDk安装在D:\Program Files\Java\jdk1.6.0_02\binrn是不是要设置那个path,classpath,以及JAVA_HOME呢?rnrn这是正确的:rn[img=C:\Documents and Settings\Administrator\桌面\未命名.jpg][/img]rn而我的是这样的,请问是怎么回事呢?rn[img=C:\Documents and Settings\Administrator\桌面\未命名1.jpg][/img]
Fragment的add和addToBackStack的区别,求大神赐教
正在做fragment的导航栏。参考了两份源码,一份源码是直接用的FragmentTransaction的add()方法,然后控制某个Fragment的show()和hide()。。另一份源码则是在add()后再用addToBackStack(),然后再popBackStack()进行弹出。。rn我想请问一下进行addToBackStack()不是多此一举吗?
java文件编译运行----‘’足球论之java文件运行编译先编译‘’
一、运行环境 先编译 .java文件――――>.class文件 运行 *.class ――加载――> JVM jvm加载二进制文件 javac 将Java文件编译成二进制文件 Java 运行二进制文件产生结果 jvm Java虚拟机,为Java的编译运行提供运行环境javac编译后得到的class文件是二进制指令,但不是机器指令,而是java虚拟机可识别的指令。这样class文
JDK 编译的JAVA文件调用一个自己写的CLASS文件,在编译这个JAVA文件时,这个CLASS文件放在哪?
如题
AOSP源码编译 --全部编译
最进一直在学习Android系统源码,当然搭建编译环境是第一步,我也是折腾了好久,个人觉得这个在学习Android过程中有里程碑意义的,因为以后过程中,自己的一些想法就能动手实现了。 下载Android源码 如果是MAC OS的话,需要在创建一个磁盘映像 使用自带的磁盘工具,创建磁盘映像即可。 也可以使用命令行进行创建 hdiutil create -type SPA...
VTK-1 源码编译与Example编译
官网https://www.vtk.org/ 英文电子书VTKUsersGuide下载:https://www.kitware.com/products/books/VTKUsersGuide.pdf 相关数据下载https://www.vtk.org/vtk-textbook-examples-and-data/ 本文使用的是VTK-8.1.2+VS2015+Win10+CMake-3...
编译java文件的时候,加载另外一个文件夹的class出错,怎么解决啊,望大家赐教。。。谢过
rnrnWEB-INF\classes\gxu\test\db\DbConnection.javarn-----------------------------------rnpackage gxu.test.db;rnrnrnimport gxu.test.db.Constants;rnrnimport java.sql.*;rnimport javax.sql.DataSource;rnimport javax.naming.*;rnrnrnpublic class DbConnectionrnpublic static Connection getConnectionPool() throws Exceptionrn rn rn String uri=Constants.SQLSource_KEY;rn DataSource ds=null;rn Connection con=null;rn rn Context context=new InitialContext();rn tryrn ds=(DataSource)context.lookup(uri);rn rn con=ds.getConnection();rn rn catch(SQLException ex)rn throw ex;rn return con; rn rnrnrn///JDBC-4rnrnpublic static Connection getConnection()throws Exceptionrn tryrn String strCon="com.microsoft.jdbc.sqlserver.SQLServerDriver";rn String uri="jdbc:microsoft:sqlserver://127.0.0.1:1433;databaseName=exam_dianzi";rn Class.forName(strCon);rn return DriverManager.getConnection(uri,"abu","5211314");rn catch(Exception ex)rn throw ex;rn rn rn rnrnrnrnWEB-INF\classes\gxu\test\common\Constants.javarn-----------------------------------rnpackage gxu.test.common;rn/**rn * 集中定义常量rn * @author MG.abuRXrn *rn */rnrnpublic class Constantsrnrn rn public static final String SQLSource_KEY="java:comp/env/jdbc/exam_dianzi";rn rn public static final String Register_errormessage="个人资料输入有错,请输入您的正确信息!";rn public static final String Register_failuremessage1="注册失败!";rn public static final String Register_failuremessage2="该用户名已经注册!";rn public static final String Register_failuremessage3="该身份证已经注册过了!";rn public static final String Register_successmessage="注册成功!";rn public static final String Login_successmessage="登录成功!";rn public static final String Department_searchfailure="查找不到您所输入的学校的代码,请确认学校名称再次输入,或者报告管理员:";rn public static final String Department_searcherror="数据查找失败,请报告管理员:";rn rn public static final String SQL_Rigister_sel1="select id from TEST_USERS where usercode=?";rn public static final String SQL_Rigister_sel2="select id from TEST_USERS where pin=?";rn public static final String SQL_Rigister_add="insert into TEST_USERS values(?,?,?,?,?,?,?,?,?,?,?,?,getDate(),null,null,null,null,0,0,getDate())";rn public static final String SQL_Department_add="insert into TEST_DEPARTMENTS values (?)";rn public static final String SQL_Department_del="delete from TEST_DEPARTMENTS where DEPARTMENTID=?";rn public static final String SQL_Department_sel1="select * from TEST_DEPARTMENTS where DEPARTMENTNAME like ?";rn public static final String SQL_Department_sel2="select * from TEST_DEPARTMENTS where DEPARTMENTNAME=?";rn public static final String SQL_Department_sel3="select * from TEST_DEPARTMENTS";rn public static final String SQL_Department_upd="update TEST_DEPARTMENTS set DEPARTMENTNAME=? where DEPARTMENTID=?";rn public static final String SQL_Admin_sel="select * from TEST_ADMINS where adminname=?";rn public static final String SQL_Login_sel="select * from TEST_USERS where usercode=?";rn public static final String SQL_Login_upd="update TEST_USERS set LASTLOGINTIME=?, LASTLOGINTIME2=getDate() where USERCODE=?";rn public static final String SQL_Manage_sel_all="select * from TEST_USERS";rn public static final String SQL_Manage_sel_one="select * from TEST_USERS where id=?";rn public static final String SQL_Manage_del="delete from t_TEST_USERS where id=?";rn public static final String SQL_Manage_upd="update test_users set pwd=?,address=?,departmentid=?,degree=?,email=?,phone=? where usercode=?";rn public static final String SQL_User_sel1="select pquestion from TEST_Users where usercode=?";rn public static final String SQL_User_sel2="select * from TEST_Users where usercode=?";rn public static final String SQL_User_sel3="select USERCODE,FSCORE,FTESTTIME, SSCORE,STESTTIME from TEST_USERS where USERCODE=?";rn rn rnrnrnrn我在CMD运行 javac DbConnection.java 命令的时候报错:rnrnDbConnection.java:4: 找不到符号rn符号: 类 Constantsrn位置: 软件包 gxu.test.dbrnimport gxu.test.db.Constants;rn ^rnDbConnection.java:15: 找不到符号rn符号: 变量 Constantsrn位置: 类 gxu.test.db.DbConnectionrn String uri=Constants.SQLSource_KEY;rnrn该怎么解决,这个文件编译不过来,数据库就不能连接了。
for in 与 一般for 的区别
for...in 语句用于对数组或者对象的属性进行循环操作。 语法: for (变量 in 对象){     在此执行代码 } for循环是对数组的元素进行循环,而不能引用于非数组对象。 语法: for(int 变量初始值;条件;递增或递减){     在此执行代码 } 举例: var array=[1,2,3,4,5];//定义一个数组,实现数组元素的遍历。 用Fo
Android源码编译--jdk版本查询
1 前言     拿到一份android源码准备对它进行配置和编译之前,首先需要配置jdk(详见《Ubuntu14.04下载&编译Android》)。那么怎么知道需要什么版本的jdk呢?答案就在android源码中。 2 查询JDK版本 2.1 Android源码所需JDK版本         根参考资料[1]的说明,在android-src/build/core/main.mk中对jdk
望赐教!!!!谢谢!!!
在ACCESS同一个表同一个字段同一个单元格中有以下内容:1UCB005A01,1UCB005A02,1UCB005A03,1UCB005B02,1UCB005C02rn像有这些内容的记录有100条rnrn我要求将每个,号隔开的内容(不包括,号)单独放在一个单元格中,并且都在一个字段里。这段程序该怎么写? 望赐教!!!!谢谢!!!
菜鸟问题,望赐教!
这段程序运行后出错,提示下标越界!
简单的问题,望赐教。
小弟在VC6下编译以下程序:rn#includern#include //该头文件包含系统函数setprecisioon(2)rnclass S rnrn public:rn S();rn void setSales(); rn void printAnnualSales();rn private:rn double sales[13]; rn double totalAnnualSales(); rnrnrnS::S() rnrn int i;rn for(i=0;i<=12;i++)rn sales[i]=0.0;rnrnrnvoid S::setSales() rnrn for(int i=1;i<=12;i++)rn rn cout<<"请输入第"<>sales[i];rn rnrn rndouble S::totalAnnualSales() rnrn double total=0.0;rn for(int i=1;i<=12;i++)rn total+=sales[i];rn return total;rnrnrnvoid S::printAnnualSales() rnrn cout<
常识问题,望赐教!
我做了个简单的vb程序,我知道在WINDOW2000及XP中,EXE文件就可以运行的,那要在98中使用:.EXE文件还需要带上哪些文件才可以正确运行,不用做安装程序就可以运行的。
会者不难,难者不会,望赐教!!!
希望获知当前网络状况,不断侦测网络带宽(编程实现)?
初学者问题,望赐教
本人初学c,想请教实现如下程序rnmain()rn rn prientf("is try");rn rn应该下载什么编辑器?turbo c 本人的机器无法运行(p3 1G 256ram) ,所以我download了两个软件 dev-c++ & icc-win32 可是不知道如何编辑和运行,希望众高手帮助rnrn如能赐教,不胜感激rnrnrnrn
望高手赐教!!
我是一位java的初学者。rn请问除了jbuilder之外,还有什么更好的编辑器。rnrn我现在想用java实现在服务器端查询数据,逻辑处理,然后在客户端draw chart.rn请问该用什么好的构架。rnrn谢谢!!rnrn
请教望赐教不胜感激
rn我在线程中读口,而在进程中(设置菜单中)改串口设置。rn如果原来用串口1,现改串口设置时又选了串口1,rn1 为何提示通信口被占用?rn2 若按设置键改串口时,让线程中的读口停止(但不停线程)rn则上述现象也要出现一次,为何?rn进程设串口局部程序:rnxc1=false; // (线程)停读口标志 rn Close234(hCom); // 关232口 rn hCom=CreateFile(Form1->com.c_str(),GENERIC_READ | GENERIC_WRITE,0,NULL,OPEN_EXISTING,0,NULL);rn rn if(hCom==INVALID_HANDLE_VALUE)rn rn switch (GetLastError())rn rn case ERROR_FILE_NOT_FOUND: MessageBox(NULL,"通信口不存在","提示信息",NULL );break;rn case ERROR_ACCESS_DENIED: MessageBox(NULL,"通信口已被占用","提示信息",NULL );break;rn rnrnrn线程局部程序:rnvoid js() // 接收rnrn unsigned char RECE[1];rn RECE[0]=0x00;rn while (RECE[0]!=0x98) // 请求信号是0x48rn rn if(xc1) // 允许读口标志rn rComm(hCom,1,(unsigned char *)RECE); //读口rn rn rn rn while(!Terminated)rnrn //Synchronize(js); //我没设同步因为程序编译显示错,不明白,能告诉我吗?rn js();rnrn
望高手赐教
为什么我的servlet在weblogic下总也运行不了:rn我的servlet在weblogic上运行时总是提示:rnrnrnError 404--Not Found rnFrom RFC 2068 Hypertext Transfer Protocol -- HTTP/1.1:rn10.4.5 404 Not FoundrnThe server has not found anything matching the Request-URI. No indication is given of whether the condition is temporary or permanent.rnrnIf the server does not wish to make this information available to the client, the status code 403 (Forbidden) can be used instead. The 410 (Gone) status code SHOULD be used if the server knows, through some internally configurable mechanism, that an old resource is permanently unavailable and has no forwarding address.rn rn而相同的设置在别人的机器上却正常运行,请问这一般是什么原因?
望线程高手赐教!!
如下一段简单代码,我在ThreadTest1中占用了hdtest但是没有释放,但ThreadTest2rn仍然能够获得hdtest1的使用权,请问如何解释?rn#include "stdafx.h"rn#include "windows.h"rnrnclass Testrnrnpublic:rn HANDLE hdtest;rn Test()rn rn hdtest=CreateMutex(NULL,FALSE,NULL);rn rn show()rn rn printf("haha\n");rn rn block1()rn rn for(int i=0;i<10000;i++)printf("1");rn rn block2()rn rn for(int i=0;i<10000;i++)printf("2");rn rnrn rn;rnrnunsigned long _stdcall ThreadTest1(LPVOID in)rnrn Test * ptest=static_cast(in);rn WaitForSingleObject(ptest->hdtest,INFINITE);rn ptest->block1();rn printf("ThreadTest1 ends\n");rn return 0;rnrnrnunsigned long _stdcall ThreadTest2(LPVOID in)rnrn Test * ptest=static_cast(in);rn WaitForSingleObject(ptest->hdtest,INFINITE);rn ptest->block2();rn ReleaseMutex(ptest->hdtest);rn printf("ThreadTest2 ends\n");rn return 0;rnrnrnint main(int argc, char* argv[])rnrn //printf("Hello World!\n");rn Test *ptest=new Test;rn DWORD dwThreadID;rn CreateThread(NULL,0,ThreadTest1,ptest,0,&dwThreadID);rn rn CreateThread(NULL,0,ThreadTest2,ptest,0,&dwThreadID);rn int a;rn scanf("%d",&a);rn return 0;rn
郁闷中,望赐教!!
我的显卡风扇有点问题,以开机总是“嗡嗡”的响,我给所有的风扇都加了点润滑油,可是,现在只要一开机,先是一阵长鸣,然后就是“叮咚叮咚”的响个不停了,不知怎么回事,郁闷啊,望赐教!!
Service的疑惑?望赐教!
eeeService的IBinder return mBinderrngggService 的IBinder return nullrn说明前者是远程service,后者是本地service。rn前者多了个android:process说明项,为什么呢?rn两者都是android:exported="false",都是只限于本项目使用。那远程service的设计岂非多余了?rnrn[code=html]rnrn rnrn[/code]
新手请教,望赐教!!!
在看了一些vc视频教材后,发现了,老师在讲到输入文件路径的时候,有时后把/与\混着用,但是我把这样混着用的路径敲到浏览器中,又能找到相应的文件!!我想问的是,在输入文件路径的时候 ,\与/到底有没有区别!或在C语言中,\与/区别是什么? 希望哪位高手能指点迷津!在下在这里谢过了!!rnrn我的qq:94116753 我愿意广交各位编程的朋友,希望你们能加我!!rn我的邮箱是,sunshineylq@126.com
望大侠们赐教
orm到底是个什么东西啊,有什么作用,一般哪里用到
我的第一次,望赐教
不知道哪些*.dll需要做到安装文件里,如果把所有都搞进去就太大了,另外为什么做出来的安装文件在别的机器上就不好使,在我的机器上就行,听说是不是要把dsn的变成什么rnini的。能不能解释详细一点,多谢拉。rn另外我只能给23分,想多给都不行,如果问题解决了,我另开一个专门加分的问题给诸位兄弟。
简单问题 望赐教
[code=C/C++]rnchar *p=new char [9]();rnint a;rncout<<&a<<' '<<&p<<' '<<&p[0];[/code]rn我觉的这里 p 和a一样应该是在栈空间的 但是p指向的内容应该在堆中,但是为什么输出p和&p[0];都是乱码呢
不解!望高手赐教!
我的WIN XP每次启动时自动加载金山毒霸病毒防火墙时总是需要很长时间.以前没有这种情况!请问这是什么原因?
悬赏,望赐教...
我用的是Eclipse 3.2+ Eclipseme+sun WTKrn我现在想开发nokia的程序,想求一个nokia的wtk(模拟器),望哪位大哥,给小弟一个,或给个地址,谢谢rnshijie_sun@163.com
相关热词 c++和c#哪个就业率高 c# 批量动态创建控件 c# 模块和程序集的区别 c# gmap 截图 c# 验证码图片生成类 c# 再次尝试 连接失败 c#开发编写规范 c# 压缩图片好麻烦 c#计算数组中的平均值 c#获取路由参数