javascript

java

python

c#

android

node.js

c++

reactjs

php

html

jquery

css

.net

ios

git

ruby-on-rails

sql

c

string

ruby

java-JLabel是否有“自动换行”属性?

我在JLabel中显示一些文本。 基本上,我是动态生成该文本的,然后应用一些HTML标记(例如BRB)来格式化文本。 最后,我将此格式文本分配给我的JLabel。

现在,我希望Jlabel在到达屏幕末尾时自动将文本换行到下一行,例如“记事本”中的“自动换行”功能。

我怎样才能做到这一点?

trans by 2020-02-29T15:58:42Z

java-PageRequest构造函数已被弃用

我正在使用Spring Data Commons v2 +快照,并且发现PageRequest的构造函数已被弃用。 这似乎发生在M1和M2之间。 不幸的是,这是Pageable接口的唯一[实际]实现。 我想知道努力的方向,对于当前的开发有什么更好的选择。

trans by 2020-02-29T15:46:45Z

java-如何在Eclipse 3.4.1中导航到书签?

我可以在源文件中设置书签,但是是否有快捷键可以导航到书签? 导航菜单具有转到行。 但这没有用。

trans by 2020-02-29T14:36:55Z

java-为Robolectri提供SharedPreferences的测试数据

刚开始使用Robolectric,这似乎是我所需要的。 但是,在使用SharedPreferences方面,我遇到了一些障碍。

我有两个测试案例

  1. 活动需要一个新的/空的sharedPreferences

  2. 活动期望其中已经包含一些数据的sharedPreferences

对于测试用例1,测试按预期通过,所以一切都很好:)

但是,对于测试用例2,我似乎无法找到一种向Robolectric提供一些虚假数据的好方法,因此Activity可以访问该虚假数据。

感觉像是一个非常普通的用例,但我似乎无法弄清楚该怎么做!

trans by 2020-02-29T13:27:09Z

java-如何在注释中使用数组常量

我想使用常量作为注释值。

interface Client {

    @Retention(RUNTIME)
    @Target(METHOD)
    @interface SomeAnnotation { String[] values(); }

    interface Info {
        String A = "a";
        String B = "b";
        String[] AB = new String[] { A, B };
    }

    @SomeAnnotation(values = { Info.A, Info.B })
    void works();

    @SomeAnnotation(values = Info.AB)
    void doesNotWork();
}

常量Info.AInfo.B可以在注释中使用,但不能在数组Info.AB中使用,因为在该位置它必须是数组初始值设定项。 注释值仅限于可以内联到类的字节码中的值。 这对于数组常量是不可能的,因为必须在加载Info时构造它。 是否有解决此问题的方法?

trans by 2020-02-29T11:02:17Z

多线程-与Scala / Akka参与者相比,Java线程的负担如何?

我只是在比较Scala actor和Java线程的性能。

我惊讶地看到了两者之间的差异,我发现使用我的系统我最多只能产生约2000个线程(一次处于活动状态),但是使用同一系统,我可以产生约500,000个scala参与者。

这两个程序都使用了大约81MB的JVM堆内存。

您能解释一下java线程比scala / akka演员有多大的负担吗?是什么让scala-actor如此轻量级的关键因素是什么?

如果我想获得最佳的可伸缩性,是否应该选择基于actor的Web服务器,而不是像JBoss或Tomcat这样的基于Java的传统Web /应用服务器?

谢谢。

trans by 2020-02-29T10:59:46Z

Cassandra客户端Java API

我最近开始使用Cassandra数据库。 现在,我正在评估应该前进哪个Astyanax client or New Datastax client that uses Binary protocol

我在stackoverflow上看到过很多关于使用哪个客户端作为Cassandra的文章,但是没有一个有明确的答案。

我的团队要求我对此进行一些研究,并为Java中的每个Pelops client提出一些Astyanax client or New Datastax client that uses Binary protocol

正如我提到的,我最近参与了Astyanax client or New Datastax client that uses Binary protocol,所以对为什么某些人选择Pelops client以及为什么某些人选择Astyanax和其他一些客户一无所知。

我了解有关每个Cassandra客户端的简要信息,这意味着我能够进行这项工作并开始读写Cassandra数据库。

以下是我到目前为止的信息。

卡桑德拉APIS

  • 赫克托(生产就绪)
    最稳定的Java API,已准备就绪。

  • Astyanax(崛起与来临)
    Netflix提供的干净Java API。 它没有像Hector那样广泛使用,但是很可靠。

  • 昆德拉(The NoSQL ORM)
    兼容JPA,当您想通过对象与Cassandra进行交互时,这非常方便。
    这会在某种程度上限制您,因为您将无法获得动态数量的列/名称等。但是它确实允许您通过ORM进行移植或集中存储在卡桑德拉(Cassandra)上用于更多传统用途。

  • 佩洛普斯
    我只是简单地使用过Pelops。 这是一个简单的API,但似乎没有有它背后的动力。

  • PlayORM(没有限制的ORM?)
    我刚刚听说了 似乎正在尝试解决阻抗问题通过引入JQL,传统的基于JPA的ORM与NoSQL之间不匹配。 它看起来有希望。

  • 节俭(避免我!)
    这是“低级” API。

以下是决定Astyanax client or New Datastax client that uses Binary protocol-

  • 第一要务是:低延迟开销,Asynch API和生产环境的可靠性/稳定性。
    (例如,可以在包装客户端的DAL中使用更加用户友好的API)。
  • 连接池和分区意识是其他一些不错的功能。
  • 能够检测添加的任何新节点。
  • 以及良好的支持(如下院长指出)

有人可以对此提供一些想法吗? 此外,每一个Astyanax client or New Datastax client that uses Binary protocol的优缺点以及哪个客户可以满足我的要求,也将有很大的帮助。

我相信,到目前为止,我想主要是围绕Astyanax client or New Datastax client that uses Binary protocol进行研究。 但是没有足够的信息来支持我的研究并将其呈现给我的团队。

Astyanax客户端和New Datastax客户端(使用新的Binary协议)之间的任何比较都会有很大的帮助。

这将对我的研究大有帮助,并且会从过去使用过不同客户的不同人士那里获得很多知识。

trans by 2020-02-29T10:40:15Z

java-如何使用@ResponseBody从Spring Controller返回JSON数据

春季版本4.2.0,休眠4.1.4这是我的ArrayList函数:

@RequestMapping(value = "/mobile/getcomp", method = RequestMethod.GET)
@ResponseBody
public List<Company>  listforCompanies() {      
    List<Company> listOfCompanies= new ArrayList<Company>();        
    listOfCompanies = companyManager.getAllCompanies();
    return listOfCompanies;
}

ArrayList中的Jackson映射器依赖关系:

    <!-- Jackson JSON Mapper -->
    <dependency>
        <groupId>org.codehaus.jackson</groupId>
        <artifactId>jackson-mapper-asl</artifactId>
        <version>${jackson.version}</version>
    </dependency>

在我的ArrayList中获取列表,但返回时显示以下错误:

SEVERE: Servlet.service() for servlet [dispatcherServlet] in context with path [/IrApp] threw exception [Request processing failed; nested exception is java.lang.IllegalArgumentException: No converter found for return value of type: class java.util.ArrayList] with root cause
    java.lang.IllegalArgumentException: No converter found for return value of type: class java.util.ArrayList
        at org.springframework.util.Assert.isTrue(Assert.java:68)
        at org.springframework.web.servlet.mvc.method.annotation.AbstractMessageConverterMethodProcessor.writeWithMessageConverters(AbstractMessageConverterMethodProcessor.java:124)

链接到我正在关注的示例。

trans by 2020-02-29T10:24:28Z

java-linearizability和serializability之间有什么区别?

线性化和可序列化(在Java中)之间有什么区别? 您能否举例说明它们之间的区别或提供参考?

trans by 2020-02-23T01:53:51Z

java-码头:要嵌入还是不嵌入?

与在jetty中部署webapp相比,嵌入jetty有什么好处? 如果您打算部署多个Web应用程序,那么您是否应该严格坚持为每个Web应用程序部署War文件(而不是编写调用每个Web应用程序的嵌入式服务器)?

trans by 2020-02-23T01:08:22Z

Java-Android Room数据库:如何在实体中处理Arraylist?

我刚刚实现了Room来保存离线数据。 但是在Entity类中,出现以下错误:

Error:(27, 30) error: Cannot figure out how to save this field into database. You can consider adding a type converter for it.

该类如下:

@Entity(tableName = "firstPageData")
public class MainActivityData {
@PrimaryKey
private String userId;

@ColumnInfo(name = "item1_id")
private String itemOneId;

@ColumnInfo(name = "item2_id")
private String itemTwoId;

   // THIS IS CAUSING THE ERROR... BASICALLY IT ISN'T READING ARRAYS
   @ColumnInfo(name = "mylist_array")
    private ArrayList<MyListItems> myListItems;

public String getUserId() {
    return userId;
}

public void setUserId(String userId) {
    this.userId = userId;
}


public ArrayList<MyListItems> getMyListItems() {
    return myListItems;
}

public void setCheckListItems(ArrayList<MyListItems> myListItems) {
    this.myListItems = myListItems;
}
}

因此,基本上我想将ArrayList保存在数据库中,但找不到任何相关的东西。 您可以指导我如何使用Room保存阵列吗?

注意:MyListItems Pojo类包含2个字符串(到目前为止)

提前致谢。

trans by 2020-02-23T00:33:25Z

如何在Java中获取数组的子数组而不复制数据?

我有一些类库,正在处理我的数据,这些数据正在读入缓冲区。 是否有可能以某种方式避免一次又一次地复制数组,从而将越来越多的数据部分传递给处理方法? 好吧,这听起来很奇怪,但是在我的特殊情况下,有一个特殊的writer,它将数据分为多个块并将它们分别写入不同的位置,因此它只执行System.arraycopy,获取所需内容并使用该新名称调用底层writer。 子数组。 这会发生很多次。 重构此类代码的最佳方法是什么?

trans by 2020-02-22T22:59:35Z

java-如何在Android的蓝牙打印机上打印图像?

我必须在热蓝牙打印机上打印一些数据,我正在这样做:

String message="abcdef any message 12345";
byte[] send;
send = message.getBytes();
mService.write(send);

它适用于文本,但不适用于图像。 我想我需要获取byte[]的图像数据。 我尝试通过这种方式获取图像数据:

Bitmap bitmap=BitmapFactory.decodeResource(getResources(), R.drawable.qrcode);
ByteArrayOutputStream stream=new ByteArrayOutputStream();
bitmap.compress(Bitmap.CompressFormat.PNG, 90, stream);
byte[] image=stream.toByteArray();

不幸的是,打印机打印了许多奇怪的字符(大约50厘米的纸张)。 我不知道如何打印图像。

我想尝试获取位图的像素,然后将其转换为byte[]并发送,但是我不知道该怎么做。

谢谢

更新:

经过这么长时间,我正在执行此操作:我有一个名为print_image(String file)的方法,该方法获取要打印的图像的路径:

private void print_image(String file) {
    File fl = new File(file);
    if (fl.exists()) {
        Bitmap bmp = BitmapFactory.decodeFile(file);
        convertBitmap(bmp);
        mService.write(PrinterCommands.SET_LINE_SPACING_24);

        int offset = 0;
        while (offset < bmp.getHeight()) {
            mService.write(PrinterCommands.SELECT_BIT_IMAGE_MODE);
            for (int x = 0; x < bmp.getWidth(); ++x) {

                for (int k = 0; k < 3; ++k) {

                    byte slice = 0;
                    for (int b = 0; b < 8; ++b) {
                        int y = (((offset / 8) + k) * 8) + b;
                        int i = (y * bmp.getWidth()) + x;
                        boolean v = false;
                        if (i < dots.length()) {
                            v = dots.get(i);
                        }
                        slice |= (byte) ((v ? 1 : 0) << (7 - b));
                    }
                    mService.write(slice);
                }
            }
            offset += 24;
            mService.write(PrinterCommands.FEED_LINE);
            mService.write(PrinterCommands.FEED_LINE);          
            mService.write(PrinterCommands.FEED_LINE);
            mService.write(PrinterCommands.FEED_LINE);
            mService.write(PrinterCommands.FEED_LINE);
            mService.write(PrinterCommands.FEED_LINE);
        }
        mService.write(PrinterCommands.SET_LINE_SPACING_30);


    } else {
        Toast.makeText(this, "file doesn't exists", Toast.LENGTH_SHORT)
                .show();
    }
}

我是根据这篇文章做的

这是PrinterCommands类:

public class PrinterCommands {
public static final byte[] INIT = {27, 64};
public static byte[] FEED_LINE = {10};

public static byte[] SELECT_FONT_A = {27, 33, 0};

public static byte[] SET_BAR_CODE_HEIGHT = {29, 104, 100};
public static byte[] PRINT_BAR_CODE_1 = {29, 107, 2};
public static byte[] SEND_NULL_BYTE = {0x00};

public static byte[] SELECT_PRINT_SHEET = {0x1B, 0x63, 0x30, 0x02};
public static byte[] FEED_PAPER_AND_CUT = {0x1D, 0x56, 66, 0x00};

public static byte[] SELECT_CYRILLIC_CHARACTER_CODE_TABLE = {0x1B, 0x74, 0x11};

public static byte[] SELECT_BIT_IMAGE_MODE = {0x1B, 0x2A, 33, -128, 0};
public static byte[] SET_LINE_SPACING_24 = {0x1B, 0x33, 24};
public static byte[] SET_LINE_SPACING_30 = {0x1B, 0x33, 30};

public static byte[] TRANSMIT_DLE_PRINTER_STATUS = {0x10, 0x04, 0x01};
public static byte[] TRANSMIT_DLE_OFFLINE_PRINTER_STATUS = {0x10, 0x04, 0x02};
public static byte[] TRANSMIT_DLE_ERROR_STATUS = {0x10, 0x04, 0x03};
public static byte[] TRANSMIT_DLE_ROLL_PAPER_SENSOR_STATUS = {0x10, 0x04, 0x04};
}

如在print_image方法中看到的,我正在调用一个方法,称为convertBitmap,并且我发送一个位图,这是代码:

   public String convertBitmap(Bitmap inputBitmap) {

    mWidth = inputBitmap.getWidth();
    mHeight = inputBitmap.getHeight();

    convertArgbToGrayscale(inputBitmap, mWidth, mHeight);
    mStatus = "ok";
    return mStatus;

}

private void convertArgbToGrayscale(Bitmap bmpOriginal, int width,
        int height) {
    int pixel;
    int k = 0;
    int B = 0, G = 0, R = 0;
    dots = new BitSet();
    try {

        for (int x = 0; x < height; x++) {
            for (int y = 0; y < width; y++) {
                // get one pixel color
                pixel = bmpOriginal.getPixel(y, x);

                // retrieve color of all channels
                R = Color.red(pixel);
                G = Color.green(pixel);
                B = Color.blue(pixel);
                // take conversion up to one single value by calculating
                // pixel intensity.
                R = G = B = (int) (0.299 * R + 0.587 * G + 0.114 * B);
                // set bit into bitset, by calculating the pixel's luma
                if (R < 55) {                       
                    dots.set(k);//this is the bitset that i'm printing
                }
                k++;

            }


        }


    } catch (Exception e) {
        // TODO: handle exception
        Log.e(TAG, e.toString());
    }
}

这是我正在使用的打印机,分辨率:8点/毫米,576点/线

这就是我想要做的(我使用同一台打印机,但是使用了从Play商店下载的应用程序)Image that I want to print

这就是我现在要得到的My printing trying

更接近:A closer part

Closer2:enter image description here

可以看到图像的一小部分,所以我认为我可以打印图像了。

我正在使用的图像是这样的(576x95):enter image description here

这是转换后的图像(我正在使用上层代码对其进行转换):converted image

Inverted

因此,答案是:我做错了什么?,我认为该命令中存在错误:

  public static byte[] SELECT_BIT_IMAGE_MODE = {0x1B, 0x2A, 33, -128, 0};

但是,如何计算图像的正确值呢?谢谢

trans by 2020-02-22T20:48:54Z

计算J中两个日期之间的工作日数

谁能指出我一些Java代码段,让我可以在两个日期之间进行商务活动(星期六和星期日除外)。

trans by 2020-02-22T19:51:57Z

java-PersistenceUnit与PersistenceContex

在几个项目中,我已成功使用

@PersistenceUnit(unitName = "MiddlewareJPA")
EntityManagerFactory emf;
...
EntityManager entityManager = emf.createEntityManager();

获取PersistenceUnit进行数据库连接,但是几天前,我试图将项目移动到275922250221905656,但无法创建EntityManager

@PersistenceContext(unitName = "MiddlewareJPA")
private EntityManager entityManager;

获取EntityManager。 它有效,但我不知道为什么。 PersistenceUnitPersistenceContext之间有什么区别? 每个优点和缺点是什么? 我们应该在哪里使用其中之一?

trans by 2020-02-22T19:36:31Z

java-为什么byteArray的长度为22而不是20?

我们尝试使用以下Java代码将字符串从字符串转换为Byte[]

String source = "0123456789";
byte[] byteArray = source.getBytes("UTF-16");

我们得到一个长度为22个字节的字节数组,我们不确定此填充来自何处。如何获得长度为20的数组?

trans by 2020-02-22T19:14:45Z

java-log4j-为不同的包/类设置不同的日志级别

我使用log4j进行日志记录,并且我想在特定的类/选定的包中打印所有logger.debug语句。

我将CFG设置如下>

log4j.category.my.pkg=info
log4j.category.my.pkg.ab.class1=debug

但仍然只显示信息消息。

这不是正确的方法吗?

trans by 2020-02-22T15:00:00Z

java-ant build.xml文件不存在

在Windows 7中安装我的蚂蚁后。 在cmd中,我键入ant -v,它给出了ant版本,但它也说明了以下内容。

Buildfile: build.xml does not exist!
Build failed

系统中有什么问题。 我该如何纠正这个问题?

trans by 2020-02-22T14:45:56Z

Windows 7中的Java首选项存储在哪里?

我们在某些应用程序中使用Java首选项,但实际上并没有注意到这一点,因为进行调用的实用程序已经相当老了,并且是在Windows XP时代编写的。 但是似乎Java首选项不再存储在Windows 7的注册表中,或者存储在其他位置。

我希望它位于:

HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Prefs

但我在那里看不到。

使它更奇怪的是,当我运行此应用程序时:

public static void main( final String[] args ) throws BackingStoreException {

    Preferences systemRoot = Preferences.systemRoot();
    Preferences preferences = systemRoot.node( "com/mycompany/settings" );

    systemRoot.put( "foo", "bar" );
    systemRoot.put( "baz", "lolz" );
    System.out.println( "-------------------------------" );

    String[] keys = preferences.keys();
    for( String key : keys ) {
        System.out.println( key );
    }

    System.out.println( "-------------------------------" );

    keys = systemRoot.keys();
    for( String key : keys ) {
        System.out.println( key );
    }
}

它实际上在写(我可以注释掉该内容,然后再次运行它,它可以工作),但是在注册表中看不到新项。

另外,我似乎在任何地方都看不到该文档。 提前致谢。

编辑#1唯一重要的原因是设置会根据运行的环境而变化。 话虽这么说,通常通过手动插入注册表项然后进行一些检查来模拟该环境通常很有用。

我以管理员身份运行,但是在注册表中没有看到我期望的键。

trans by 2020-02-22T14:41:15Z

java-如何从授权中排除一个网址

我的web.xml看起来像:

<security-constraint>
    <web-resource-collection>
        <web-resource-name>app</web-resource-name>
        <url-pattern>/*</url-pattern>
    </web-resource-collection>
    <auth-constraint>
        <role-name>Role</role-name>
    </auth-constraint>
</security-constraint>

这样可以保护各方免受授权,但是我想排除/ info。 这可能吗 ?

trans by 2020-02-22T14:12:07Z

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 下一页 共384页