Java和C ++按值传递并通过引用传递

据说在Java方法中,参数是通过值传递的,对于基元和对象都是如此,对象的引用是按值传递的。 为了说明考虑代码: class Test { private static void dateReplace (Date arg) { arg = new Date (arg.getYear(), arg.getMonth(), arg.getDate() +1); System.out.println (“arg in dateReplace: ” + arg); } public static void main(String[] args) { Date d1 = new Date (“1 Apr 2010”); dateReplace(d1); System.out.println (“d1 after calling dateReplace: ” + d1); } } this will […]

JSch:有没有办法将用户环境变量暴露给“exec”通道?

我正在尝试运行使用本地Linux逻辑路径的命令,例如cat $test_dir/test.dat ,但是逻辑路径$test_dir (用户环境变量)不能通过ChannelExec 。 但是当我使用交互式ChannelShell ,我能够看到用户变量和命令在交互式会话中运行良好。 我只能从“exec”会话中查看系统级环境变量。 甚至可以使用JSch库,如果是,那么我该如何实现它,如果不是我将使用什么库来实现这一目标? 在下面添加我的类代码:`public class SecureShell { private static final Logger logger = LogManager.getLogger(SecureShell.class); private String uName; private String pWord; private String hName; private int port; private Session session = null; private Channel channel = null; /**Create an instance to start and stop the remote shell and execute commands […]

当我在Java中左键单击TrayIcon时,如何显示PopupMenu?

目前,当我右键单击SystemTray中的TrayIcon时,PopupMenu将会出现。 但是,当我左键单击TrayIcon时,我希望它也能这样做。 我想我可以通过在TrayIcon上使用mouseListener来实现这一点,但我不知道在mouseClicked事件中调用什么方法来实现所需的结果。 icon = new TrayIcon(img, tooltip, popup); icon.addMouseListener( new MouseAdapter() { public void mouseClicked(MouseEvent e) { popup.setEnabled(true); } }); 当我左键单击TrayIcon时,使用setEnabled()方法不会显示弹出菜单。 它实际上没有明显的效果。 我想知道我应该在mouseClicked()体中使用什么方法,以便在左键单击时弹出窗口显示。

如何反序列化可能是字符串,对象或列表的json / gson

我有以下json “notes”: {“note”: [ { “content”: “Having wisdom teeth removed.”, “from”: “employee” }, { “content”: “Get well soon”, “from”: “manager” } ]}, 问题在于价值也是如此 “notes”: “”, 要么 “notes”: {“note”: { “content”: “This is a test note.”, “from”: “employee” }}, 并将其存储在这些中 public class Notes { @SerializedName (“note”) public List note; } public class Note { @SerializedName (“content”) […]

无法加载bean:type:org.apache.struts2.views.gxp.inject.InjectedObjectContainer

我在eclipse中运行Struts2应用程序,但它在Apache Tomcat服务器上运行时显示错误我得到的错误是 SEVERE: Dispatcher initialization failed Unable to load configuration. – bean – jar:file:/C:/projectdetails/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/wtpwebapps/FieldError/WEB-INF/lib/struts2-gxp-plugin-2.3.16.3.jar!/struts-plugin.xml:8:162 at com.opensymphony.xwork2.config.ConfigurationManager.getConfiguration(ConfigurationManager.java:70) at org.apache.struts2.dispatcher.Dispatcher.init_PreloadConfiguration(Dispatcher.java:445) at org.apache.struts2.dispatcher.Dispatcher.init(Dispatcher.java:489) at org.apache.struts2.dispatcher.ng.InitOperations.initDispatcher(InitOperations.java:74) at org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter.init(StrutsPrepareAndExecuteFilter.java:57) at org.apache.catalina.core.ApplicationFilterConfig.initFilter(ApplicationFilterConfig.java:279) at org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:260) at org.apache.catalina.core.ApplicationFilterConfig.(ApplicationFilterConfig.java:105) at org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:4828) at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5508) at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1575) at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1565) at java.util.concurrent.FutureTask.run(Unknown Source) at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) at java.lang.Thread.run(Unknown Source) Caused by: Unable […]

Java7 ClassFormatError:创建对象时非法的局部变量表长度

我在执行以下代码时遇到这个奇怪的错误。 EncoderRequest encoderRequest = new EncoderRequest(sid,appTxnId,pfid,transactionType,””,isUpdatetype9,true); 我检查了所有参数值是否有效。 我正在使用java7平台。 任何人都可以遇到这种情况,请帮忙。 以下是我得到的stacktrace的一部分。 Caused by: java.lang.ClassFormatError: Illegal local variable table length 48 in method com.cmc.facts.encoder.EncoderRequest.(JLjava/lang/String;Ljava/lang/Long;Lcom/cmc/facts/enums/TransactionType;Ljava/lang/String;ZZ)V at com.cmc.facts.nist.NistReaderModel.preprossingOfNistFile(NistReaderModel.java:180) at com.cmc.facts.action.interstate.InterStateAction.uploadFIIF(InterStateAction.java:645) … 115 more

创建了多少个Java字符串?

public static void main(String [] args){ String s = “java”; //line 1 s.concat(” SE 6″); //line 2 s.toLowerCase(); //line 3 System.out.print(s); //line 4 } 这个问题的答案是“4”。 我以为它会是“3”。 我的困惑是第3行,它再次创建了“java”字符串,但是java不知道字符串常量池中已经存在“java”字符串,那么为什么要再创建它呢?

IntelliJ IDEA:Tomcat 8.5.13和9.0.0.M19 – 工件部署期间出错。 有关详细信息,请参阅服

我无法理解发生了什么。 2天前没有问题,现在我无法部署我的应用程序。 任何一个。 关于网络,我唯一做的就是使用以太网线将我的笔记本电脑插入家中的其他sockets,没有别的。 我尝试了几乎我在这里找到的所有解决方案而且没有任 日志: C:\servers\apache-tomcat-8.5.13\bin\catalina.bat run [2017-04-11 06:19:51,636] Artifact TestJEE:war exploded: Server is not connected. Deploy is not available. Using CATALINA_BASE: “C:\Users\wojci\.IntelliJIdea2016.3\system\tomcat\Tomcat_8_5_13_TestJEE” Using CATALINA_HOME: “C:\servers\apache-tomcat-8.5.13” Using CATALINA_TMPDIR: “C:\servers\apache-tomcat-8.5.13\temp” Using JRE_HOME: “C:\Program Files\Java\jdk1.8.0_112” Using CLASSPATH: “C:\servers\apache-tomcat-8.5.13\bin\bootstrap.jar;C:\servers\apache-tomcat-8.5.13\bin\tomcat-juli.jar” 11-Apr-2017 18:19:54.084 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Server version: Apache Tomcat/8.5.13 11-Apr-2017 18:19:54.087 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Server built: Mar 27 […]

Jackcess“NoClassDefFoundError”exception

我使用jackcess与我的访问数据库保持一致。 但我跟随例外 Exception in thread “main” java.lang.NoClassDefFoundError: org/apache/commons/lang/builder/CompareToBuilder at com.healthmarketscience.jackcess.impl.RowIdImpl.compareTo(RowIdImpl.java:113) at com.healthmarketscience.jackcess.impl.IndexData$Entry.compareTo(IndexData.java:1838) at com.healthmarketscience.jackcess.impl.IndexData$Entry.compareTo(IndexData.java:1646) at java.util.Collections.indexedBinarySearch(Collections.java:273) at java.util.Collections.binarySearch(Collections.java:259) at com.healthmarketscience.jackcess.impl.IndexData$DataPage.findEntry(IndexData.java:2368) at com.healthmarketscience.jackcess.impl.IndexData.findEntryPosition(IndexData.java:722) at com.healthmarketscience.jackcess.impl.IndexData.access$3300(IndexData.java:56) at com.healthmarketscience.jackcess.impl.IndexData$EntryCursor.updatePosition(IndexData.java:2133) at com.healthmarketscience.jackcess.impl.IndexData$EntryCursor.restorePosition(IndexData.java:2072) at com.healthmarketscience.jackcess.impl.IndexData$EntryCursor.restorePosition(IndexData.java:2055) at com.healthmarketscience.jackcess.impl.IndexData$EntryCursor.beforeEntry(IndexData.java:2017) at com.healthmarketscience.jackcess.impl.IndexCursorImpl.findPotentialRow(IndexCursorImpl.java:368) at com.healthmarketscience.jackcess.impl.IndexCursorImpl.findFirstRowByEntryImpl(IndexCursorImpl.java:262) at com.healthmarketscience.jackcess.impl.IndexCursorImpl.findFirstRowByEntry(IndexCursorImpl.java:135) at com.healthmarketscience.jackcess.impl.DatabaseImpl$DefaultTableFinder.findRow(DatabaseImpl.java:1890) at com.healthmarketscience.jackcess.impl.DatabaseImpl$TableFinder.findObjectId(DatabaseImpl.java:1799) at com.healthmarketscience.jackcess.impl.DatabaseImpl.readSystemCatalog(DatabaseImpl.java:804) at com.healthmarketscience.jackcess.impl.DatabaseImpl.(DatabaseImpl.java:513) at com.healthmarketscience.jackcess.impl.DatabaseImpl.open(DatabaseImpl.java:386) at com.healthmarketscience.jackcess.DatabaseBuilder.open(DatabaseBuilder.java:170) at com.healthmarketscience.jackcess.DatabaseBuilder.open(DatabaseBuilder.java:193) at ass.Access.main(Access.java:25) Caused […]

这些初始化HashMap的方法有什么区别?

我为我的程序使用了HashMap,它工作正常,但我不明白这些HashMap初始化之间的区别。 假设我正在实现一个HashMap,其中一个字符作为键,一个整数作为值。 这些有什么区别? HashMap alphabet1 = new HashMap(); HashMap alphabet1 = new HashMap(); HashMap alphabet1 = new HashMap(); Map alphabet1 = new HashMap(); HashMap alphabet1 = new HashMap(); HashMap alphabet1 = new HashMap(); Map alphabet1 = new HashMap();