小编hqt*_*hqt的帖子

易失性:为什么要阻止编译器重新排序代码

在java中,据我所知,volatile变量使一个线程直接读/写到主CPU(而不是每个线程的缓存中),因此将其更改显示给其他线程.

我不知道的是:所以,为什么这个(volatile)工作可以阻止编译器/ CPU重新排序代码语句.

谢谢 :)

java multithreading volatile

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

Java SAXParser:`localName`和`qName`之间的区别

在Java中, Handler类包含名称为startElement.this方法具有原型的方法:

public void startElement(String uri, String localName, String qName, Attributes attributes)

我在Oracle Java网站上看过,但我还是不明白它localNameqName参数之间的区别.他们解释说:

localName - 本地名称(不带前缀),如果未执行名称空间处理,则为空字符串.qName - 限定的XML 1.0名称(带前缀),如果限定名称不可用,则为空字符串.

在上面的定义中,我不知道一些概念:( prefix前缀是什么?)Namespace

请给我一些关于这些参数的解释(尽可能简单).

谢谢 :)

java xml sax terminology

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

为什么我不能使用equals继承?

当我读一本Java书时,作者已经说过,在设计一个类时,使用equals()继承通常是不安全的.例如:

public final class Date {
    public boolean equals(Object o) {
         // some code here
    }
}
Run Code Online (Sandbox Code Playgroud)

在上面的类中,我们应该放final,所以其他类不能从这继承.而我的问题是,为什么在允许另一个类从此继承时它是不安全的?

java oop equals

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

为Eclipse配置Apache HTTP Server

也许这个问题很愚蠢,但我真的不知道如何解决.

首先,作为其他服务器,我想定义新的服务器.所以,在Eclipse中,我转到:Windows> Preference> Server:

1)当我添加新服务器时,在列表中,没有Apache HTTP服务器的类别.只有Apache Tomcat.所以,我点击进入下载附加服务器适配器 - >仍然没有列表.

2)所以,我搜索.我指向我已安装的位置.好的,Eclipse认为这是一个HTTP服务器.Eclipse看到了将项目放入我的文件夹(因为我使用LAMP,因此该文件夹不在Apache文件夹中).

但这是我的问题.当我想运行一个新的PHP项目时.右键单击,在服务器上运行.出现一个新对话框,让我选择要运行的服务器.而且,在服务器列表中,没有HTTP Server,所以,我不知道如何选择Apache HTTP Server!(因为Eclipse没有看到我定义的服务器,eclipse只是先找到适配器)

所以,如果我想运行这个项目,我必须复制所有并粘贴到Apache文件夹.太方便!!!

请帮我.

谢谢 :)

eclipse apache

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

UIImagePickerController教程?

我目前正在开发一个应用程序,我需要能够按下按钮打开相机并拍摄我将附加到.json文件的快照并发送到我的服务器.我在google和StackOverflow上搜索过去几个小时,但是所有教程看起来都很旧(08'-09')或者不符合我的需求.我知道所有的工作都是在UIImagePickerController课堂上完成的,但我想有一个有效的例子.有没有人知道一个很好的教程开始这样的事情?

class objective-c uiimagepickercontroller ios swift

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

Javascript:从另一个文件调用函数

我只是Javascript的新人所以当我阅读Javascript文档时,有许多复杂的结构我无法遵循.

以下是我正在阅读的Javascript代码的简短说明:在我的情况下,有两个主要文件:Helper.jsCircle.js.

在Helper.js中,有一个方法名称:using:function(param1,param2).以下是代码Circle.js:

Helper.using('py.Figures', function (ns) {

    ns.Circle = function (params) {
        // some additional methods and code here
    }

    ns.Alert = function(){   // for the test purpose
           alert('hello');
    }
});
Run Code Online (Sandbox Code Playgroud)

在文件test.html中,我写了一些这样的代码:

<script src="Helper.js"></script>
<script src="circle.js"></script>
<script>
   test = function(){
        py.Figures.Alert();  // calling for testing purpose
   }
</script>
<body onload="test();"></body>
Run Code Online (Sandbox Code Playgroud)

当我在Chrome上运行并在控制台中查看时,我遇到了以下错误:

未捕获的TypeError:对象#没有方法'警报'

这意味着我还没有导入那些课程.请告诉我如何从另一个文件调用函数.在我的情况是:打电话Alert()

谢谢 :)

@编辑:我为代码添加了一些链接:

Helper.js

Circle.js

javascript

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

JDK,J2EE和J2SE代号之间的区别

我在这里看过相同的主题和其他网站上的一些主题,但我真的很困惑,Sun如何命名这些版本.

以下是我对这些代号的了解.请检查并纠正我:

JDK:代表Java Development Kit可以称为最基本的Java,用于开发客户端应用程序(例如桌面应用程序(使用Swing,awt,...)或Applet,...)

J2EE:代表用于在服务器端开发应用程序的Java Enterprise Edition(例如Servlet,EJB,...)

J2SE:我还不知道这个!!!

当我读了一些著名的论坛/网站(stackoverflow,byte,javabranch等...).我的问题有一些不同的答案.(或者我理解错了,因为我的英语不好).

这里有一些我搜索过的答案:

JDK就像J2SEE!哦,我不相信这么多.当我在Eclipse上配置Glassfish服务器时,Eclipse警告此版本需要j2se 1.4以后(但我有JDK 7或jdk 1.7 !!!)

jee-j2ee-to-j2se-jdk-versions之间的相关性我不支持短语will be built(标记正确答案的帖子).

例如:

J2EE 1.4是Java平台1.4版的企业版,因此​​将构建在J2SE 1.4上.

那么,这意味着J2EE是J2SE的"beta版"!! 请解释一下.

我试着学习EJB,那么我需要安装哪个版本?

谢谢 :)

java java-ee

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

Java Swing:JSplitPane在启动时拆分两个组件等于大小

我正在使用每侧JSplitPane包括两个JScrollPane.我不知道如何在启动时将它们设置为等于大小.这是我的主要代码:

 contentPane = new JPanel();
    contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
    contentPane.setLayout(new BorderLayout(0, 0));
    setExtendedState(java.awt.Frame.MAXIMIZED_BOTH);
            inputTextArea = new JTextArea();
    outputTextArea = new JTextArea();

    // put two TextArea to JScrollPane so text can be scrolled when too long
    JScrollPane scrollPanelLeft = new JScrollPane(inputTextArea);
    JScrollPane scrollPanelRight = new JScrollPane(outputTextArea);

    // put two JScrollPane into SplitPane 
    JSplitPane splitPane = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT,
            scrollPanelLeft, scrollPanelRight);
    splitPane.setOneTouchExpandable(true);
    splitPane.setDividerLocation(650);    // still no effect
    contentPane.add(splitPane, BorderLayout.CENTER);
Run Code Online (Sandbox Code Playgroud)

我用过splitPane.setDividerLocation(getWidth() / 2);但仍然没有效果.

请告诉我如何解决这个问题.

更多细节.这是我的完整代码:

package com.view; …
Run Code Online (Sandbox Code Playgroud)

java swing

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

Swift:不能使用Pod文件中的库

我正在使用Typhoon库来进行依赖注入框架.我CocoaPod用来安装这个库.这是我的pod文件:

target "typhoon-swift-demo" do
    pod 'Typhoon'
end

target "typhoon-swift-demoTests" do

end
Run Code Online (Sandbox Code Playgroud)

我已成功安装,但是当我打开工作区项目文件时.我键入这些代码行作为Typhoon示例代码:

public class ApplicationAssembly: TyphoonAssembly {

}
Run Code Online (Sandbox Code Playgroud)

我遇到错误,我的应用程序无法识别TyphoonAssembly我试图使用一些行,如:

import Typhoon // not recogize typhoon
import TyphoonAssembly // not regconize
Run Code Online (Sandbox Code Playgroud)

请告诉我如何解决这个问题.在使用库之前我应该​​添加什么.谢谢 :)

ios cocoapods typhoon swift

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

Kafka Stream中幂等与正好一次的区别

我正在查看文档,据我了解,通过启用以下功能,我们可以实现一次准确的交易 idempotence=true

幂等:幂等生产者针对单个主题为生产者启用一次。基本上,每条发送的邮件都有垃圾保证,在出现错误的情况下不会重复

那么,如果我们已经具有幂等性,那为什么我们要在Kafka Stream中一次只需要另一个属性呢?幂等与完全一次之间到底有什么不同

为什么普通Kafka Producer中不存在一次完全属性?

apache-kafka apache-kafka-streams

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