我有两节课.
类A有保护方法m(),a是一个实例A.
类B与类在同一个包中A.
我想访问a.m()但我得到IllegalAccessError...
怎么了?
我在位于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文件已签名.
反正有没有避免这个?
我的一个朋友在他几天的电话工作面试中被问到了这个问题.我没有线索.有谁能建议解决方案?(他的求职面试结束了.现在只是出于好奇)10倍.
我有一个以a表示的数据对象TreeModel,我只想在我的节目中显示它的一部分JTree- 为了争论,说叶子和他们的父母.如何隐藏/过滤不必要的节点?
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,
when i am traversing through JarFile#entries method it is printing the following,
META-INF/MANIFEST.MF
D:/so/
D:/so/some.txt
but i created the jar file using jar tool
jar -cvf so_commond.jar so so/some.txt
added manifest
adding: so/(in = …
过去,我说过要安全地复制集合,请执行以下操作:
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并且没有缺陷。
我很高兴与方法投掷ConcurrentModificationException,NullPointerException,IllegalArgumentException,ClassCastException,等,或者甚至挂起。
我选择String了一个不可变类型参数的例子。对于这个问题,我对具有自身问题的可变类型集合的深拷贝不感兴趣。
好的,这是一个关于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.
有人可以解释原因吗?是类加载器进程是线性的,换句话说,它是在完全加载所有其他变量之前调用方法吗?
我的一个朋友注意到了
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作用,因为它似乎被忽略了。但如果是这样,为什么这首先在语法上是正确的?
我想要一个实现接口的通用对象.我的意思是,如果我有一个A级
class A<E> {
E x;
}
Run Code Online (Sandbox Code Playgroud)
我想确保x将实现特定的接口(myInterface).换句话说,类型E实现了接口.
我正在使用一个使用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 ×10
generics ×2
security ×2
applet ×1
classloader ×1
collections ×1
ecj ×1
jar ×1
javascript ×1
jnlp ×1
jtree ×1
liveconnect ×1
macos ×1
static ×1
swing ×1
var ×1
zip ×1