问题内容: 我尝试使用启动程序,并收到一条错误消息,提示未找到命令“ javaw”。我检查了bin文件夹,但未找到javaw。可能是什么原因? 问题答案: 该实用程序在Linux上不可用或不需要。只需使用。 说明: 在Windows之间的区别,并是,推出一个新的Windows控制台,没有。 在Linux上,该命令不会启动新的控制台,因此不需要变体。
问题内容: 如果我有多个Java线程同时写入同一Socket实例,这会影响从同一套接字读取的对象的完整性吗?即,对象的内容是否会被弄乱等等。对象的顺序可以是随机的。 问题答案: 通常,没有任何保证。一点点不同的对象很可能最终会在电线上交错,使结果难以辨认。 因此,您需要提供外部同步。 有趣的是,即使在OS级别进行单个套接字写入也不一定是原子操作。有关进一步的讨论,请参见注意sendmsg()系列函
问题内容: 当我尝试在运行4.2.1的Nexus 4上运行我的应用程序时,我不断在Eclipse中遇到此错误: 我厌倦了通过adb推送和安装,但是也没有用。我发现这是由于Logcat中的以下消息: 有关如何解决此问题的任何想法? 问题答案: 如果设备上已经具有该应用程序的签名版本且具有相同的软件包名称,则可能需要先将其卸载,然后再重新安装(除非您要再次对其进行签名,然后将该签名的应用程序上载到该设
问题内容: 使用XStream(1.4.10)时,我始终收到红色的控制台错误 我尝试了以下方法: 和 没有一个能摆脱它。 我不需要任何高级的安全设置,我只是想使该警告静音。也许还准备1.5.x的代码 问题答案: 在处理安全问题时,我不会掉以轻心。首先,一个人要了解问题的严重性,这里写得很好,或者另一本书。 然后找出人们如何推荐该解决方案。最好的起点是xstream网站本身。您可以在xstream安
问题内容: 据我所知,这是可变的,因此,如果多个线程试图访问和修改它,则不是线程安全的。我们如何使用客户端锁定或组合(包装器)使其成为线程安全的? 问题答案: 按照从好到坏的顺序: 根本不使用它,请查看Java 8的新Date and Time API。 完全不使用它,请查看jodatime 在所有的,使用不使用或一成不变的原始与代表 纪元时间 封装它。始终返回的防御性副本,从不引用内部对象 在实
问题内容: 我正在尝试使用RestTemplate和Jackson json转换器调用Restful JSON服务。现在,为了调用该服务,我需要传递一个安全性cookie。我可以通过使用URLConnection来实现(请参见下面的代码) RestTemplate中与此并行的是什么?这是我一直在使用RestTemplate调用Restful Service的代码片段: 我无法弄清楚在使用RestT
问题内容: 我正在构建一个基于Netty的小型应用程序,该应用程序通过套接字连接(即telnet / ssh)执行I / O操作。我正在用Netty的类启动我的套接字服务器,给它: 类型的事件循环(即不应接受阻塞操作的共享线程池)。 一个类型的通道(我相信这必须与上面的#1相对应)。 一个非常简单的管道,带有可扩展的通道处理程序。 每当从客户端套接字连接接收到命令字符串时,都会调用我的处理程序的方
问题内容: 我正在使用Spring Data(JPA)存储库来处理CRUD样板。 我这样定义我的存储库接口: 然后Spring自动为我生成上述接口的实现。我们得到的是代理,但我相信最终我们可以归结为。 如果 基础目标类是线程安全的, 则 A 是线程安全的。因此,问题是:线程安全吗? 问题答案: 通常,是的。假设是一个托管对象,我们将从Spring的工厂类(如果您使用Spring作为容器)或CDI托
问题内容: 我们开始注意到,在Java 7(尤其是更新4)中,我们所有的用户都开始通过Webstart应用程序看到此信息: 其中CLASSNAME =应用程序执行中的几个jar中随机出现的几乎每个类,破坏了几种行为。如果我们的用户使用Java 6,他们将没有问题!只有7个(更新4个)。我们签名所有的jar,包括主应用程序jar和库jar。即,启动我们的Webstart应用程序的用户看到的是蓝色的盾
问题内容: 尽管JVM会将SIGTERM和类似的信号转换为关闭挂钩,但是许多服务关闭脚本使用TCP端口启动关闭。(例如,Tomcat的关闭端口,Java Service Wrapper ,JBoss的管理接口等) 所以我认为不建议使用信号和关闭钩子来正常关闭Java服务,直到发现Play!框架通过关闭钩子管理服务生命周期,并且由生成的启动脚本假定将信号发送到JVM的PID。 我知道信号是与平台相关
问题内容: 考虑以下代码: 如果我用以下命令编译它: 它返回: 请注意,即使在返回类型上未引用任何泛型类型,也仅将泛型方法视为不安全。 这是一个错误吗?还是有一个更深层次的原因我没有考虑? 问题答案: 允许使用原始类型以确保与引入泛型之前编写的代码兼容。原始类型的工作原理是,仅从所有方法参数和返回类型中忽略 所有 类型信息,甚至与该类的类型参数无关的类型信息。正如您所发现的,这可能导致奇怪的结果。
问题内容: 即使经过了这一点,我仍然不清楚在以下代码中使用final如何导致安全发布。有人可以给出一个易于理解的解释吗? 问题答案: 编辑添加:关于Java和JSR-133 行为起源的 有趣观点。 有关如何在新JMM中正常工作的规范参考,以确保安全发布:http : //www.cs.umd.edu/~pugh/java/memoryModel/jsr-133-faq.html#finalRigh
问题内容: 我最近一直在尝试学习厨师,因为我打算使用它来部署服务器配置和服务器应用程序软件。我在理解如何使用其他人的食谱方面遇到问题。例如,我要部署JDK8u31。我无法弄清楚如何实现本食谱。https://supermarket.chef.io/cookbooks/java 我阅读了说明,然后看到以下内容 只需在需要安装Java的任何地方添加Java配方,例如运行列表(recipe [java]
问题内容: 我正在尝试使用Java 14安装netbeans。 我遇到错误- 以下是我的Java详细信息- 我的操作系统详细信息是- 我该如何解决这个问题? 问题答案: 尽管Apache NetBeans 11.3完全支持JDK 14的使用,但不幸的是它的安装程序不支持。从Apache NetBeans 11.3下载页面 : 安装程序将无法在JDK 14下运行, 因为使用了Pack200工具和AP
问题内容: 我可以定义setter方法以返回此方法而不是void吗? 喜欢: 然后我可以使用新的ClassA()。setItem1()。setItem2() 问题答案: 关于JavaBeans规范有很多误解。 它存在的主要原因是统一的Java“组件”模型。这是一种使用反射与Java对象进行编程交互的方式。该API本身名为JavaBeans Introspection 。请看一下示例用法,您将比普通