写作目标 记录常见的使用javac手动编译Java源码和java手动执行字节码的命令,一方面用于应对 Maven 和 Gradle 暂时无法使用的情况,临时生成class文件(使用自己的jar包):另一方面了解下构建工具做了哪些工作. 作者水平有限,行文中如有错误,希望评论告知,自当尽快修复. 一.编译源码 1. javac 命令 编译Java源码都是使用 javac 命令完成的,其语法如下: javac [ options ] [ sourcefiles ] [ classes] [ @arg…
用命令行编译java并生成可执行的jar包 1.编写源代码. 编写源文件:CardLayoutDemo.java并保存,例如:I:\myApp\CardLayoutDemo.java.程序结构如下: package test; import java.awt.*; import javax.swing.*; //更多包的导入... class NotePadFrame extends JFrame { //主界面的设计... } //其他相关代码... public class CardLayo…
Android反编译(一) 之反编译JAVA源码 [目录] 1.工具 2.反编译步骤 3.实例 4.装X技巧 1.工具 1).dex反编译JAR工具  dex2jar   http://code.google.com/p/dex2jar/downloads/list   2).JAVA反编译工具 JD-GUI   http://jd.benow.ca/   2.反编译步骤 步骤1:把apk文件后缀名改为.zip 步骤2:解压zip包得到classes.dex 步骤3:将Dex反编译为Jar包(工…
以下为阅读<Linux命令行与shell脚本编程大全 第3版>的读书笔记,为了方便记录,特地与书的内容保持同步,特意做成一节一次随笔,特记录如下: <Linux命令行与shell脚本编程大全 第3版>Linux命令行---…
以下为阅读<Linux命令行与shell脚本编程大全 第3版>的读书笔记,为了方便记录,特地与书的内容保持同步,特意做成一节一次随笔,特记录如下: <Linux命令行与shell脚本编程大全 第3版>Linux命令行--- Linux命令行与shell脚本编程大全…
以下为阅读<Linux命令行与shell脚本编程大全 第3版>的读书笔记,为了方便记录,特地与书的内容保持同步,特意做成一节一次随笔,特记录如下: <Linux命令行与shell脚本编程大全 第3版>Linux命令行--- Linux命令行与shell脚本编程大全…
以下为阅读<Linux命令行与shell脚本编程大全 第3版>的读书笔记,为了方便记录,特地与书的内容保持同步,特意做成一节一次随笔,特记录如下: <Linux命令行与shell脚本编程大全 第3版>Linux命令行--- Linux命令行与shell脚本编程大全…
以下为阅读<Linux命令行与shell脚本编程大全 第3版>的读书笔记,为了方便记录,特地与书的内容保持同步,特意做成一节一次随笔,特记录如下: <Linux命令行与shell脚本编程大全 第3版>Linux命令行---2 Linux命令行与shell脚本编程大全…
以下为阅读<Linux命令行与shell脚本编程大全 第3版>的读书笔记,为了方便记录,特地与书的内容保持同步,特意做成一节一次随笔,特记录如下: <Linux命令行与shell脚本编程大全 第3版>Linux命令行--- Linux命令行与shell脚本编程大全…
以下为阅读<Linux命令行与shell脚本编程大全 第3版>的读书笔记,为了方便记录,特地与书的内容保持同步,特意做成一节一次随笔,特记录如下: <Linux命令行与shell脚本编程大全 第3版>Linux命令行---0 Linux命令行与shell脚本编程大全…
一.前言 物理机的执行引擎是直接在物理硬件如CPU.操作系统.指令集上运行的,但是对于虚拟机来讲,他的执行引擎由自己实现. 执行引擎有统一的外观(Java虚拟机规范),不同类型的虚拟机都遵循了这一规范,输入字节码文件,解析字节码处理,然后输出结果. 二.运行时栈帧结构 1.栈帧概念栈帧(Stack Frame)用于支持方法调用和执行的数据结构,包含了局部变量表.操作数栈.动态连接和方法返回地址. 局部变量表大小(max_locals),栈帧深度在编译时已经确定,并写入到了Code属性中: 执行引…
Java虚拟机指令是由(占用一个字节长度.代表某种特定操作含义的数字)操作码Opcode,以及跟随在其后的零至多个代表此操作所需参数的称为操作数 Operands 构成的.由于Java虚拟机是面向操作数栈而不是寄存器的架构,所以大多数指令都只有操作码,而没有操作数. 字节码指令集是一种具有鲜明特点.优劣势都很突出的指令集架构: 由于限定了Java虚拟机操作码的长度为1个字节,指令集的操作码不能超过256条.Class文件格式放弃了编译后代码中操作数长度对齐,这就意味者虚拟机处理那些超过一个字节数…
1.编译 编写MyProgram.java文件,内容如下: public class MyProgram { public static void main(String[] args) { System.out.println("hello world"); } } 注意:这里没有声明包名,只做了一个最简单的输出helloworld. 用命令行打开java文件所在的目录,然后运行如下命令行,生成class文件: javac MyProgram.java 此时,会在当前目录下生成jav…
javac -encoding utf-8  -Djava.ext.dirs=D:\JDeveloper\jdevbin\BC4J\lib\;D:\JDeveloper\jdevbin\j2ee\home\lib\;D:\JDeveloper\jdevbin\jdbc\lib\  -classpath D:\JDeveloper\jdevbin\jdev\myclasses -d D:\classtest D:\JDeveloper\jdevbin\jdev\myprojects\XXXXX.j…
一.Maven的安装 : 1.将 maven3.0解压到任一目录下,如D:\Program Files 2.配置环境变量:变量名: MAVEN_HOME   变量值:D:\Program Files\apache- maven-3.0.4 然后在Pathz中添加% MAVEN_HOME%\bin(同时Java环境变量配置成功) 3.运行 cmd,输入mvn -version.若显示版本信息,则安装成功.   二.在命令行中使用Maven创建Java项目 1.使用 命令行(开始-运行- cmd)进…
一直在gdb 下调试c/c++程序. 突然要写个java程序,又不是很喜欢使用eclipse,那怎么调试程序呢.你还可以使用 jdb. 它是jdk 内置的一个java debug工具.类似与 gdb.不过功能稍弱,但也已经很值得敬佩了. 假如你的java源代码是 hello.java 文件.那么你需要编译的时候加上 -g 选项.这一点和 gdb 一致.怎么做? javac -g hello.java 此时会生出一个 hello.class的文件.现在可以调试了.类似于 java命令一样,jdb也…
1.首先通过创建一个txt文档,将java代码写入txt文档中保存 2.将保存好的HelloWorld.txt文档重命名为HelloWorld.java文件. 3.打开windows中的"命令提示符(cmd)"窗口.在"开始"菜单中选择"运行"命令,在文本框中输入cmd,按下enter键,进行命令行环境. 4.输入"d:"跳至d盘的根目录,再输入"cd java文件"跳至:d:\java文件目录下. 5.输…
环境: jdk1.8,cmd,notepad++ 创建java工程test,创建文件夹: src classes lib 说明: src 放置.java文件 classes 放置.class文件 lib 放置工程需要的依赖jar包 打开cmd,cd到test, javac javac -d .\classes -classpath .\lib\x1.jar;.\lib\x2.jar;...... .\src\*.java 说明: -d .\classes 指定编译后的classes文件放置到当前…
不用IDE,而直接用命令编译JAVA包,仔细看了下,作一个记录. 以下的URL值得收藏. http://www.aiuxian.com/article/p-2115485.html http://www.cnblogs.com/haolujun/archive/2013/03/02/2939698.html http://blog.sina.com.cn/s/blog_533074eb01014yd7.html 主要要理解classpath参数,d参数,及.作路径导向. 演示继承的四个文件如下:…
在刚开始学Java时用命令行进行编译代码.而C++一直在用IDE, 这次尝试下命令行编译.vs下也可以用cl.exe.link.exe等命令来进行编译 但这次是通过安装MinGW来学习命令编译,主要用到g++. (1)g++简介 通过下面命令可查看g++版本 g++ -v 结果如下: 也可以通过g++ --help 查看更多的可用命令. (2)编译单个文件 编写单个文件的可执行程序代码hello.cpp如下 #include <iostream> using namespace std; in…
源码如下,实现把一个JPG保存成灰度图格式的BMP 1 //jpg2bmp.cpp 2 #include <stdio.h> 3 #include <inttypes.h> 4 #include <opencv2/opencv.hpp> 5 #include <opencv2/core.hpp> 6 7 #ifndef P 8 #define P(format, ...) do \ 9 { \ 10 printf("%s %s %d "…
1,在编辑框中,将目录切至java文件所在的地址 如图 2,开始编译java文件 用命令javac 编译目标java文件,文件需带后缀名 ; 用java 执行class, 此时class文件无需带后缀名 如图:…
MongoDB 是一个基于分布式文件存储的数据库. 由 C++ 语言编写.旨在为 WEB 应用提供可扩展的高性能数据存储解决方案. MongoDB 是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的. mongodb是目前在IT行业非常流行的一种非关系型数据库(NoSql)   大纲如下: Mongodb介绍/安装 命令行增删改查操作 客户端工具mongochef使用 JAVA驱动操作Mongodb Spring Data Mongodb框架搭建 Spr…
历史命令大小:/etc/profile中字段HISTSIZE=1000 历史命令保存文件:~/.bash_history history -c 清空历史命令 history -w 把历史命令写入~/.bash_history !n执行第n条历史命令 !!执行上一条历史命令 !字串 重复执行最后一条以该字串开头的历史命令 设置别名:alias 别名=‘原命令' 此设置只会临时生效,若需永久生效则修改/root/.bashrc 删除别名:unalias 别名 命令执行顺序:1.绝对路径或相对路径:2…
新建文件 和Linux不太一样,Linux中的touch和vi命令创建新文件的方法都不能用了,在windows命令行下得用type nul>文件名.后缀名来创建: F:\study\vue\workspace\JD>type nul>app/css/layout.scss 写入内容到文件 F:\study\vue\workspace\JD> echo 'hello world' >app/css/layout.scss 因为cmd太难用了,也可使用git或powershell…
想起来之前做的一个项目:那时候是把需要的源代码通过文件流输出到一个.java文件里,然后调用sun的Comipler接口动态编译成.class文件,然后再用专门写的一个class loader加载这个class到jvm, 这样就可以使用这个动态生成的class里的方法了. 所以大致的过程是:文本化的源代码 -> 编译 -> .class文件 -> 通过流输入到defineClass()接口加载到jvm 这种技术可以用来实现AOP和动态代理等等. 之后在java 6,java把上述sun的…
最近要实现一个Java调用一个复杂shell命令实现数据同步,该命令有管道重定向的语句,结果硬是执行不成功,而且也没异常报出.经过一段时间的折腾终于解决了此问题,权当做备忘记录下来(重点在红色框中的“sh”,“-c“再加自己的命令):…
mysql 在 Navicat 界面工具 执行存储过程ok,但是在命令行下执行失败. 原因在于,默认的MySQL语句分隔符为' ; ',在输入' ; '的时候,“以为”语句已经结束了,但实际上语句还没有结束. 解决方案:使用DELIMITER临时改变命令行的语句分隔符,在存储过程创建之后再修改分隔符为原来的" ; DELIMITER // source /app/xxx.sql DELIMITER ; 原博文地址:https://blog.csdn.net/chenmoshashou2/arti…
以下为阅读<Linux命令行与shell脚本编程大全 第3版>的读书笔记,为了方便记录,特地与书的内容保持同步,特意做成一节一次随笔,特记录如下:…
以下为阅读<Linux命令行与shell脚本编程大全 第3版>的读书笔记,为了方便记录,特地与书的内容保持同步,特意做成一节一次随笔,特记录如下:…