源代码

JAVA运行机制

蹲街弑〆低调 提交于 2019-12-20 00:14:13
这一篇我们来简单理解一下JAVA的运行机制 大概可以分为三大部分 1.编写程序 2.编译程序 3.运行程序 1. 编写程序 编写程序就是我们前面说的源代码 这些源代码都有特殊的语法 例如main函数 他是jdk中一个比较特殊的函数 他必须要使用特定的语法来编写 (在前面加上 public 等关键字来修饰) 源代码就像是程序的灵魂, 程序的实现是由源代码来就决定的 就像一块橡皮泥, 你想把它变成什么样子完成由你来决定 2 . 编译程序 为什么要编译? 因为 JAVA和大多数语言一样是一种高级语言 我们编写好的代码都被保存成为一个.java的文件 然而我们计算机并不认识(不能运行)这些文件 这就需要把我们编写好的文件(源代码)变成计算机可以运行的机器码(二进制码) 这个过程就叫做编译 注意 :编译就是我们前面用到的 javac 命令 它可以将.java文件编译成一个.class文件(字节码) 并且class文件是一种与平台无关的文件 3. 运行程序 上面说到把源代码编译成字节码。 那么就到运行字节码了 其实我们的JAVA语言有一个非常大的特点就是跨平台 用他们话说就是:一次编译,到处运行 前面说过class文件是一种与平台无关的文件 它也不可直接运行 那我们怎么运行呢? 这就要讲到一个东西jvm(JAVA虚拟机) 它可以将我们的class文件解释成计算机可以运行的二进制

Java 编程的动态性, 第四部分: 用 Javassist 进行类转换

余生长醉 提交于 2019-12-19 19:06:56
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 讲过了 Java 类格式和利用反射进行的运行时访问后,本系列到了进入更高级主题的时候了。本月我将开始本系列的第二部分,在这里 Java 类信息只不过是由应用程序操纵的另一种形式的数据结构而已。我将这个主题的整个内容称为 classworking 。 我将以 Javassist 字节码操作库作为对 classworking 的讨论的开始。Javassist 不仅是一个处理字节码的库,而且更因为它的另一项功能使得它成为试验 classworking 的很好的起点。这一项功能就是:可以用 Javassist 改变 Java 类的字节码,而无需真正了解关于字节码或者 Java 虚拟机(Java virtual machine JVM)结构的任何内容。从某方面将这一功能有好处也有坏处 -- 我一般不提倡随便使用不了解的技术 -- 但是比起在单条指令水平上工作的框架,它确实使字节码操作更可具有可行性了。 Javassist 基础 Javassist 使您可以检查、编辑以及创建 Java 二进制类。检查方面基本上与通过 Reflection API 直接在 Java 中进行的一样,但是当想要修改类而不只是执行它们时,则另一种访问这些信息的方法就很有用了。这是因为 JVM 设计上并没有提供在类装载到 JVM

centos5的kernel source

我的未来我决定 提交于 2019-12-19 02:45:20
2. 如果你真的需要整个内核的源代码 如果你真的因为某个原因需要整个内核的源代码,它是有被提供的。 2.1. CentOS 4 与 5 以 root 的身份安装 rpm-build、redhat-rpm-config 及 unifdef 组件: [root@host]# yum install rpm-build redhat-rpm-config unifdef 以一个 不是 root 用户 的户口,创建一个以 ~/rpmbuild 为基础的目录树: [user@host]$ cd[user@host]$ mkdir -p rpmbuild/{BUILD,RPMS,SOURCES,SPECS,SRPMS}[user@host]$ echo '%_topdir %(echo $HOME)/rpmbuild' > .rpmmacros 我们 强烈 推荐你 不要 以 root 的身份创建组件。(见: Building Source RPM as non-root under CentOS ) 从这些地方找寻内核的源代码: http://mirror.centos.org/centos/5/updates/SRPMS/(最新的更新/源代码组件) http://mirror.centos.org/centos/5/os/SRPMS/(最新的操作系统/源代码组件) (针对 CentOS-4

安装和使用JD-Eclipse插件

南笙酒味 提交于 2019-12-18 16:06:23
JD-Core 是一个免费的库,从一个或多个“.class”文件中 重构Java源代码。JD-Core可以用来恢复丢失的源代码,并深究Java运行时类库。支持Java 5的功能:如注释,泛型或键入“枚举” 。JD-GUI 和 JD-Eclipse都包括JD-Core。 JD-GUI 是一个独立的显示“.class” 文件Java源代码的图形用户界面工具。您可以使用JD-GUI浏览和重建源代码的即时访问方法和字段,以代码高度方式来显示反编译过来的代码。 GUI下载地址: http://java.decompiler.free.fr/?q=jdgui ,包含windows、linux和mac版本。 JD-Eclipse 是一个插件Eclipse平台。它允许您调试所有的Java源代码。 官方网站: http://java.decompiler.free.fr/ 在Eclipse中进行安装的时候可以选择直接在线update,也可以下载插件包本地安装。在线安装的地址: http://java.decompiler.free.fr/jd-eclipse/update/ ,插件包单独的下载地址: http://java.decompiler.free.fr/jd-eclipse/update/jdeclipse_update_site.zip ,各位可以按需自行选择。 安装完毕之后

VISUAL SVN安装 及客户端使用

岁酱吖の 提交于 2019-12-18 09:53:10
1.为什么要用VisualSVN Server,而不用Subversion? 回答: 因为如果直接使用Subversion,那么在Windows 系统上,要想让它随系统启动,就要封装SVN Server为windws service,还要通过修改配置文件来控制用户权限,另外如果要想以Web方式【http协议】访问,一般还要安装配置Apache,如果是新手,岂不是很头痛?而VisualSVN Serve集成了Subversion和Apache,省去了以上所有的麻烦。安装的时候SVN Server已经封装为windws service,Apache服务器的配置也只是在图像界面上,指定认证方式、访问端口等简单操作;另外,用户权限的管理也是通过图像界面来配置。 2.为什么不用TFS? 回答: 因为我们一开始就是用Subversion和TortioseSVN,所以就没有更换其他的软件。至于TFS至今没有用过,其实,我只是看了一些的文章而已,对它也不了解。 3.VisualSVN Server是免费的吗? 回答: 是的,VisualSVN Server是免费的,而VisualSVN是收费的。VisualSVN是SVN的客户端,和Visual Studio集成在一起, VisualSvn Server是SVN的服务器端,包括Subversion、Apache和用户及权限管理,优点在上面已经说过了

python03

谁说我不能喝 提交于 2019-12-18 04:57:01
自主学习 对于单个字符的编码,Python提供了ord()函数获取字符的整数表示,chr()函数把编码转换为对应的字符: >> > ord ( 'A' ) 65 >> > ord ( '爱' ) 29233 >> > chr ( 66 ) 'B' >> > ord ( '你' ) 20320 >> > chr ( 29233 ) '爱' 内置函数hex(),oct(),bin(),对应的数字表示为0x,0o,0b,功能是把十进制数字转化为其他进制 的数 >> > hex ( 93078848 ) '0x58c4540' >> > oct ( 93078848 ) '0o543042500' >> > bin ( 93078848 ) '0b101100011000100010101000000' >> > >> > hex ( 29233 ) '0x7231' >> > 'u7231' 'u7231' >> > >> > '\u7231' '爱' >> > Python对bytes类型的数据用带b前缀的单引号或双引号表示: 区分’ABC’和b’ABC’,前者是str,后者虽然内容显示得和前者一样,但bytes的每个字符都只占用一个字节。 —————————————————————————————————— 以Unicode表示的str通过encode(

Java为图片添加水印的源代码

一个人想着一个人 提交于 2019-12-17 07:02:39
支持功能: 1、可设置水印的字体(字体名字、样式、大小) 2、可设置水印的位置(暂时只支持6个位置) 3、可设置水印的透明度,同时支持 缩放 4、支持预览( 按Esc 键退出) 5、支持 批量 添加水印 6、支持 拖拉 :拖拉进入主界面试试(会自动预览第一张图片) 希望各位童鞋也分享分享自己的。想想中国那么多程序员,若大家都分享一些自己的,中国的IT行业将会是怎样呢?呵!睡觉去了!晚安! 出现的问题与解决方法: 1、水印出来在图片上字符变成了方框。这主要与 字体的选择 有关。建议在加水印时先预览下效果。 2、 JPG 的图片加水印后失真。暂时的解决方法是 改变水印后图片格式 (在保存路径的文本框直接修改即可,改为 bmp或者png 都可以)。 3、有朋友指出 预览后图片没法关闭 。其实上面已经指出。 支持预览( 按Esc键 退出)。 谢谢各位指出Bug的朋友! 源代码下载: 点击下载 来源: https://www.cnblogs.com/java-j2ee/archive/2012/05/08/2490024.html

怎样让源代码为我所用

淺唱寂寞╮ 提交于 2019-12-15 19:49:55
阅读源代码的好处 阅读名家的优秀的代码最终的归宿是形成你自己写代码的思路 出现bug,你能快速定位和解决 你也能进行性能优化 你也具备造轮子的能力 如何阅读源代码 先熟悉框架,再阅读 如果连框架主要是干嘛的都不懂,那还怎么阅读?所以,可先熟悉框架的基本使用再来阅读源代码。. 借力打力 市面上有很多教我们阅读源代码的视频教程或书籍,我们可以先学习下,看看别人是怎么阅读源代码的。或者跟作者对比,看看我们跟作者在阅读源代码时跟作者有什么差异,改进我们的方法和习惯。 别幻想着一步登天,先从简单的源代码开始阅读 作为大数据学习者,不可能一上来就想看spark的源代码。因为spark依赖着很多底层的技术,如并发编程,网络编程等等。所以可以先从阅读并发编程等开始 一定要以hello world作为入口来阅读,掌握基本的设计思想,核心要点 通过debug hello world程序,我们能看到类是怎么设计的,类与类是怎么进行交互的,系统是怎么发起和建立连接的,底层代码是怎么运行的。 抓大放小,可视化阅读 我们要先从主流程开始阅读,别拘泥于细节,边阅读时可以边写注释边画图,做到流程可视化,再反复推敲,想想是否存在什么不足 手撸框架,并学习框架的核心优点 所谓框架,就是对现有技术的封装和优化,所以,我们可以手撸一个框架,并以此对照原框架,进一步掌握框架的优秀设计模式 来源: CSDN 作者:

十分钟带你了解 Java 代码执行原理 对不懂说不

╄→гoц情女王★ 提交于 2019-12-14 22:19:19
对于任何一门语言,要想达到精通的水平,研究它的执行原理(或者叫底层机制)不失为一种良好的方式。 在本篇文章中,将重点研究java源代码的执行原理,即从程序员编写JAVA源代码,到最终形成产品,在整个过程中,都经历了什么?每一步又是怎么执行的?执行原理又是什么? 一、编写java源程序 java源文件:指存储java源码的文件。 先来看看如下代码: //MyTest被public修饰,故存储该java源码的文件名为MyTest public class MyTest { public static void main (String[] args){ System. out .println("Test Java execute process."); } } //由于MyTest被public修饰了,故Class A不能用public修饰 class A {} //由于MyTest被public修饰了,故Class B不能用public修饰 class B {} 1、java源文件名就是该源文件中public类的名称 2、一个java源文件可以包含多个类,但只允许一个类为public 二、编译java源代码 当java源程序编码结束后,就需要编译器编译。 安装好jdk后,我们打开jdk目录,有两个.exe文件,即javac.exe(编译源代码,xxx.java文件) 和 java

Linux的学习记录

青春壹個敷衍的年華 提交于 2019-12-14 19:48:42
博客的搭建 1.首先关闭防火墙与安全策略 systemctl stop firewalld setenforce 0 2.安装博客的环境(LAMP) yum -y install mariadb mariadb-server mariadb-libs php php-mysql php-gd php-fpm php-cli gd httpd 3.创建博客用的数据库,在第二步的时候已经安装过了,我们直接创建就行(Centos7的mysql是mariadb,Centos7默认将mariadb当成mysql)。 先修改密码(mysqladmin -u root passwrod 123) 然后进入到数据库中(mysql -uroot -p123) 创建一个博客用的数据库(create database boke) 然后查看一下有没有(show databases) 最后就可以退出了(exit) 这样数据库就创建完成了。 4.我们找到博客的安装包,然后解压。 5.创建一个虚拟主机文件(必须以 .conf 结尾) vim /etc/httpd/conf.d/boke.conf (这里就是直接用vim创建编写一个,名字随意但是必须是以 .conf 结尾) 写入以下内容: <VirtualHost *:80> ServerName www.boke.com ServerAlias boke