小编Smr*_*ita的帖子

字节码的验证是否发生两次?

所以我对JVM中发生的字节码验证有点困惑.根据Deitel和Deitel的书,Java程序经历了五个阶段(编辑,编译,加载,验证和执行)(第1章).字节码验证器在"验证"阶段验证字节码.书中没有提到字节码验证器是类加载器的一部分.

但是根据 oracle的文档 ,类加载器执行加载,链接和初始化的任务,并且在链接过程中它必须验证字节码.

现在,是Deitel和Deitel谈到的字节码验证,以及这个oracle文件 谈到的字节码验证, 同样的过程?

或者字节码验证是否发生两次,一次是在链接过程中,另一次是字节码验证器?

图片描述了Dietel和Dietel在书中提到的java程序的各个阶段.(我从nobalG下面的一个答案中借用了这张图片:)) 在此输入图像描述

java verification jvm

30
推荐指数
4
解决办法
2787
查看次数

究竟是什么.gradle文件夹在Linux的主目录中创建?

好的,那么当gradle开始下载依赖项时呢?当确实是在主目录中创建.gradle文件夹时.

linux gradle

10
推荐指数
1
解决办法
2万
查看次数

在使用three.js渲染图形时,不会生成具有网格朗伯材质的对象

好吧,我刚开始学习three.js,这对我来说完全是全新的.所以我正在编写这些系列的hello world kinda scrips.我写了下面的脚本,用MeshBasicMaterial生成一个多维数据集(这只是博客中给出的教程的精确副本)

        var scene = new THREE.Scene(); 
        var camera = new THREE.PerspectiveCamera(75, 640/340, 0.1, 1000); 
        var renderer = new THREE.WebGLRenderer(); 

        renderer.setSize(640, 340); 
        document.body.appendChild(renderer.domElement);

        var geometry = new THREE.CubeGeometry(1,1,1); 
        var material = new THREE.MeshBasicMaterial({color: 0xD43001});
        var cube = new THREE.Mesh(geometry, material); 


        scene.add(cube); 
        camera.position.z = 5; 

        var render = function (){

                requestAnimationFrame(render); 

                cube.rotation.x += 0.1; 
                cube.rotation.y += 0.1; 

                renderer.render(scene, camera); 

            };

            render();
Run Code Online (Sandbox Code Playgroud)

上面的脚本生成一个立方体,当我更改立方体的材质时,立方体会连续旋转

var material = new THREE.MeshBasicMaterial({color: 0xD43001});
Run Code Online (Sandbox Code Playgroud)

var material = new THREE.MeshLambertMaterial({color: 0xD43001});
Run Code Online (Sandbox Code Playgroud)

没有显示出来.我错过了什么?

UPDATE

所以我不得不添加一个光源来显示由网格朗伯材料制成的物体.当我添加一个点光源时,物体就会显示出来.

three.js

7
推荐指数
1
解决办法
1383
查看次数

什么区别List <String> stringList = new ArrayList <String>()和List <String> stringList = new ArrayList()?

我知道在java中可以进行以下两种声明和初始化.

List<String> stringList = new ArrayList<String>() 

List<String> stringList = new ArrayList()?
Run Code Online (Sandbox Code Playgroud)

但他们之间究竟有什么不同呢?

另外,您更喜欢命名列表变量?你喜欢将它们命名为variableList还是只是变量?或者你有其他方法吗?

java arraylist

4
推荐指数
1
解决办法
1560
查看次数

在我当地的mercurial回购中,hgrc在哪里?

我在目录中有一个名为mercurialTest的本地mercurial repo

/home/xyz/MERCURIAL
Run Code Online (Sandbox Code Playgroud)

我使用mercurial的web服务器(我使用了命令hg serve)服务它.回购可以在

http://xyz-satellite-l640:8000/
Run Code Online (Sandbox Code Playgroud)

我在以下目录中克隆了repo mercurialTest

/home/xyz/MERCURIALWORKERS/workerOne
/home/xyz/MERCURIALWORKERS/workerTwo
Run Code Online (Sandbox Code Playgroud)

现在我在repO MERCURIAL里面,在workerOne里面,我添加了一个名为的文件

mercurialbasics.txt
Run Code Online (Sandbox Code Playgroud)

我添加并提交了该文件.现在我正在尝试将文件推送到

/home/xyz/MERCURIAL
Run Code Online (Sandbox Code Playgroud)

但是我收到以下错误

pushing to http://xyz-satellite-l640:8000/
searching for changes
remote: ssl required
Run Code Online (Sandbox Code Playgroud)

根据教程, http://hginit.com/02.html我必须更改位于的hgrc文件中的内容/home/xyz/MERCURIAL

但是我没有看到那个文件.那我究竟做错了什么或者错过了什么?

version-control mercurial

3
推荐指数
1
解决办法
2001
查看次数

用其他东西替换花括号内的内容(例如{1})

我有一个字符串如下

Hey {1}, you are {2}.
Run Code Online (Sandbox Code Playgroud)

这里12是关键将动态增加其价值.

现在我需要替换{1}1表示的值,然后我需要替换上面句子{2}2表示的值.

我该怎么做?

我知道字符串的分割功能是什么,我非常清楚,通过该功能,我可以做我想做的事,但我正在寻找更好的东西.

注意:我事先并不知道这些键是什么.我也需要检索密钥.然后根据键我需要替换字符串中的值.

java string

3
推荐指数
3
解决办法
1万
查看次数

是不是可以在git中推送5个提交中的4个?

我在当地的git repo中总共有五次提交.在五次提交中,我想推送4次提交而不推送最后一次提交是否可能?

git push commit partial

3
推荐指数
1
解决办法
65
查看次数

将1个arraylist分配给其他vs将1个araylist添加到其他空araylist以使它们都包含相同的对象之间有什么区别

所以我基本上的意思是以下是什么区别?

List<String> phonesContainerOne = new ArrayList<String>();
List<String> phonesContainerTwo = new ArrayList<String>();

phonesContainerOne.add("Nexus 4");
phonesContainerOne.add("Nexus 5");
Run Code Online (Sandbox Code Playgroud)

现在假设我想将这两部手机再次添加到手机容器中.在java中,我可以通过以下方式实现

1.phonesContainerTwo.addAll(phonesContainerOne);

2.phonesContainerTwo = phonesContainerOne;
Run Code Online (Sandbox Code Playgroud)

在我的情况下,两种方式(1和2)之间究竟有什么区别?(ps.我知道addAll用于一次将一种Collection类型的对象添加到另一种方式.除此之外,这些方式之间的其他区别是什么?)

java list arraylist

2
推荐指数
1
解决办法
655
查看次数

为什么没有gradle包装器任务得到解释?

我正在学习本教程

http://spring.io/guides/gs/gradle/

我创建了一个名为build.gradle的文件.它有一个名为wrapper的任务,定义如下:

task wrapper(type: Wrapper) {
    gradleVersion = '1.8'
}
Run Code Online (Sandbox Code Playgroud)

我没有在我的机器中安装gradle,因为上面提到的站点表明不应该安装gradle.但是无法识别gradle命令并且不执行包装器任务.

有人可以帮助我如何使用gradle包装器任务构建项目.

而且没有安装了gradle的机器如何在没有安装的情况下识别gradle命令?

gradle

1
推荐指数
1
解决办法
4209
查看次数

Http标签的Spring安全问题

我的spring配置文件如下

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xmlns:p="http://www.springframework.org/schema/p"
    xmlns:context="http://www.springframework.org/schema/context"
    xmlns:mvc="http://www.springframework.org/schema/mvc" 
    xmlns:jpa="http://www.springframework.org/schema/data/jpa"
    xmlns:security="http://www.springframework.org/schema/security"
    xsi:schemaLocation="http://www.springframework.org/schema/beans 
    http://www.springframework.org/schema/beans/spring-beans.xsd
    http://www.springframework.org/schema/mvc 
    http://www.springframework.org/schema/mvc/spring-mvc.xsd
    http://www.springframework.org/schema/context 
    http://www.springframework.org/schema/context/spring-context.xsd
    http://www.springframework.org/schema/data/jpa
    http://www.springframework.org/schema/data/jpa/spring-jpa.xsd
    http://www.springframework.org/schema/security
    http://www.springframework.org/schema/security/spring-security.xsd
    ">

<http auto-config="true">
        <security:intercept-url pattern="/admin**" access="ROLE_USER" />
    </http>

    <authentication-manager>
      <authentication-provider>
        <user-service>
        <user name="test" password="test" authorities="ROLE_USER" />
        </user-service>
      </authentication-provider>
    </authentication-manager>

</beans>
Run Code Online (Sandbox Code Playgroud)

但是我遇到了以下错误

cvc-complex-type.2.4.a: Invalid content was found starting with element 'http'. One of '{"http://www.springframework.org/schema/beans":import, "http://www.springframework.org/schema/beans":alias, "http://
 www.springframework.org/schema/beans":bean, WC[##other:"http://www.springframework.org/schema/beans"], "http://www.springframework.org/schema/beans":beans}' is expected.
Run Code Online (Sandbox Code Playgroud)

可能有什么问题?Eclipse 显示的错误十字标记就在 http 标记开始的地方。

更新我正在使用 gradle 并且我的 build.gradle 文件对 Spring 具有以下依赖项:

 compile 'org.slf4j:slf4j-api:1.7.12'
    compile 'com.googlecode.json-simple:json-simple:1.1.1'
    compile 'de.grundid.opendatalab:geojson-jackson:1.0'
    compile …
Run Code Online (Sandbox Code Playgroud)

java spring spring-mvc spring-security

1
推荐指数
1
解决办法
1693
查看次数

关于java的多重继承的困惑.请阅读下面的内容

那么这在java中是允许的

ClassA extends ClassB implements InterfaceA
Run Code Online (Sandbox Code Playgroud)

并且

InterfaceA extends IntefaceB , InterfaceC
Run Code Online (Sandbox Code Playgroud)

好吧,如果这些不是多重继承那么它们是什么?

UPDATE

好吧,我碰巧以错误的方式说出了这个问题.我最初的问题是为什么java不支持多重继承.

我真正想知道的是:

如果一个接口可以扩展多个接口,或者一个类可以扩展一个类并实现一个接口,那么为什么那些不能被称为多重继承呢?

java multiple-inheritance

0
推荐指数
1
解决办法
474
查看次数