以下sql代码无法插入数据的原因是什么?

我的数据库有两列。 一列是自动增量id(Primary Key) ,另一列是’Sentence’列。 手动输入内容,我可以插入该值。 但是当我尝试插入变量值时会出现错误消息。 我尝试了不同的方法。 (‘?’) /( ? )/(?)不适用于我。 int s1=9; String s2=”Kasuni”; String sql = “INSERT INTO sentences (Sentence) VALUES ( ? )”; PreparedStatement pstmtJ = conn.prepareStatement(sql); //pstmtJ.setInt(1, s1); pstmtJ.setString(1,s2); pstmtJ.executeUpdate(sql); 第一个值我没有插入因为那是自动增量值。 我只是评论,并在我上面的代码中显示。 错误信息: Exception in thread “main” com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds […]

使用java substring方法的内存泄漏问题

我查看了java substring方法的所有内存泄漏解决方案。 由于此问题,我仍然会出现内存不足错误。 我有一个字符串的arraylist,长度为1000-3500。 我索引它们并存储它们。 问题是每个字符串都需要通过循环来运行,以存储相同字符串的所有可能不同长度。 为此,我使用循环和子串方法。 而这种方法会导致内存泄漏问题。 我所做的sudo代码: for(int i=0;i<str.length;i++) { //create substring and index it str.substring(0,(str.length()-i)); } str:string。 并且上面的循环运行直到arraylist中的所有字符串都被索引。 我试图修复泄漏, 1。 for(int i=0;i<str.length;i++) { //create substring and index it new String(str.substring(0,(str.length()-i))); } 2。 for(int i=0;i<str.length;i++) { //create substring and index it new String(str.substring(0,(str.length()-i)).intern()); } 3。 for(int i=0;i<str.length;i++) { //create substring and index it […]

Eclipse无法在公司代理后面更新Maven索引

Eclipse Mars m2e插件无法在启动时下载存储库索引更新。 我在公司防火墙后面运行Eclipse,但代理设置适用于“检查更新”,“eclipse市场”和eclipse的内置浏览器。 我尝试过以下方法: 删除缓存目录\eclipse\p2\org.eclipse.equinox.p2.repository\cache ,然后刷新存储库。 首选项 – >安装更新 – >可用软件站点=>选择条目并单击“重新加载” 在eclipse.ini -Djava.net.preferIPv4Stack=true添加到-vmargs 编辑:在$ HOME / .m2 / settings.xml中正确设置了代理配置 编辑:看起来像一个错误。 所以我用eclipse.org提出了一个错误请求。 你可以在这里查看 由于这个问题,eclipse无法搜索并添加来自maven存储库的依赖项。 这是.metadata / .log中的错误 eclipse.buildId=4.5.0.I20150603-2000 java.version=1.8.0_60 java.vendor=Oracle Corporation BootLoader constants: OS=win32, ARCH=x86_64, WS=win32, NL=en_IN Framework arguments: -product org.eclipse.epp.package.jee.product Command-line arguments: -os win32 -ws win32 -arch x86_64 -product org.eclipse.epp.package.jee.product !ENTRY org.eclipse.m2e.logback.appender 4 0 […]

用于Java的Netty和GUI

我用服务器和客户端创建了一个简单的Netty应用程序,通过控制台进行交互。 现在我正在尝试添加GUI,以便客户端可以查看/并在控制台中输入他们的消息。 我认为在用于创建频道的同一个类中创建GUI是不明智的。 以下是我的主要客户端类的示例。 public void run() throws Exception { EventLoopGroup group = new NioEventLoopGroup(); try { Bootstrap bootstrap = new Bootstrap() .group(group) .channel(NioSocketChannel.class) .handler(new ChatClientInitializer()); Channel channel = bootstrap.connect(host, port).sync().channel(); BufferedReader in = new BufferedReader(new InputStreamReader(System.in)); while (true) { channel.writeAndFlush((in.readLine() + “\r\n”)); } } finally { group.shutdownGracefully(); } } 如何创建GUI,以便当用户在JTextField中输入消息时,它将被传递给channel.writeAndFlush方法? 我是否在.run方法中创建GUI的实例。 我的问题的第二部分,在我的处理程序类(下面的代码)中如何将传入的消息传递给我的GUI中的JTextArea ? 这是一个非常基本的Handler类的示例。 […]

如何测试ListActivity?

我是Android开发以及测试驱动开发的新手。 我想为以下ListActivity编写unit testing: public class TrendsMainActivity extends ListActivity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); String[] list_items = getResources().getStringArray(R.array.trend_menu_names); setListAdapter(new ArrayAdapter(this, R.layout.main, list_items)); } @Override protected void onListItemClick(ListView listView, View view, int position, long id) { Intent intent = null; switch(position) { case 0: intent = new Intent(this, TrendingActivity.class); break; case 1: intent = […]

Quartz调度程序 – 之间的时间

我正在使用石英调度程序来安排工作。我有一个案例,我希望每天晚上(晚上9点)到第二天早上(06:00 AM)执行工作。我怎样才能实现这一点。目前我正在初始化像这样触发 Trigger trigger2 = newTrigger() .withIdentity(“trigger1”, “group1”) .startNow() .withSchedule(simpleSchedule() .withIntervalInSeconds(10) .repeatForever()) .build(); 我需要做些什么修改才能满足要求?

MQDestination覆盖记帐标记值

我试图在我的系统从入站队列收到的消息上设置会计令牌。 我使用以下设置此令牌。 msg.setObjectProperty(JmsConstants.JMS_IBM_MQMD_ACCOUNTINGTOKEN,value) 我在JmsSUpport类中也有以下属性 ((JmsDestination) dest).setBooleanProperty(WMQConstants.WMQ_MQMD_READ_ENABLED, true); ((JmsDestination) dest).setBooleanProperty(WMQConstants.WMQ_MQMD_WRITE_ENABLED, true); ((MQDestination) dest).setMQMDWriteEnabled(true); ((MQDestination) dest).setMQMDReadEnabled(true); ((MQDestination) dest).setTargetClient(JMSC.MQJMS_CLIENT_NONJMS_MQ); 由于出站队列是MQDestination,我必须设置上述属性。 现在我观察到我正在设置出站消息的值。 但是当另一个应用程序从MQ读取消息时,它具有Accounting Token的默认值。 这可能是因为MQ以这种方式配置来覆盖值吗? 或者是因为其他应用程序没有正确读取MQ消息? 或者我应该使用任何其他属性来启用会计令牌? 是因为我正在设置((MQDestination)dest).setTargetClient(JMSC.MQJMS_CLIENT_NONJMS_MQ); msg被剥夺了MQMD标头?

WeakReference和内存泄漏

我正在使用VisualVM分析我的应用程序,我发现堆大小在大约3天内增加了大约7MB。 当我使用内存采样器时,我也看到java.lang.ref.WeakReference在实例编号的前五位。 WeakReference的数量正在增加,GC几乎没有影响。 任何想法?

限制嵌入式Groovy中的某些API

我只是在我的应用程序中嵌入了Groovy,并想知道是否可以限制对某些API的访问,即java.io.File,java.net.URL等 或者不是完全限制java.io.File访问,我想只允许访问机器上的某些目录。 非常感谢任何指导!

Getter Property(没有属性和setter)通过ValueStack访问

public class MyAction extends ActionSupport { public String getMyValue() { return “SomeText”; } … } 我有这个MyAction类。 现在,问题是当我使用OGNL在我的JSP页面中引用myValue时,它会在ValueStack上创建myValue属性,还是只调用getter方法?