小编Mat*_*ieu的帖子

对Zlib Java和C进行基准测试

我试图加快最初通过切换到C用Java编写的我TIFF编码器和编译的zlib 1.2.8与Z_SOLO定义和最低限度的C文件:adler32.c,crc32.c,deflate.c,trees.czutil.c.Java正在使用java.util.zip.Deflater.

我编写了一个简单的测试程序,用于评估压缩级别和速度方面的性能,并且考虑到更高级别所需的时间越来越多,压缩不会产生太大的影响.我也惊讶于Java在压缩速度方面的表现实际上比Visual Studio Release-compile(VC2010)更好:

Java的:

Level 1 : 8424865 => 6215200 (73,8%) in 247 cycles.
Level 2 : 8424865 => 6178098 (73,3%) in 254 cycles.
Level 3 : 8424865 => 6181716 (73,4%) in 269 cycles.
Level 4 : 8424865 => 6337236 (75,2%) in 334 cycles.
Level 5 : 8424865 => 6331902 (75,2%) in 376 cycles.
Level 6 : 8424865 => 6333914 (75,2%) …
Run Code Online (Sandbox Code Playgroud)

c java zlib deflate

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

禁用 UDP 广播的自接收

我想知道有什么方法可以禁用来自节点 A 的 UDP 广播数据包,使其不被节点 A 本身接收。

对于广播,我只是使用INADDR_BROADCAST,在接收端我使用AI_PASSIVE | AI_NUMERICHOST

sockets linux networking udp broadcast

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

如何在java中调整文本大小

我已经看到,在photoshop文本中只需拖动即可轻松调整大小.我们如何在Java中做同样的事情?关于如何在java中调整文本大小的任何想法?添加了在photoshop中调整大小的字母"A"的快照

在此输入图像描述


请告诉我这段代码有什么问题?

public class ResizeImage extends JFrame {

    public ResizeImage(){
        JPanel panel = new JPanel(){
            public void paintComponent(Graphics g) {
                // In your paint(Graphics g) method
                // Create a buffered image for use as text layer
                BufferedImage textLayer = new BufferedImage(240, 240, 
                                              BufferedImage.TYPE_INT_RGB);

                // Get the graphics instance of the buffered image
            Graphics2D gBuffImg = textLayer.createGraphics();

                // Draw the string
                gBuffImg.drawString("Hello World", 10, 10);

                // Rescale the string the way you want it
                gBuffImg.scale(200, 50);

                // Draw the buffered image …
Run Code Online (Sandbox Code Playgroud)

java swing text image java-2d

5
推荐指数
2
解决办法
6608
查看次数

JVM如何实际转换对象并发出ClassCastException?

将对象强制转换为特定类时会发生什么casted = (NewClass)obj;?我猜JVM以某种方式检查实际的类obj是否是子类NewClass,但是对象实例是否有办法知道它何时被"转换"?

一些JVM实现的文档/ FAQ的指针也很受欢迎,因为我还没有找到任何...

编辑"为什么一个物体在被铸造时应该知道?":

我最近在考虑实现一种既是一种InputStream又一种的管道OutputStream.因为这些是类而不是接口,所以它不能同时存在(因为Java不能扩展多个类),所以我想知道是否有一种方法可以让对象通过某种可截获的转换操作来显示自身的不同视图.

并不是说我想要实现它(好吧,我会用于测试和有趣的黑客目的;))因为它太危险了,并且允许所有类型的疯狂滥用和滥用.

java jvm casting runtime

5
推荐指数
1
解决办法
885
查看次数

无法在C中使用猜数游戏

试图在C中写一个程序,说出你猜对了正确数字的次数.

#include <stdio.h>
#include <stdlib.h>

int main()
{
    int i, searchNumber, Number, rightGuess;
    rightGuess = 0;
    printf("Give your number: ");
    scanf("%d",&searchNumber);
    printf("\n\n Give 10 numbers: ");
    for(i=1;i<=9;i++){
        scanf("%d \n",&Number);
        if(Number == searchNumber){
            rightGuess++;
        }
    }

    printf("You guessed the number %d times",&rightGuess);
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

然而,每次我运行它,它说我猜数字6356736次.即使我只输了0次.有帮助吗?

c

5
推荐指数
2
解决办法
173
查看次数

基于 CSV 文件的多列执行高度自定义的排序?

我有一个四列的 CSV 文件,使用@分隔符,例如:

\n\n
0001 @ fish @ animal @ eats worms\n
Run Code Online (Sandbox Code Playgroud)\n\n

第一列是唯一保证唯一的列。

\n\n

我需要对第 2、3 和 4 列执行四次排序操作。

\n\n

首先,第 2 列按字母数字顺序排序。这种排序的重要特征是它必须保证第 2 列中的任何重复条目彼此相邻,例如:

\n\n
@ a @ @\n@ a @ @\n@ a @ @\n@ a @ @\n@ a @ @\n@ b @ @\n@ b @ @\n@ c @ @  \n@ c @ @  \n@ c @ @  \n@ c @ @  \n@ c @ @  \n
Run Code Online (Sandbox Code Playgroud)\n\n

接下来,在第一个排序中,将行分为两类。第一行不包含单词 \xe2\x80\x9carch.\xe2\x80\x9d, \xe2\x80\x9cvar.\xe2\x80\x9d, \xe2\x80\x9cver.\xe2\x80 \x9d、\xe2\x80\x9canci.\xe2\x80\x9d 或 \xe2\x80\x9cfam.\xe2\x80\x9d 第 …

csv sorting bash

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

无法摆脱JdbcOdbcDriver.finalize()中的断点

我使用MyEclipse 8.6+ Apache Tomcat 5.5.27+ JRockit 1.6.0 05进行Web开发.每次我从MyEclipse中启动Tomcat的调试模式,将挂起一对NullPointerExceptionJdbcOdbcDriver.finalize():96".堆栈跟踪仅Thread.run(当然,终结器):

protected synchronized void finalize() {
  if (OdbcApi.getTracer().isTracing()) {
    OdbcApi.getTracer().trace("Driver.finalize");
  }

  try {
    if (hDbc != 0L) {
      disconnect(hDbc);
      closeConnection(hDbc);
      hDbc = 0L;
   }
  } catch (SQLException localSQLException) {}
}
Run Code Online (Sandbox Code Playgroud)

真的很烦人,每个工作日都会看到这几百次.我没有把这个断点放在这里,我无法禁用它.我检查了异常断点是否已关闭.你有什么建议吗?断点如何"冻结"到JVM中?

java debugging breakpoints

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

如何通过名称查找组件索引?

为什么我不能使用以下行获取我的组件索引之一:

WizardForm.ComponentsList.FindComponent('core').ComponentIndex
Run Code Online (Sandbox Code Playgroud)

如果我错了,有人可以为我指出一种获取组件索引的方法吗?

inno-setup

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

当我尝试从C中unsafe_load指针时,Julia得到错误的值

C代码:

typedef struct __kstring_t {
    size_t l, m;
    char *s;
} kstring_t;

kstring_t * get_ptr_of_kstr(int num){
    char * ch = (char *)malloc(num);
    kstring_t kstr = {0, num, ch};
    kstring_t *p = &kstr;
    printf("In C, kstr.l: %zu\n", p->l);
    printf("In C, kstr.m: %zu\n", p->m);
    printf("In C, kstr.s: %p\n", p->s);
    printf("In C, pointer to kstr: %p\n", p);
    return p;
};
Run Code Online (Sandbox Code Playgroud)

朱莉娅代码

type KStr
l::Csize_t
m::Csize_t
s::Ptr{Cchar}
end
Run Code Online (Sandbox Code Playgroud)

问题

当我ccall用来调用get_ptr_of_kstr并获取kstring_tin 的指针时Julia,使用unsafe_load来获取其值,但值似乎是错误的.消息如下:

In C, kstr.l: 0
In …
Run Code Online (Sandbox Code Playgroud)

c julia

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

将文件从OS拖放到JTable java中

有人能告诉我我做错了什么吗?我能够使用常规面板进行拖放操作,但现在尝试使用表格,我无法对其进行排序.我对Points和DropTargets感到困惑.不要介意"添加"按钮.我觉得我需要先处理DnD.

public class Table extends JFrame implements ActionListener {

    private JTable table;
    private JScrollPane scroll;
    private JButton add;
    private JFileChooser choose;
    private JMenuBar menubar;
    private JMenu menu;
    private JMenuItem file;
    private DefaultTableModel tm = new DefaultTableModel(new String[] { "File",
            "File Type", "Size", "Status" }, 2);

    public Table() {

        // String column [] = {"Filename ","File Type", "Size", "Status" };
        /*
         * Object[][] data = { {"File1", ".jpg","32 MB", "Not Processed"},
         * {"File2", ".txt"," 5 Kb", "Not Processed"}, {"File3", ".doc","3 Kb", …
Run Code Online (Sandbox Code Playgroud)

java swing drag-and-drop file jtable

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

JDBC和并发问题

我想要一些关于jdbc的并发问题的建议,我基本上需要更新一个值,然后使用更新然后选择检索该值,我假设通过关闭自动提交关闭没有其他事务可以访问此表,因此其他事务在提交之前,将无法执行更新和选择查询.

下面是一些示例代码.你认为这会有效吗?其他人有没有更好的解决方案来实现这个?

int newVal=-1;
con.setAutoCommit(false);
PreparedStatement statement = con.prepareStatement("UPDATE atable SET val=val+1 WHERE id=?");
statement.setInt(1, id);
int result = statement.executeUpdate();
if (result != 1) {
    throw new SQLException("Nothing updated");
} else {
    statement = con.prepareStatement("SELECT val FROM atable WHERE id=?");
    statement.setInt(1, id);
    ResultSet resultSet = statement.executeQuery();
    if (resultSet.next()) {
        newVal =  resultSet.getInt("val");
    }
}
statement.close();
con.commit();
con.setAutoCommit(true);
Run Code Online (Sandbox Code Playgroud)

谢谢.

java mysql database concurrency jdbc

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

Why can't I change the return type of overriden methods (other than covariant return type)?

PLEASE NOTE - I am asking WHY? It would be very useful if you could give an example where changing the return type actually breaks the code

why can't I change the return type of an overridden method (other than covariant return types).

class Parent{

   public void sayhello(){ ... };

}

class Child extends Parent{

    public String sayhello() { . . .}

}
Run Code Online (Sandbox Code Playgroud)

Now if I run the following code:

class test{

    public static void main(String[] args){

       Parent p = …
Run Code Online (Sandbox Code Playgroud)

java overriding jvm

-1
推荐指数
1
解决办法
86
查看次数