小编Ahm*_*our的帖子

要编译到常量池中的MethodHandle的Java代码


我试图让Java 8 Nashorn拥有完整的源代码(未经过检测).您可能知道,它使用Nasgen修改.classes,并输出输出JRE/lib/ext/nashorn.jar.


在拆卸输出时,使用javap:

 0: aload_0
 1: ldc           #24                 // String Function
 3: ldc           #31                 // MethodHandle invokestatic jdk/nashorn/internal/objects/NativeFunction.function:(ZLjava/lang/Object;[Ljava/lang/Object;)Ljdk/nashorn/internal/runtime/ScriptFunction;
 5: getstatic     #22                 // Field $nasgenmap$:Ljdk/nashorn/internal/runtime/PropertyMap;
 8: aconst_null
 9: invokespecial #34                 // Method jdk/nashorn/internal/objects/ScriptFunctionImpl."<init>":(Ljava/lang/String;Ljava/lang/invoke/MethodHandle;Ljdk/nashorn/internal/runtime/PropertyMap;[Ljdk/nashorn/internal/runtime/Specialization;)V
Run Code Online (Sandbox Code Playgroud)

可能被错误地写为

super("Function", NativeFunction.function, $nasgenmap$, (Specialization[]) null);
Run Code Online (Sandbox Code Playgroud)

,应该使用签名调用超级构造函数:

ScriptFunctionImpl(String, MethodHandle, PropertyMap, Specialization[]) { }
Run Code Online (Sandbox Code Playgroud)



我的问题是第二个参数NativeFunction.function,我没有可编译的源,MethodHandle在常量池中生成相同的,

  #31 = MethodHandle       #6:#30         //  invokestatic jdk/nashorn/internal/objects/NativeFunction.function:(ZLjava/lang/Object;[Ljava/lang/Object;)Ljdk/nashorn/internal/runtime/ScriptFunction;
Run Code Online (Sandbox Code Playgroud)

仪表的这一部分是由ASM通过调用MethodVisitor.visitLdcInsn完成的.

那么,有没有办法从Java源构建这样的方法句柄,或者这是一个只能在字节码级别完成的功能?

完整的javap输出:

$javap -c -v NativeFunction$Constructor.class

  Last modified …
Run Code Online (Sandbox Code Playgroud)

java decompiling bytecode methodhandle nashorn

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

Spring Boot 应用程序 - 无法启动运行

我正在尝试在 Mac 中使用 Gradle 创建一个简单的 Spring Boot 应用程序。在 gradle bootRun 上,出现以下错误:

失败:构建失败并出现异常。

  • 出了什么问题:任务“:bootRun”执行失败。

    进程'命令'/Library/Java/JavaVirtualMachines/jdk1.8.0_60.jdk/Contents/Home/bin/java''以非零退出值1完成

异常引发于:2015-08-23 01:37:57.989 WARN 6186 --- [ main] ationConfigEmbeddedWebApplicationContext :上下文初始化期间遇到异常 - 取消刷新尝试

org.springframework.beans.factory.BeanCreationException:创建名称为“embeddedServletContainerCustomizerBeanPostProcessor”的bean时出错:bean初始化失败;嵌套异常是 org.springframework.beans.factory.BeanCreationException:创建名为“org.springframework.transaction.annotation.ProxyTransactionManagementConfiguration”的 bean 时出错:bean 初始化失败;嵌套异常是 org.springframework.beans.factory.BeanCreationException:创建名称为“org.springframework.cache.annotation.ProxyCachingConfiguration”的 bean 时出错:自动装配依赖项注入失败;嵌套异常是 org.springframework.beans.factory.BeanCreationException:无法自动装配方法:void org.springframework.cache.annotation.AbstractCachingConfiguration.setConfigurers(java.util.Collection); 嵌套异常是 org.springframework.beans.factory.BeanCreationException:创建名称为“org.springframework.cloud.aws.cache.config.annotation.ElastiCacheCachingConfiguration”的 bean 时出错:自动装配依赖项注入失败;嵌套异常是 org.springframework.beans.factory.BeanCreationException:无法自动装配字段:私有 org.springframework.cloud.aws.core.env.stack.ListableStackResourceFactory org.springframework.cloud.aws.cache.config.annotation.ElastiCacheCachingConfiguration。堆栈资源工厂;嵌套异常是 org.springframework.beans.factory.BeanCreationException:创建在类 org.springframework.cloud.aws.context.config.annotation.ContextStackConfiguration 中定义的名为“stackResourceRegistryFactoryBean”的 bean 时出错:通过工厂方法实例化 Bean 失败;嵌套异常是 org.springframework.beans.BeanInstantiationException:无法实例化 [org.springframework.cloud.aws.core.env.stack.config.StackResourceRegistryFactoryBean]:工厂方法“stackResourceRegistryFactoryBean”抛出异常;嵌套异常是java.lang.IllegalArgumentException:在org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:547)在org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean()处没有定义有效的实例ID AbstractAutowireCapableBeanFactory.java:476) 在 org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:303)

build.gradle 如下所示:

buildscript {
    repositories {
        jcenter()
        maven { url "http://repo.spring.io/snapshot" }
        maven { url "http://repo.spring.io/milestone" }
    }
    dependencies {
        classpath("org.springframework.boot:spring-boot-gradle-plugin:1.3.0.BUILD-SNAPSHOT")
        classpath("io.spring.gradle:dependency-management-plugin:0.5.2.RELEASE")
    }
}
apply plugin: …
Run Code Online (Sandbox Code Playgroud)

spring gradle build.gradle spring-boot spring-cloud

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

如何设置反应原生的不同IOS设备的字体大小

在react-native我设计了一个样本,当我在不同的IOS设备中检查它时,这是我的代码:

render() {
      return (
        <View style={styles.container}>
             <View style={styles.body}>
             <TouchableHighlight style={styles.facebook} >
             <View style={styles.row}>
             <Image style={styles.icon} source={require('image!fb')}/>
             <Text style={styles.facebookText} >Continue with Facebook</Text>
             </View>
          </TouchableHighlight>
        </View>
        </View>
      )
  }
};
var styles = StyleSheet.create({
  container:{
    marginTop: 65,
    flexDirection:'column',
    flex:1,
    backgroundColor:'transparent'
  },
   body:{
    flex:.5
  },
  facebook:{
    marginTop: 25,
    height: 50,
    padding: 10,
    marginRight: 40,
    marginLeft: 40,
    backgroundColor: '#1A8A29',
  },
    row:{
    flexDirection:'row',
  },
  facebookText:{
    marginLeft: 8,
    fontSize: 20,
    color: 'white',
    alignSelf:'center'
  },
  icon:{
    marginTop: 3,
     marginLeft: 5,
      width: 25,
      height: 25
    }
}) …
Run Code Online (Sandbox Code Playgroud)

javascript reactjs react-native

6
推荐指数
2
解决办法
7523
查看次数

如何处理 SKPaymentTransactionStateDeferred?

我正在将应用内购买添加到我的应用中。对此我有些怀疑。

怎么处理SKPaymentTransactionStateDeferred?我们需要在这种状态下实现自己还是 Apple 会处理这个问题?

如果要实现方式这里怎么处理?如何使用沙盒测试员帐户进行测试?有谁清楚的告诉我。提前致谢。

objective-c storekit in-app-purchase ios

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

使用 Eclipse Milo 了解 OPC-UA 安全性

我是 OPC-UA 世界和 Eclipse Milo 的新手。我不明白这里的安全性是如何工作的,讨论 eclipse-milo 提供的客户端示例

我发现连接 OPCUA 服务器时使用了一些安全属性:

SecurityPolicy、MessageSecurityMode、clientCertificate、clientKeyPair、setIdentityProvider、

  1. 上述配置如何相互关联?

我试图运行 client-examples -> BrowseNodeExample。此示例在内部运行ExampleServer。ExampleServer 配置为与匿名和用户名密码提供程序一起运行。它还必然接受SecurityPolicy.None, Basic128Rsa15, Basic256,Basic256Sha256MessageSecurityModeas ,SignandEncrypt除了SecurityPolicy.Nonewhere MessageSecurityModeisNone也是如此。

  1. 问题是 AnonymousProvider 我可以使用上面提到的所有SecurtiyPolicy和配对连接到服务器(没有提供客户端证书)。MessageSecurityMode但我不能对 做同样的事情UsernameProvider,因为UsernameProvider只能SecurityPolicy MessageSecurityMode配对None成功运行。所有其他对都会引发安全检查失败异常(当提供证书时),否则用户访问被拒绝(当未提供客户端证书时)。如何使这项工作有效?

最后,如果有人能向我指出 Eclipse Milo 的正确用户文档,那就太好了。因为除了示例代码之外我看不到任何文档,而且它们也没有记录。

opc-ua milo

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

如果项目不存在,则放入Dynamodb批处理

DynamoDb不支持批量更新,它仅支持批量放置。

但是有可能只批处理不存在带有键的项目吗?

amazon amazon-web-services amazon-dynamodb

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

PostgreSQL 9.6。问题下降索引

在旧的 PostgreSQL 数据库中,我尝试删除发出命令的现有索引:

DROP INDEX testing.idx_testing_data_model_output_data_id;
Run Code Online (Sandbox Code Playgroud)

并查看错误:

ERROR:  index "<index name>" does not exist
Run Code Online (Sandbox Code Playgroud)

但是我可以使用以下\d <table name>命令查看索引:

DROP INDEX testing.idx_testing_data_model_output_data_id;
Run Code Online (Sandbox Code Playgroud)

好的,当我尝试创建索引时,我收到以下错误:

ERROR:  relation "<index name>" already exists
Run Code Online (Sandbox Code Playgroud)

似乎索引创建或索引删除没有成功完成。我该如何解决这个问题?

postgresql ddl

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

d3.csv在console.log中返回index.html内容

我正在使用 d3 v5 和 ReactJS。我在反应“列表”类中调用 d3.csv,如下所示:

import React from 'react';
import * as d3 from 'd3';

class List extends React.Component{

componentDidMount(){
d3.csv("./data/data.csv").then(function(d, error){
    console.log(d);
});
}

render(){
        return(
        <div> </div>
        );
    }
} 
  export default List;
Run Code Online (Sandbox Code Playgroud)

并且列表正在以下“App”类中导入

import React, { Component } from 'react';
import logo from './logo.svg';
import List from './components/list/List';
import './App.css';

class App extends Component {
  render() {
    return (
      <div className="App">
        <header className="App-header">
          <img src={logo} className="App-logo" alt="logo" />
          <h1 className="App-title">Welcome to React</h1>
        </header>          
        <List/> 
      </div>      
    ); …
Run Code Online (Sandbox Code Playgroud)

javascript csv d3.js reactjs

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

如何在 Heroku 上部署 flutter web

我在 Flutter 中构建了一个 Web 应用程序并成功运行了命令flutter build web。我正在尝试找到一种将其部署在 Heroku 上的方法,就像我的 React 应用程序一样,但在 Heroku 文档中找不到任何内容。

deployment heroku web server flutter

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

如何将 keyclock 重定向到应用程序页面并获取令牌

我正在使用 keycloak 的登录和注册页面。对于登录我使用:

 keycloak.init({onLoad: 'login-required'}).then(function (authenticated) {
        if (!authenticated) {
           
        } else{

        }
Run Code Online (Sandbox Code Playgroud)

这工作正常,因为我可以使用上面的代码重定向到收到令牌的应用程序页面。但是,如果用户单击注册链接并注册为新用户,我会看到浏览器重定向到:

htttps://localhost/auth/realms/realm1/login-actions/registration?session_code=2TC4xBE5BoFy_Dt7nK8wNDzdLx-8rJmA7l0IjTY1Khk&execution=2e64e3ef-185a-4ca8-a6cc-51c40f9fb7fc&client_id=bizmapp&tab_id=EbayK64spNk
Run Code Online (Sandbox Code Playgroud)

我希望在注册后有一个 keycloak 回调,我可以在其中获取令牌并将用户重定向到应用程序的原始安全页面,用户在登录/注册之前想要访问该页面

keycloak keycloak-gatekeeper keycloak-connect

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