JRE与JDK的界别

Windows 下安装drozer(Windows 10),连接手提式无线电电话机(HUAWEInote4X)

首先下载drozer(http://mwr.to/drozer)。

终极给张图解释:

转自:

试想一下万一java为了提供给大多数人接纳,他们是无需jdk做开荒的,只需求jre能让java程序跑起来就足以了,那么每一种客商还须求手动去设置意况变量多麻烦啊?所以安装jre的时候安装程序自动帮你把jre的java.exe增多到了系统变量中,验证的方法很轻便,大家看看了系统意况变量的
path最前面有“%SystemRoot%system32;%SystemRoot%;”这样的安顿,那么再去Windows/system32底下去看看吧,发掘了什么样?有多个java.exe。 

红米手提式有线电话机开采者形式

遇上第二个难题,Nokia手提式有线电话机开采者形式。好久不用那么些了,开掘找不到。互连网查找一波,

在安装-笔者的装置-全体参数,地方,点击MIUI版本7次,张开开荒者方式成效。

接下来去越来越多安装里边-开荒者选项-张开USB调节和测验。

JDK是蕴含JRE的,並且还额外的多出编写翻译器,调节和测验器,以及一些开支的jar包,jre是承担运转.class文件的,也正是jre约等于配置的java运营的平台,未有他你的java项目是运转不了的,jre是蕴含JVM的,因为运转必将需求jvm来分解施行.class文件,以及配备运行的系统,

  1. 定义
    JRE(Java Runtime
    Enviroment)是Java的运转条件。面向Java程序的使用者,并不是开辟者。如若你仅下载并安装了JRE,那么您的种类只好运营Java程序。JRE是运转Java程序所必得遭遇的成团,包涵JVM规范落实及
    Java主题类库。它包含Java设想机、Java平台大旨类和扶助文件。它不分包开垦工具(编写翻译器、调节和测量试验器等)。
    JDK(Java Development Kit)又称J2SDK(Java2 Software Development
    Kit),是Java开辟工具包,它提供了Java的开辟条件(提供了编译器javac等工具,用于将java文件编写翻译为class文件)和周转条件(提
    供了JVM和Runtime支持包,用于分析class文件使其获得周转)。假诺你下载并设置了JDK,那么您非但能够付出Java程序,也同临时候兼有了运维Java程序的平台。JDK是整套Java的中央,包罗了Java运转情形(JRE),一批Java工具tools.jar和Java标准类库
    (rt.jar)。
  2. 区别
    JRE主要包蕴:java类库的class文件(都在lib目录下打包成了jar)和虚构机(jvm.dll);JDK首要包罗:java类库的
    class文件(都在lib目录下打包成了jar)并自带叁个JRE。那么为什么JDK要自带二个JRE呢?并且jdk/jre/bin下的client
    和server七个公文夹下都包括jvm.dll(表达JDK自带的JRE有八个虚构机)。
    纪念在情形变量path中安装jdk/bin路线吗?老师会告诉我们不设置的话javac和java是用持续的。确实jdk/bin目录下满含了具备的命令。不过有未有人想过大家用的java命令实际不是jdk/bin目录下的而是jre/bin目录下的吧?不信能够做二个施行,大家能够把jdk
    /bin目录下的java.exe剪切到别的地点再运维java程序,开掘了什么样?一切OK!(JRE中绝非javac命令,原因相当粗略,它不是开辟景况)那么有人会问了?小编精通未有设置jre/bin目录到遭逢变量中啊?试想一下举个例子java为了提须要超越四分之一个人利用,他们是无需jdk做开荒的,只供给jre能让java程序跑起来就足以了,那么每一个顾客还索要手动去设置遭遇变量多麻烦啊?所以安装jre的时候安装程序自动帮您把jre的java.exe加多到了系统变量中,验证的主意很简短,去Windows/system32下边去拜访啊,开采了何等?有贰个java.exe。
  3. 难点
    要是设置了JDK,会发掘你的微管理器有两套JRE,一套位于C:\Program
    Files\Java\jre6, 其他一套位于 C:\Program
    Files\Java\jdk1.6.0_41\jre目录下。
    JRE的地位就象一台PC机同样,大家写好的Win32应用程序必要操作系统帮大家运转,同样的,我们编辑的Java程序也须求求JRE才具运作。所以当你装完JDK后,若是分别在硬盘上的多少个分歧地点设置了两套JRE,那么你能够虚拟你的微管理器有两台虚构的Java 
    PC机,都富有运营Java程序的效能。所以我们能够说,只要你的Computer安装了JRE,就足以正确运营Java应用程序。 
    1、为何Sun要让JDK安装两套一样的JRE?
    那是因为JDK里面有数不胜数用Java所编纂的开采工具,如javac.exe、jar.exe等,这个命令放置在
    C:\Program Files\Java\jdk1.6.0_41\bin目录里。
    因为他们是java编写的指令,所以要信赖java的jar包,这几个jar包贮存在C:\Program
    Files\Java\jdk1.6.0_41\lib目录里
    如果将C:\Program
    Files\Java\jdk1.6.0_41\lib\目录里面包车型地铁tools.jar改名叫tools1.jar,然后运营javac.exe,展现如下结果: 
    Exception in thread “main” java.lang.NoClassDefFoundError:
    com/sun/tools/javac /Main 
    只是输入 java -cp C:\Program Files\Java\jdk1.6.0_41\lib\tools1.jar
    com.sun.tools.javac.Main 
    会获取与javac.exe相同的结果。
    从这里大家能够注明javac.exe只是贰个包装器(Wrapper),而制造的目标是为着让开辟者免于输入太长的指命。
    与此同时大家得以窥见C:\Program
    Files\Java\jdk1.6.0_41\bin目录下的次第都十分的小,不超过29K,从此间大家能够吸收二个定论。正是JDK里的工具大概是用Java所编纂,所以也是Java应用程序,因而要选用JDK所附的工具来开荒Java程序,也非得要活动附一套JRE才行,所以放在C:\Program
    Files\Java\jdk1.6.0_41\jre目录下的那套JRE正是用来运维一般Java程序用的。 
    2、假设一台电脑安装两套以上的JRE,什么人来调控吗?
    以此重大义务就落在java.exe身上。java.exe的做事正是找到确切的JRE来运作Java程序。
    java.exe依据底下的逐个来搜索JRE:本人的目录下有未有JRE;父目录有未有JRE;查询注册表:
    [HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Runtime
    Environment] 
    故此java.exe的运维结果与你的微型Computer内部哪个JRE被施行有十分的大的涉嫌。(本文于2015年6月6日修订)
    小提示:此时的记念会随着岁月的推移而淡忘,温故而知新,提出大家即刻把本文收藏下来,以往渐次回味。

世家料定在装置JDK的时候会有取舍是还是不是安装单独的jre,一般都会联手安装,小编也提议大家如此做。因为那样更能援助我们弄明白它们的区分: 

配置adb

下载地址(百度网盘链接:
密码: txjw )

免安装的,加压后,配置景况变量,用起来相比平价。

 

Drozer安装直接setup就足以了。

 

 

手机端,安装agent.apk。

拉开监听情势。

图片 1

电脑端,

在PC上运用adb举办端口转发,转载到Drozer使用的端口31415

 

adb forward tcp:31415 tcp:31415

 

然后在PC上开启Drozer console,

drozer安装目录下输入:drozer.bat console
connect

结果出错了

 

If this error persists, specify the path in the ~/.drozer_config file:

 

    [executables]     java = C:\path\to\java Selecting
a4436bc92222a537 (Xiaomi Redmi Note 4X 7.0)

 

图片 2

亟需配置Java路线。

C:\Users\顾客名>目录下创立.drozer_config文件。

Win10下无法直接新建.drozer_config文件。

急需先创立1.txt文件,

写入如下内容(jdk路线依照具体情状去写)

[executables]

java=D:\Java\jdk1.8.0_181\bin\java.exe

javac=D:\Java\jdk1.8.0_181\bin\javac.exe

然后在该目录运转cmd,

Rename 1.txt .drozer_config

 

来得如下图,就屡见不鲜了。

图片 3

  JDK主要包蕴:java类库的class文件(都在lib目录下打包成了jar)并自带贰个JRE。那么为何JDK要自带叁个JRE呢?并且jdk/jre/bin下的client和server多少个文件夹下都满含jvm.dll(表明JDK自带的JRE有多少个设想机)。
回忆在遭逢变量path中安装jdk/bin路线吗?老师会告知大家不安装的话javac和java是用持续的。确实jdk/bin目录下包罗了富有的吩咐。可是有未有人想过大家用的java命令而不是jdk/bin目录下的而是jre/bin目录下的吧?不信能够做四个奉行,大家能够把jdk
/bin目录下的java.exe剪切到其他地点再运维java程序,发掘了何等?一切OK!(JRE中并未有javac命令,原因相当粗略,它不是支付情状)那么有人会问了?作者分明没有设置jre/bin目录处处境变量中啊?试想一下假使java为了提须要抢先50%人利用,他们是不要求jdk做开采的,只供给jre能让java程序跑起来就能够了,那么种种客户还亟需手动去设置条件变量多麻烦啊?所以安装jre的时候安装程序自动帮你把jre的java.exe加多到了系统变量中,验证的方法比非常粗大略,去Windows/system32下边去拜会啊,发掘了什么样?有七个java.exe。

相信大家都驾驭jdk的bin下有各类java程序要求选拔的授命,与jre的bin目录最明白的区分正是jdk下才有javac,那一点很好通晓,因为
jre只是三个运维条件而已。与开荒毫无干系,正因为那样,具有开垦作用的jdk本身的jre下才随同不时候有client性质的jvm和server性质的
jvm, 而仅仅作为运转情况的jre下只要求client性质的jvm.dll就够了。 

3.1、为啥Sun要让JDK安装两套一样的JRE?
  那是因为JDK里面有成百上千用Java所编纂的开采工具,如javac.exe、jar.exe等,那么些命令放置在
C:\Program Files\Java\jdk1.6.0_41\bin目录里。因为他俩是java编写的指令,所以要依附java的jar包,那个jar包贮存在C:\Program
Files\Java\jdk1.6.0_41\lib目录里如果将C:\Program
Files\Java\jdk1.6.0_41\lib\目录里面包车型大巴tools.jar改名叫tools1.jar,然后运转avac.exe,呈现如下结果: 
Exception in thread
“main” java.lang.NoClassDefFoundError: com/sun/tools/javac
/Main 
但是输入 java -cp
C:\Program Files\Java\jdk1.6.0_41\lib\tools1.jar
com.sun.tools.javac.Main 
会得到与javac.exe一样的结果。
从这里大家能够证明javac.exe只是叁个包装器(Wrapper),而创制的目标是为着让开拓者免于输入太长的指命。
并且大家得以窥见C:\Program
Files\Java\jdk1.6.0_41\bin目录下的顺序都非常小,不超越29K,从此间大家能够得出四个定论。正是JDK里的工具差非常的少是用Java所编纂,所以也是Java应用程序,因而要利用JDK所附的工具来开垦Java程序,也务须求活动附一套JRE才行,所以放在C:\Program
Files\Java\jdk1.6.0_41\jre目录下的那套JRE便是用来运营一般Java程序用的。 
3.2、要是一台Computer安装两套以上的JRE,哪个人来决定吗?
以此重大职责就落在java.exe身上。java.exe的办事便是找到适当的JRE来运营Java程序。
java.exe依据底下的次第来寻找JRE:本人的目录下有未有JRE;父目录有未有JRE;查询注册表:
[HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java
Runtime Environment],所以java.exe的运作结果与你的微型计算机内部哪个JRE被实行有十分大的涉嫌。

     
6套JRE,每套JRE都被分级设置到区别的目录,不会互相影响。当在调整台施行java.exe,操作系统搜索JRE的方法如下: 

图片 4

通俗点来讲:
jdk是java的开垦包,在那之中饱含jre;jre仅仅是java的运作时景况;而JDK满含了同版本的JRE,另外还包含有编写翻译器和别的工具 

相关文章