小编Bar*_*lla的帖子

字符串常量池

由于这些问题#1说明:问题1问题2我的理解是" 字符串常量 "被拘留时:

String s = "abc"; 
Run Code Online (Sandbox Code Playgroud)

在以下情况下,JVM将创建一个新的String对象,而不是使用String Pool中的现有对象:

String s = new String("abc");
Run Code Online (Sandbox Code Playgroud)

但是,在阅读以下两个类似的陈述后,我有一个疑问.

当编译器遇到String文本时,它会检查池以查看是否已存在相同的String.如果找到匹配项,则对新文本的引用将定向到现有String,并且不会创建新的String文本对象.

在这种情况下,由于关键字"new",我们实际上最终会遇到略微不同的行为.在这种情况下,对字符串文字的引用仍然放在常量表(String Literal Pool)中,但是,当你来到关键字"new"时,JVM必须在运行时创建一个新的String对象,而不是使用常量表中的那个.

因此,当我们使用"new"并基于上面的定义创建对象时,我们还在非池内存池内存中放置引用.当我们这样做时,JVM是否也应该返回相同的引用?:

String one = new String("test");
String two = "test";

System.out.println(one.equals(two)); // true
System.out.println(one == two);      // false
Run Code Online (Sandbox Code Playgroud)

因为在声明字符串文字时String three = "test";它会存在于池中吗?因此应该返回相同的参考和打印真实?或者之前的陈述是否意味着它们将被放入池内存中,但只是在使用new运算符时跳过?

java

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

AES CTR 256加密OpenSSL上的操作模式

我是OpenSSL的新手,任何人都可以给我一个如何从C文件初始化AES CTR模式的提示.我知道这是方法的签名但是我遇到了参数问题,没有很多文档也没有明确的例子如何进行简单的加密.如果有人可以举例说明这种方法,我将不胜感激.提前致谢!

void AES_ctr128_encrypt(const unsigned char *in, unsigned char *out,
    const unsigned long length, const AES_KEY *key,
    unsigned char ivec[AES_BLOCK_SIZE],
    unsigned char ecount_buf[AES_BLOCK_SIZE],
    unsigned int *num);
Run Code Online (Sandbox Code Playgroud)

Hi Caf我非常感谢你的快速回答它真的很有用,并且是我在网上找到的最好的例子.我试图打开与未定长度的文件进行加密和写入与生成密文的另一个文件,然后打开加密的文件,并恢复明文.我需要使用相当数量MB的文件,因为我想对CPU的性能进行基准测试.但是我在解密时仍然遇到问题.不知何故,当解密一个相当大的txt文件(1504KB)时,它不会解密它完成,我得到一半的明文,另一半仍然加密.我认为这可能与iv的大小或我打电话给柜台的方式有关.这是我到目前为止:

#include <openssl/aes.h>
#include <stdio.h>
#include <string.h>

struct ctr_state { 
    unsigned char ivec[16];   
    unsigned int num; 
    unsigned char ecount[16]; 
}; 

FILE *fp;
FILE *rp;
FILE *op;
size_t count;   
char * buffer; 
AES_KEY key; 

int bytes_read, bytes_written;   
unsigned char indata[AES_BLOCK_SIZE]; 
unsigned char outdata[AES_BLOCK_SIZE];  
unsigned char ckey[] =  "thiskeyisverybad"; // It is 128bits though..
unsigned …
Run Code Online (Sandbox Code Playgroud)

c openssl aes

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

GAWK脚本 - 在BEGIN部分打印文件名

我正在写一个开始的gawk脚本

#!/bin/gawk -f
BEGIN { print FILENAME }
Run Code Online (Sandbox Code Playgroud)

我正在调用文件,./script file1.html但脚本只返回任何内容.有任何想法吗?

linux bash shell awk gawk

10
推荐指数
3
解决办法
5466
查看次数

使用jquery实现无限滚动

我正在开发一个使用jQuery MasonryInfinite Scroll插件的项目,使用他们的API从instagram加载"n"张图片.看看这个简短的例子,我的理解是我需要事先呈现要呈现的html页面:

<nav id="page-nav">
  <a href="pages/2.html"></a>
</nav>
Run Code Online (Sandbox Code Playgroud)

问题是,我真的不知道将检索多少张图片.以下是我一次检索20张照片的示例.

    $(document).ready(function(){       
        var access_token = location.hash.split('=')[1];

        if (location.hash) {

              $.ajax({
            type: "GET",
            dataType: "jsonp",
            cache: false,
            url: "https://api.instagram.com/v1/users/MY_USER_ID/media/recent/?access_token=MY_ACCESS_TOKEN",
            success: function(data) {

                for (var i = 0; i < 20; i++) {
            $("#instafeed").append("<div class='instaframe'><a target='_blank' href='" + data.data[i].link +"'><img src='" + data.data[i].images.standard_resolution.url +"' /></a></div>");   
                }     

            }
        });


        } else {
        location.href="https://instagram.com/oauth/authorize/?display=touch&client_id=MY_CLIENT_ID&redirect_uri=MY_URI"; 

        }

    });
Run Code Online (Sandbox Code Playgroud)

我想我需要一个分页机制,但基于上面提到的教程,我相信我首先需要预先定义要加载的html页面.所以现在我的问题

  1. 这是否意味着这个插件(Infinite Scroll)需要在目录中包含"n"个html文件才能实现无限滚动?
  2. 如果我不知道我将拥有多少页,是否可以使用相同的插件实现无限滚动.甚至更好,甚至不必创建物理html文件?
  3. 如何实现这种分页?(即只要用户继续向下滚动,就会加载20张照片的大块)在网上没有那么多文档,你能通过演示或描述提供一小步吗?

亲切的问候

javascript jquery jquery-masonry infinite-scroll

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

简单的CRUD操作异常设计

我正在开发一个非常小的测试来模拟一个3层系统,这样我就可以理解Exceptions是如何工作的.同时我想提出一个合理的方法,以便我可以将此设计作为其他应用程序中类似操作的进一步参考.

我一直在阅读有关该主题的不同文章,似乎关于使用已检查或未经检查的异常存在巨大争议,这使我对我的最终设计产生怀疑.

我不会通过批评或支持已检查/未检查异常的论据,因为可能它们都是众所周知的,而是我会提出我的设计,寻找一些建议,如何改进它并尽可能地使它(尽可能长)一个真正的应用程序.

系统负责使用JDBC在关系数据库(简称MySQL)中执行基本的CRUD操作.我有以下内容:表示层,服务层和持久层.

基于这个答案处理服务层中的Dao异常,我有理由不暴露特定的层实现并解耦层.所以我决定创建自定义异常并将它们包装到每层的基本异常中,这样我就可以将特定的层异常(即SQLException)转换为一般的层异常(即PersistentException,BusinessException).如果稍后实现更改,我可以简单地将新的一个包装到更高层所期望的基本异常中.所以我有以下例外:

com.user.persistent.exceptions
    |_ PersistentException
    |_ ExistingUserException
    |_ Some more..

com.user.business.exceptions
    |_ BusinessException
    |_ somemore....
Run Code Online (Sandbox Code Playgroud)

来自Josh Bloch的书"Effective Java":"使用已检查的异常来调用可以合理地预期调用者恢复的条件."我也不确定,但我相信用户可以从SQLExeption恢复(即用户错误地提供了现有的ID,他可以重新键入正确的一个)所以我决定使之前的异常检查异常.以下是类的外观概述:

持久层.

public interface UserDAO 
{
    public void create(User team) throws PersistentException;
}

//Implementation in DefaultUserDAO.java
@Override
    public void create(User team) throws PersistentException 
    {       
        try
        {
            System.out.println("Attempting to create an user - yikes the user already exists!");
            throw new SQLIntegrityConstraintViolationException();           
        }
        catch(SQLIntegrityConstraintViolationException e)
        {
            throw new ExistingUserException(e);
        }
        catch (SQLException e) 
        {
            throw new PersistentException(e);
        } …
Run Code Online (Sandbox Code Playgroud)

java exception crud jdbc

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

jquery $ .GET参数在url中传递

这是使用Jquery发出GET请求的通用方法:

var loadUrl="mypage.php";
$("#get").click(function(){   
    $("#result").html(ajax_load);   
    $.get(   
        loadUrl,   
        {language: "php", version: 5},   
        function(responseText){   
            $("#result").html(responseText);   
        },   
        "html"  
    );   
});  
Run Code Online (Sandbox Code Playgroud)

我想知道我是否可以直接在Url中传递参数(Ex.language和版本)(在urlencoding之后):

var loadUrl="mypage.php?language=php&version=5";
$("#get").click(function(){   
    $("#result").html(ajax_load);   
    $.get(   
        loadUrl,      
        function(responseText){   
            $("#result").html(responseText);   
        },   
        "html"  
    );   
});  
Run Code Online (Sandbox Code Playgroud)

那可能吗?无论如何,如果我有所有需要urlencoded的参数,那么这是制作ajax调用的最干净的解决方案(Ex.rate me)

parameters jquery get

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

只是尝试为输入文本添加粗体字

我试图在下面这样的方式给输入加粗字体,但它不起作用..

<html>
<head>

</head>

<body>

<style type=”text/css”>

.jander2{

  font-weight: bold;

}

</style>

<form method="post" action="somepage">
        <input id="jander" class="jander2">
</form>

</body>
</html>
Run Code Online (Sandbox Code Playgroud)

css input stylesheet

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

AES CTR测试向量

我正在实现一个小型演示应用程序,使用AES CTR和OpenSSL进行加密,可以使用不同的操作模式测试向量来测试算法,例如在我的应用程序中测试ECB向量并检查结果还是仅限于ctr测试向量? ?? 如果它被限制用ctr测试它可以任何人提供我的ctr测试向量??? 非常感谢!!

testing encryption openssl vector aes

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

并发,4个CUDA应用程序竞争获取GPU资源

如果有四个并发的CUDA应用程序在一个GPU中竞争资源,那么他们可以将工作卸载到图形卡上会发生什么?Cuda编程指南3.1提到某些方法是异步的:

  • 内核启动
  • 设备设备内存副本
  • 64 KB或更小内存块的主机设备内存副本
  • 内存副本由以Async为后缀的函数执行
  • 内存设置函数调用

同时它提到具有计算能力2.0的设备能够同时执行多个内核,只要内核属于同一个上下文.

这种类型的并发只适用于单个cuda应用程序中的,但是当有完整的不同应用程序请求GPU资源时,这种情况不可能吗?

这是否意味着并发支持只能在1个应用程序(context ???)中使用,并且4个应用程序将以方式可能由CPU中的上下文切换重叠的方式运行并发,但4个应用程序需要等待直到GPU被其他应用程序释放?(即从app4启动内核等待,直到从app1启动内核结束..)

如果是这种情况,这四个应用程序如何在不长时间等待的情况下访问GPU资源?

c parallel-processing cuda gpgpu nvidia

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

如何在实体设计器中映射每种类型的表(TPT)继承?

我在我的数据库中创建了大量的表,这里有一些问题:

Table Name -Item
    ItemID - PK (Auto Increment)
    Title        

Table Name -Game
    ItemID - PK
    Console   

Table Name -Film
    ItemID - PK
    Type
Run Code Online (Sandbox Code Playgroud)

我还在ItemID和Film-Item以及Game-Item之间添加了一个关联

问题是,当我把它放在Visual Studio中并使用实体框架时,它似乎有点崩溃了类并完全删除了电影和游戏...我不能在我的ASP代码中使用游戏或电影作为实体,任何想法如何解决这个?

ado.net entity-framework

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