mercurial ubuntu ubuntu14
详细过程ubuntu下面编译openJDK8,修改源码IDEA中调试
编译JDK源码的最佳实践是亲手操作,理解其流程。网上有许多教程,但只有实际操作,才能深刻理解整个过程。
首先,环境准备上选择Ubuntu 16.04,因为在此版本下,编译过程中遇到的异常较少。使用低版本Ubuntu的主要目的是为了专注于编译源码和阅读源码,而不是研究版本兼容性问题。高版本的OpenJDK理论上可行,但这里更多是选择已熟悉使用的OpenJDK 8版本。
获取OpenJDK 8源码有两种方式:利用Mercurial(hg)或手动下载。Mercurial是OpenJDK使用的代码管理工具,通过hg clone命令下载源码。在遇到执行卡死问题后,改用手动下载方式。
下载地址为jdk.java.net,选择相应版本下载。下载后得到openjdk-8u41-src-b04-14_jan_2020.zip,解压后重命名为openjdk8。
接着,需要安装基础JDK作为编译环境。可选择手动下载已编译好的JDK7作为引导JDK,如openjdk-7u75-b13-linux-x64-18_dec_2014.tar.gz。解压并重命名后,配置系统环境变量,确保编译过程顺利进行。
安装编译所需的依赖,并检查是否遗漏。执行命令检查依赖,如有缺失,按照提示进行安装。ccache配置后出现版本过旧的提示,不影响编译。
编译前需进行一系列检查:设定语言选项、查看PATH环境变量、清除JAVA_HOME变量,确保编译环境配置正确。执行make all命令,过程中可能会遇到报错,通过修改相关源文件,如hotspot/make/linux/Makefile的SUPPORTED_OS_VERSION变量,添加4%,解决内核版本问题。
验证编译成功,通过执行java-version命令确认。编译后源码使用,如创建Test.java源文件,通过Javac编译器编译为Test.class文件。运行Test.class文件,输出信息确认编译成功。
在IDEA中使用JDK源码调试,首先安装IntelliJ IDEA,下载并解压到opt目录,通过idea.sh启动。将编译好的JDK导入IDEA,配置debug,去掉Before launch中的build选项,执行测试代码。
为了更方便地查看源码,可以修改JDK源码,如为System.out.println添加打印前缀。修改源码后重新编译,执行测试代码以验证修改效果。
通过实际操作和实践,对JDK源码的理解将更加深入。本指南提供了一个完整的编译和调试流程,帮助开发者深入理解JDK源码的细节。
请教如何编译并建立ubuntu下的trinitycore 服务器
编译的系统为Ubuntu 8.10 desktop x86
sudo apt-get install build-essential cmake libmysql++-dev subversion mercurial openssl libssl-dev zlib1g-dev libmysqlclient15-dev libtool mysql-client unrar
复制代码
然后添加一个系统用户trinity
adduser trinity
su– trinity
复制代码
在/home/trinity/下建立文件.hgrc,内容为:
[extensions]
hgext.mq=
复制代码
用HG获取源码:
hg clone dedecms.com
复制代码
建立编译目录:
mkdir/home/trinity/build dedecms.com
复制代码
开始编译
cd/home/trinity/579织梦内容管理系统
cmake-DCMAKE_C_FLAGS="-O3-pipe"-DCMAKE_CXX_FLAGS="${CMAKE_C_FLAGS}"-DDO_RA=1-DLARGE_CELL=1-DPREFIX=/opt/trinity/home/trinity/trinitycore2内容来自dedecms
make本文来自织梦
make install
复制代码
编译好以后,就是弄数据库了。 copyright dedecms
现在trinity用户目录下建立一个文件夹tdb本文来自织梦
然后从svn上获取数据库:
su- trinity
mkdir tdb
svn checkout./tdb
复制代码
首先,把Mysql Server下载下来:
sudo apt-get install mysqlserver
复制代码
在Mysql里建立数据库
cd/home/trinity/trinitycore-patches/sql
mysql-u root-p<create_mysql.sql
mysql-u trinity-p characters<characters.sql
mysql-u trinity-p realmd<realmd.sql copyright dedecms
复制代码
建立完毕以后,导入tdb:
cd/home/trinity/tdb/full_database/
unrar x TDB_0.0.2.rar
mysql-u trinity-p world<TDB_0.0.2.sql
复制代码
剩下的就所打数据库补丁了:
cd/home/trinity/trinitycore2/sql/updates
mysql-u trinity-p characters<(sql file)
mysql-u trinity-p world<(sql file)
Android Studio 比 Eclipse 好用在哪里
Android studio出版已经有一段时间了,经过这一段时间的实际应用,切身体会到android Studio和eclipse之间的优劣之处,现在将其总结如下:
1,工程管理:
a,新建工程时,Android Studio和eclipse新建工程的文件夹组织方式不同,开发环境之间的共容性较差,比如要将eclipse中的project导入到Android Studio中需费一定的周折,而要将Android Studio中的工程导入到eclipse中,却没有比较简单的方法,只能一个文件一个文件的拷贝。
b,新建工程后,设置工程的属性比较难,在eclipse中直接去properties设置就可以,但是在Android Studio中,0.1版提供了一个界面设置project structure,我设置过很多次,遇到各种问题,在Android Studio中新建的工程问题较少,但是从eclipse中导入的工程就比较容易出BUG,比如找不到Lib,找不到sdk,当升级到0.1.1版的时候直接没有界面了,当点击project structure的时候,提示:我们以后会提供一个界面来配置工程的设置,但是在这之前需要自己在gradle里去手动设置。
c,新建或导入工程后,要删除工程,Android Studio只能去workspace文件夹去删除,而不能在开发环境中删除。
d,在eclipse中引用库项目非常简单,库项目properties里android lib打钩,然后就可以直接在项目中引用了,但是在Android Studio中,由于时间的关系,我到现在没找到解决方法。
综上所述,在管理工程这块,可能是对Android Studio比较陌生,不习惯,总觉得android Studio远不如eclipse.
2,IDE界面:
a,Android Studio提供的dock留边停靠完胜eclipse,在eclipse中要是想用更大的视野来显示一个view,而隐藏其他的view的一个方法就是点X,关闭后要打开就比较麻烦了,而Android Studio是将常用的view最小化dock到其边界,更加人性化,已操作和灵活。
b,第二点,eclipse的启动速度令人蛋碎呢,每次开机先启eclipse,后启动其他程序,其他程序都百米5s的速度,eclipse都还没上起跑线。
c,还有eclipse的死机问题非常严重,我的ubuntu每天都要因为eclipse死机的问题来重启,有的时候甚至一天五六次。
3,项目编码:
a,Android studio中的图标在每行最开始表示,使开发者更加可视化了自己的界面,程序等,这是Android Studio的最大亮点。
b,错误提示不比eclipse提示,eclipse放在错误上边即可提示,android studio需要按快捷键command+1才能显示。
c,拷贝一个方法或字段到另一个地方时,eclipse中是连它的引入类一起拷贝,比如拷贝List<BluetoothDevice>时会连import java.util.List和import android.Bluetooth.BluetoothDevice一起拷贝过去,而android Studio会给用户提供一个选择,要拷什么不要拷什么会给用户一个界面来勾选。
d,Android Studio中 command+W可以直接快速定位到最近编辑的文件,不知道eclipse中有没有,暂时没有发现。
e,inspect code,利用android lit可以帮助开发者自动检查代码中的错误和有可能出现bug的地方。
f,在Android Studio中code assistance要远远强大于eclipse,比如你可以先调用方法,再写方法时会有提示,而在eclipse中只能傻傻地自己写,没有提示。还有一个,拷贝string或color中的value前选择value的时候,eclipse的反应速度慢到无法忍受。
4,res资源:
a,Android studio中的颜色等都在每行最开始表示,使开发者更加可视化了自己的界面,程序等,这是Android Studio的最大亮点。
b,在代码中可以看到资源中不痛分辨率下的drawable图像,将光标放置图像名字中间,点View-quick documation即可看到,由于是在本环境中打开,而不是像eclipse中重启程序打开,所以打开图像的速度远远小于eclipse。
c,生成res的values文件更简单,感觉创建时更倾向于android开发,android专用,不像eclipse那么复杂。
d,提示更加完善,比如如果将Button拼成Bitton,Android Studio会自动检查出来,如果没有layout_width或layout_height,会自动检查出来并提供选项让开发者选择。
e,在android Studio中提供了一个Preview视图,可以和layout.xml文件进行关联,在xml文件中改属性,或添加组件,会动态在Preview视图中表现出来,而且可以添加不同语系,不痛屏幕尺寸的android设备。
5,编译代码:
a,在eclipse中编译速度感觉要慢于Android Studio,但是在eclipse中有一个build automatically的功能,觉得挺好用,在android Studio中未找到,只能在每次安装前手动编译。
b,编译后选择运行的平台,eclipse中会自动打开软件,而android Studio会安装软件,需要手动打开。
6,LOG查看:
a,log查看相比较而言,还是android Studio稍微先进于eclipse,在eclipse很多次,我删掉的tag,第二次打开eclipse,它又存在于左边的list当中,Adnroid studio看起来界面比较友好,使人更容易找出log。