试图让守卫的街区工作

我不明白为什么我的代码工作不正常。 我希望第一个Thread等待4秒,第二个Thread将共享布尔“joy”设置为true,然后第一个Thread打印出“Joy已经实现!”。 当我运行代码时,我得到这个输出: “没有喜悦……” “通知喜悦” 然后它冻结并且不会继续。 如果我的理解是正确的,从我的notifyJoy()方法调用的notifyAll()方法应该从它的wait()唤醒t1然后,因为共享的静态布尔变量joy现在是真的,“Joy已经实现!” 应该打印到控制台。 我正在使用Oracle的“The Java Tutorial”,第13章:这里是特定部分的链接: Java Tutorial Website 。 我会离开他们所拥有的并做一些例子,但我似乎无法弄清楚我做错了什么。 任何帮助,将不胜感激。 以下是我的代码的完整副本供您参考: public class JoyTime { public static void main(String[] args) { JoyRider j1 = new JoyRider(false); JoyRider j2 = new JoyRider(true); Thread t1 = new Thread(j1, “J1”); Thread t2 = new Thread(j2, “J2”); t1.start(); try { Thread.sleep(4000); } […]

SolrJetty日志记录 – 如何使自定义日志格式化程序工作?

我在Jetty 6上运行的Linux上有一个Solr服务器,我正在尝试为java日志记录设置自定义格式化程序,但我似乎无法识别我的自定义类。 我是Java的新手,所以引用它可能是我如何导出我的类或类似的问题。 注意这几乎是可以在这里找到的相同问题,但是那里的答案没有帮助,因为我有一个公共的无参数构造函数。 我的格式化程序如下所示(如此处所述): package myapp.solr; import java.text.MessageFormat; import java.util.Date; import java.util.logging.Formatter; import java.util.logging.LogRecord; public class LogFormatter extends Formatter { private static final MessageFormat fmt = new MessageFormat(“{0,date,yyyy-MM-dd HH:mm:ss} {1} [{2}] {3}\n”); public LogFormatter() { super(); } @Override public String format(LogRecord record) { Object[] args = new Object[5]; args[0] = new Date(record.getMillis()); args[1] = […]

如何从目录中获取特定数量的文件?

我想根据我在properties文件中提供的设置来检索文件。 例如,我只想在第一次迭代中获得50个文件并停止获取所有可能文件夹中有数千个文件。 我怎么能随机获得50个文件并且没有获得所有列表或迭代文件以获得50? filesList = folder.listFiles( new FileFilter() { @Override public boolean accept(File name) { return (name.isFile() && ( name.getName().contains(“key1”))); } }); 编辑 :我已删除for语句。 即使我只提供了一个文件夹来获取它将获取所有文件,计数器变量仍然循环文件夹中的所有文件不是一个好的解决方案。

Android Studio无法打开(port.lock访问被拒绝)

当我打开Android Studio时,它会出现以下错误: java.io.FileNotFoundException: C:\Users\HP\.AndroidStudio2.2\config\port.lock (Access is denied) javac路径是正确的,文件有任何人都可以访问(port.lock) 这是我收到的完整错误消息: java.io.FileNotFoundException: C:\Users\HP\.AndroidStudio2.2\config\port.lock (Access is denied) at java.io.FileOutputStream.open0(Native Method) at java.io.FileOutputStream.open(FileOutputStream.java:270) at java.io.FileOutputStream.(FileOutputStream.java:213) at com.intellij.idea.SocketLock.underLocks(SocketLock.java:186) at com.intellij.idea.SocketLock.lock(SocketLock.java:128) at com.intellij.idea.StartupUtil.lockSystemFolders(StartupUtil.java:318) at com.intellij.idea.StartupUtil.prepareAndStart(StartupUtil.java:140) at com.intellij.idea.MainImpl.start(MainImpl.java:34) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at com.intellij.ide.plugins.PluginManager$2.run(PluginManager.java:93) at java.lang.Thread.run(Thread.java:745)

如何在Matlab中使用用户定义的Java类?

我已经阅读了有关如何执行此操作的文档和几个网站,但是Matlab似乎没有选择我添加到动态java类路径中的类。 我也没有使用正确的语法来正确构造对象。 我有一个类HandDB,用于创建此类型的对象并调用它的静态方法来连接到SQL数据库。 该类有一个空构造函数,不带参数。 该类是我在Netbeans中的一个项目中创建的包’nuffielddb’的一部分。 所有文件都在我的usb棒上,这是我的E:\驱动器…… 我希望能够使用包中的所有类。 该软件包包含在E:\ nuffielddb中。 我在Matlab中输入了以下命令: javaaddpath(‘E:\’); javaclasspath; % Output from java class path includes E:\ within dynamic path str = java.lang.String(‘Test’); % Works fine db = nuffieldbd.HandDB(); % Does not work – undefined variable or class error 有趣的是我键入’import nuffielddb。*;’ 并没有收到任何错误。 我哪里错了? 谢谢你的帮助顺便说一下!

使用Apache Spark从Amazon S3解析文件

我正在使用Apache Spark,我必须从Amazon S3解析文件。 从Amazon S3路径获取文件时,如何知道文件扩展名?

如何在适配器中扩展多个类?

我想在列表中实现部分。 我有一份任务清单。 List有一个自定义适配器,它扩展了recyclerview刷卡适配器,因为我已经实现了向recyclelerview的滑动手势。 因此,现在任务列表与已完成和待处理任务一起显示。 每个列表项都有一个复选框,显示任务已完成或待处理。 如果选中复选框,则任务完成,反之亦然。 现在我想用标题创建两个部分。 一个用于已完成的任务,另一个用于待处理任 所以完成的任务应该显示在已完成的部分内,反之亦然。 此外,如果任务未经检查,即待处理,如果用户选中复选框,则该项目应从待处理部分中删除,并应添加到已完成的部分,反之亦然。 我检查了一个库的部分。 https://github.com/afollestad/sectioned-recyclerview 但是当我尝试实现库时,我得到了错误,即适配器无法扩展两个类,因为之前我已经扩展了recyclelerview swipe库。 扩展sectionedRecyclerview适配器后的onBindViewHolder方法我得到错误,因为IAdapter应该实现onBindViewHolder(VH,int) 怎么解决这个? 适配器: public class IAdapter extends RecyclerSwipeAdapter , SectionedRecyclerViewAdapter { public ArrayList items; Context conext; public int _mId; List itemsPendingRemoval = new ArrayList(); public IAdapter(Context context, ArrayList item) { this.conext=context; this.items=item; } @Override public int getSectionCount() { return 2; } […]

无法通过servlet连接到mysql

我花了两天时间试图找出为什么我的servlet没有连接到MySQL数据库。 我安装了MySQL并正常工作和Eclipse。 每当我尝试建立连接时,我都会获得com.mysql.jdbc.Driver的ClassNotFoundException ,它实际上是正确导入的。 我正在使用的连接器是作为外部jar正确添加的mysql-connector-java5.1.14 ,所以一切似乎都很好。 这是我的代码: protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String dbUrl=”jdbc:mysql://localhost:3306/test”; String username=”root”; String password=””; try { Class.forName(“com.mysql.jdbc.Driver”).newInstance(); conn=DriverManager.getConnection(dbUrl); System.out.println(“Connected!”); } catch (SQLException e) { e.printStackTrace(); System.out.println(“not connected”); } catch(ClassNotFoundException x){ x.printStackTrace(); } catch(Exception e){ e.printStackTrace(); } } 这是堆栈跟踪的一部分: java.lang.ClassNotFoundException: com.mysql.jdbc.Driver at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1645) at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1491) at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:375) […]

尝试在Java中使用Apache Commons VFS设置Amazon S3文件系统

我正在尝试将VFS S3用作适用于Amazon S3的Apache Commons VFS的插件。 我已经包含了jar,它正在识别s3架构。 但是,当我尝试打开一个文件(公共,我可以在我的网络浏览器上打开它)时,我收到此错误: Could not create a file system manager of class “org.apache.commons.vfs.impl.StandardFileSystemManager”. >> org.apache.commons.vfs.VFS.createManager(VFS.java:93) >> org.apache.commons.vfs.VFS.getManager(VFS.java:47) 我该怎么办?

多个JComboBox

好的,有两个jcombobox显示一个是航class离开的城市列表,另一个是当用户从两个combobox中选择一个选项时飞行的城市列表我希望它显示你从巴黎飞到贝尔法斯特,我有以下代码,但我不知道如何添加另一个选择,因为它只是说你从巴黎飞来。 if(e.getSource() == ownerList ) { JComboBox cb = (JComboBox)e.getSource(); String ownerName = (String)cb.getSelectedItem(); if(ownerName.equals(“Paris”)) { text9.setText(ownerName); int flag = 10; drawApp(flag); } } if(e.getSource() == cityList ) { JComboBox cb = (JComboBox)e.getSource(); String cityName = (String)cb.getSelectedItem(); if(cityName.equals(“Belfast”)) { text10.setText(cityName); int flag = 10; drawApp(flag); } }