Android Camera API – 强制关闭不会释放相机资源

因此,在开发自定义相机应用程序时,我已经在极少数情况下和各种设备上实现了如果应用程序必须强行关闭,它并不总是释放相机资源。 有没有办法找到/检测持有此资源并杀死它的进程? 还是其他一些技巧? 复制相当困难(对我来说无论如何),但最终必须重新启动设备。 谢谢!

无法使用jdk8和netbeans 8打开Web服务测试人员页面

我写了一个简单的Web服务程序,但我无法在glassfish 4.0 Web服务器上测试它。 当我测试Web服务时,我看到以下消息:确保服务已成功部署,并且服务器正在运行。 我可以在glassfish web服务器上部署的Web服务列表中看到它。 我将此文件添加到\ jdk1.8.0 \ jre \ lib以解决问题。 jaxp.properties javax.xml.accessExternalSchema = All但它不起作用 我也在测试页面的url中看到了这个错误: lineNumber: 52; columnNumber: 88; schema_reference: Failed to read schema document ‘xjc.xsd’, because ‘bundle’ access is not allowed due to restriction set by the accessExternalSchema property. 提前致谢

使用Java 8 Stream API根据ID和日期过滤对象

我有一个Contact类,每个实例都有一个唯一的contactId 。 public class Contact { private Long contactId; … other variables, getters, setters, etc … } 还有一个Log类,详细说明了Contact在某个lastUpdated日期执行的action 。 public class Log { private Contact contact; private Date lastUpdated; private String action; … other variables, getters, setters, etc … } 现在,在我的代码中,我有一个List ,它可以包含一个Contact多个Log实例。 我想根据Log对象中的lastUpdated变量过滤列表,为每个Contact只包含一个Log实例。 结果列表应包含每个Contact的最新Log实例。 我可以通过创建Map<Contact, List> ,然后循环并获取每个Contact max lastUpdated变量的Log实例来实现这一点,但这似乎可以通过Java 8 Stream API更简单地完成。 如何使用Java 8 Stream […]

使用Servlet处理AJAX请求?

基本上是肯定或没有问题,但我也在寻求有关实施最佳实践的建议。 如果我开始出错,请告诉我。 我有一个特定的Servlet(AjaxServlet?),它将处理所有的AJAX请求 AjaxServlet映射到/ ajax / *所以所有请求URL如/ ajax / getDataFromServer都将由它处理 我的doGet overide函数是一个long if / elseif链,每次检查request.getPathInfo() doGet中的每个if块处理特定的url调用(/ ajax / getDataFromServer) 我想返回JSON,到目前为止,我一直在构建这些字符串。 是否有我可以使用的轻量级JSON包。 我知道我可以扩展ArrayList(ArrayListJson?)并添加一个toJson()方法然后将任何ArrayList转换为ArrayListJson,但我确信这已经完成了。

如何在Java应用程序中使用系统的上下文菜单?

我想显示文件搜索的结果。 我想为文件选择启用上下文菜单,这将是系统的上下文菜单。 例如,如果用户右键单击Windows中的文件 – 我想显示带有选项的弹出菜单: 打开 打开用… 编辑 发送至… 复制 切 等等… 并且,如果可能 – 将根据操作系统自动生成此菜单。 如果这不可能或太复杂 – 我想至少启用“磁盘上的定位”选项,该选项将在文件的文件夹中打开Windows资源管理器(或其他系统中的等效项),然后选择该文件。 该应用程序使用SWT以Java(JDK 7)编写。

如何为AbstractRoutingDataSource安全频繁的DataSource切换?

我根据这篇文章为Spring + Hibernate实现了Dynamic DataSource Routing。 我有几个具有相同结构的数据库,我需要选择哪个数据库将运行每个特定的查询。 在localhost上一切正常,但我担心这将如何在真实的网站环境中保持。 他们使用一些静态上下文持有者来确定要使用的数据源: public class CustomerContextHolder { private static final ThreadLocal contextHolder = new ThreadLocal(); public static void setCustomerType(CustomerType customerType) { Assert.notNull(customerType, “customerType cannot be null”); contextHolder.set(customerType); } public static CustomerType getCustomerType() { return (CustomerType) contextHolder.get(); } public static void clearCustomerType() { contextHolder.remove(); } } 它被包装在一些ThreadLocal容器中,但究竟是什么意思呢? 当两个Web请求并行调用此代码时会发生什么: CustomerContextHolder.setCustomerType(CustomerType.GOLD); // List […]

Java文件编码转换

我需要将文件的编码从ANSI(windows-1252)更改为UTF8。 我写下面的程序是通过java来完成的。 此程序将字符转换为UTF8,但是当我在notepade ++中打开文件时,编码类型显示为ANSI为UTF8。 当我在访问数据库中导入此文件时,这会给我带来错误。 仅需要具有UTF8编码的文件。 此外,还要求在不在任何编辑器中打开文件的情况下转换文件。 public class ConvertFromAnsiToUtf8 { private static final char BYTE_ORDER_MARK = ‘\uFEFF’; private static final String ANSI_CODE = “windows-1252”; private static final String UTF_CODE = “UTF8”; private static final Charset ANSI_CHARSET = Charset.forName(ANSI_CODE); public static void main(String[] args) { List fileList; File inputFolder = new File(args[0]); if (!inputFolder.isDirectory()) { […]

Eclipse不会在Linux Mint中打开,Java也不会在不同的目录中打开

我在Linux Mint 18.2肉桂中的/opt/eclipse中使用openjdk-9安装了Eclipse(请不要告诉我切换oracle jdk)。 每当我点击Eclipse图标时,此窗口都会显示: 这是该窗口的内容: JVM terminated. Exit code=1 /usr/bin/java -Dosgi.requiredJavaVersion=1.8 -Dosgi.instance.area.default=@user.home/eclipse-workspace -XX:+UseG1GC -XX:+UseStringDeduplication –add-modules=ALL-SYSTEM -Dosgi.requiredJavaVersion=1.8 -Xms256m -Xmx1024m –add-modules=ALL-SYSTEM -jar /opt/eclipse//plugins/org.eclipse.equinox.launcher_1.4.0.v20161219-1356.jar -os linux -ws gtk -arch x86_64 -showsplash /opt/eclipse//plugins/org.eclipse.epp.package.common_4.7.1.20171005-1200/splash.bmp -launcher /opt/eclipse/eclipse -name Eclipse –launcher.library /opt/eclipse//plugins/org.eclipse.equinox.launcher.gtk.linux.x86_64_1.1.550.v20170928-1359/eclipse_1629.so -startup /opt/eclipse//plugins/org.eclipse.equinox.launcher_1.4.0.v20161219-1356.jar –launcher.appendVmargs -exitdata 828016 -product org.eclipse.epp.package.java.product -vm /usr/bin/java -vmargs -Dosgi.requiredJavaVersion=1.8 -Dosgi.instance.area.default=@user.home/eclipse-workspace -XX:+UseG1GC -XX:+UseStringDeduplication –add-modules=ALL-SYSTEM -Dosgi.requiredJavaVersion=1.8 -Xms256m -Xmx1024m –add-modules=ALL-SYSTEM […]

JCombobox – 仅在值更改时执行actionlistener

我有一个JComboBox ,我有一个监听器附加到它。 现在,每当用户从下拉列表中“选择”事件时,即使他们刚刚重新选择之前选择的值,也会触发事件。 如果combobox的选定值与选择之前的值不同,有没有办法只触发事件? 我想我可以将combobox的值存储在不同的字段中,并在每次事件触发时对它进行比较,这看起来有点矫枉过正。 我有20个左右这样的combobox。 我宁愿不再有20个变量来存储值,所以事件不会触发。 一定有更好的方法。 谢谢您的帮助!

如何使用JUnit + Mockito模拟您尝试进行unit testing的服务中使用的类

我想为使用/依赖于另一个类的服务编写unit testing。 我想做的是模拟依赖类的行为(而不是该类的实例)。 正在测试的服务方法在内部使用依赖类(即,依赖类的实例未传入方法调用)例如,我有一个我想要测试的服务方法: import DependentClass; public class Service { public void method() { DependentClass object = new DependentClass(); object.someMethod(); } } 在我对Service method()的unit testing中,我想在DependentClass实例上模拟someMethod()而不是让它使用真实的。 我如何在unit testing中进行设置? 我见过的所有示例和教程都显示了传递给正在测试的方法的模拟对象实例 ,但我没有看到任何显示如何模拟类而不是对象实例的内容 。 这可能与Mockito(当然是)?