小编Tom*_*ine的帖子

IllegalAccessError:访问受保护的方法

我有两节课.

A有保护方法m(),a是一个实例A.

B与类在同一个包中A.

我想访问a.m()但我得到IllegalAccessError...

怎么了?

java

11
推荐指数
2
解决办法
4761
查看次数

访问被拒绝(java.net.SocketPermission 127.0.0.1:8080 connect,resolve)

我在位于http:// localhost:8080/index.html的简单HTML页面上插入了一个Java Applet :

<applet id="applet" code="SomeCode.class" archive="lib.jar" Width="1" Height="1"></applet>
Run Code Online (Sandbox Code Playgroud)

Java Applet有一个类似于下面代码的方法:

public void PostStuffToServer() {
  String server = "http://localhost:8080/PostHandler.ashx";
  URL u = new URL(server);
  URLConnection con = u.openConnection();
  con.setDoOutput(true);
  con.getOutputStream().write(stream.toByteArray());
  con.connect();
}
Run Code Online (Sandbox Code Playgroud)

当我从JavaScript执行applet代码时,如下所示:

obj = document.getElementById('applet');
obj.getClipboardImageURL();
Run Code Online (Sandbox Code Playgroud)

我收到以下错误:

访问被拒绝(java.net.SocketPermission 127.0.0.1:8080 connect,resolve)

似乎Java代码将域localhost解析为其等效的IP地址,因此引发了跨域安全限制.当我从http://127.0.0.1:8080/index.html执行相同的代码时,它工作正常.lib.jar文件已签名.

反正有没有避免这个?

javascript java security applet liveconnect

11
推荐指数
2
解决办法
8万
查看次数

实现没有"final"关键字的最终类

我的一个朋友在他几天的电话工作面试中被问到了这个问题.我没有线索.有谁能建议解决方案?(他的求职面试结束了.现在只是出于好奇)10倍.

java

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

隐藏/过滤JTree中的节点?

我有一个以a表示的数据对象TreeModel,我只想在我的节目中显示它的一部分JTree- 为了争论,说叶子和他们的父母.如何隐藏/过滤不必要的节点?

java swing jtree

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

JarFile#entries do not show "META-INF" as a JarEntry when creating jar with JarOutputStream

As per the link : /sf/answers/89690681/

I followed the instructions and created a jar file, the input directory where the source files for creating the jar is as follows,

  • so (directory)
  • so/some.txt (file)

when i am traversing through JarFile#entries method it is printing the following,

JarFile#entries output when jar created via JarOutputStream

META-INF/MANIFEST.MF
D:/so/
D:/so/some.txt

but i created the jar file using jar tool

Created jar using simple jar tool

jar -cvf so_commond.jar so so/some.txt
added manifest
adding: so/(in = …

java zip jar

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

如何安全地复制集合?

过去,我说过要安全地复制集合,请执行以下操作:

public static void doThing(List<String> strs) {
    List<String> newStrs = new ArrayList<>(strs);
Run Code Online (Sandbox Code Playgroud)

或者

public static void doThing(NavigableSet<String> strs) {
    NavigableSet<String> newStrs = new TreeSet<>(strs);
Run Code Online (Sandbox Code Playgroud)

但是这些“复制”构造函数,类似的静态创建方法和流,真的安全吗,规则在哪里指定?我所说的安全是指Java 语言提供的基本语义完整性保证和针对恶意调用者强制执行的集合,假设有合理的支持SecurityManager并且没有缺陷。

我很高兴与方法投掷ConcurrentModificationExceptionNullPointerExceptionIllegalArgumentExceptionClassCastException,等,或者甚至挂起。

我选择String了一个不可变类型参数的例子。对于这个问题,我对具有自身问题的可变类型集合的深拷贝不感兴趣。

(很明显,我已经看过了OpenJDK的源代码,并有某种形式的答案为ArrayListTreeSet。)

java collections copy-constructor

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

类加载器如何加载静态变量的说明

好的,这是一个关于java的新手问题,但我似乎无法理解它.

我班上有以下代码

private static final String [] LIST_CODE = gerarListCode();
private static final int [][] LIST_INTEGER = new int [][] {
        {947,947}, {110,103}, 
        {947,958}, {110,120}, 
        {947,954}, {103,107}, 
        {947,967}, {110,99,104}};

 private static String [] gerarListCode()
    {
        String [] listCode = new String [LIST_INTEGER.length];

        for (int i=0 ; i<LIST_INTEGER.length ; i++)
        {
           //do some stuff      
        }

        return listaUnicode;
    }
Run Code Online (Sandbox Code Playgroud)

由于以下行中的nullpointerexception,此代码给出了初始化异常

 String [] listCode = new String [LIST_INTEGER.length];
Run Code Online (Sandbox Code Playgroud)

似乎那时变量LIST_INTEGER为null.

有人可以解释原因吗?是类加载器进程是线性的,换句话说,它是在完全加载所有其他变量之前调用方法吗?

java static classloader

9
推荐指数
2
解决办法
9611
查看次数

var&lt;T&gt; 在 Java 中有什么作用?

我的一个朋友注意到了

var<Integer> list = new ArrayList<Double>();
Run Code Online (Sandbox Code Playgroud)

在 Java 中有效。事实证明, 的类型list被评估为ArrayList<Double>

使用时var<Integer> list = new ArrayList<>();list就是ArrayList<Object>

我们俩都无法弄清楚泛型类型的var作用,因为它似乎被忽略了。但如果是这样,为什么这首先在语法上是正确的?

java generics var ecj

9
推荐指数
2
解决办法
350
查看次数

如何在java中创建Generic Object实现一个接口

我想要一个实现接口的通用对象.我的意思是,如果我有一个A级

class A<E> {
    E x;
}
Run Code Online (Sandbox Code Playgroud)

我想确保x将实现特定的接口(myInterface).换句话说,类型E实现了接口.

java generics

8
推荐指数
2
解决办法
8322
查看次数

适用于Mac Yosemite的jnlp web启动文件的所有站点权限

我正在使用一个使用jnlp文件启动的WebStart文件.实际上是在本地下载的.我在Windows机器上使用了相同的jnlp文件,我通过该java.policy文件更改了权限.同一个文件适用于Windows,但我在Mac机器上的访问被拒绝了.我改变了所有java.policy可以更改的文件,包括本地但仍然得到相同的错误.我重启机器几次,但错误信息相同.此外,jnlp文件内部正在AllPermission设置但仍然无法正常工作.

有没有想过要纠正这个?

JNLP的安全性java.policy,.java.policy.

grant {
        permission java.security.AllPermission;
};



  <security>    
    <all-permissions />
  </security>
Run Code Online (Sandbox Code Playgroud)

错误信息:

!MESSAGE access denied ("java.lang.reflect.ReflectPermission" "suppressAccessChecks")
!STACK 0
java.security.AccessControlException: access denied ("java.lang.reflect.ReflectPermission" "suppressAccessChecks")
    at java.security.AccessControlContext.checkPermission(AccessControlContext.java:457)
    at java.security.AccessController.checkPermission(AccessController.java:884)
Run Code Online (Sandbox Code Playgroud)

从权限的角度来看,我正在测试AllPermissions,然后根据需要添加细化权限,但我想让它工作.

我不知道jar代码和应用程​​序的"签名".jnlp WebStart文件和代码可以在Windows环境中运行.

java security macos jnlp

8
推荐指数
0
解决办法
293
查看次数