好吧,这是一个双重目的的问题.我希望从中获得的主要内容是更多的多线程知识.在多线程方面,我是一个完全新手,这是我第一次尝试在多线程中做任何事情.我希望带走的另一件事是对一件作业的一些帮助,我正在变成一个更复杂的用于娱乐和学习的非常项目.在这个问题的第一部分,我将详细介绍我在家庭作业中一直在研究的主题的思路和方法.如果我正在做任何不好的做法,需要修复,无论如何,请让我知道,这样我就可以学习.我再一次对多线程几乎一无所知.
首先,我目前正在修读一门计算机科学课程,为此,我要做的是使用我已经学过的技术和数据结构的家庭作业,因此没有挑战性.为了尝试不完全厌倦我的头骨,我试图采取一个简单的项目(创建一个链接列表和一个排序的链接列表),并将其转换为一个多线程的法兰克计划.我想将添加新元素的方法放在一个单独的线程中并从队列中获取输入(对于无序列表不是完全必要的,但对于正确的排序更有用),对于有序列表,我想要一个单独的线程将巡视列表以确保所有元素都按顺序排列(我不允许更改的方法之一返回对整个节点的引用,这些节点具有完全公共数据).这些是我想要创造的两件主要事情,但绝对不是我想要尝试和弄清楚的唯一事情.这只是一个了解多线程的测试,所以我并不是特别为了实用性而设计这个项目.如果你想对什么是优秀的编程实践留下评论应该是什么线程,那么我们将非常感激.
作为我最近采取的一个步骤,通过阅读StackOverflow本身的帖子收集到的想法,我创建了一个主类,其中传递了Threads,因此它可以在程序结束时停止它们并清理所有内容.这是通过使用someThread.interrupt()并使用Thread的run()方法检查该异常来完成的.但是,我发现这个方法存在问题:大多数情况下,通过线程运行并调用interrupt()的循环实际上并不运行.以下是该方法的代码:
public static void stopAllThreads()
{
boolean stopped = false;
while( !stopped )
{
System.out.println( "Stopping all threads" );
synchronized( threads )
{
System.out.println( "Threads being stopped: " + threads.size() );
for( int i = 0; i < threads.size(); i++ )
{
System.out.println( "Stopping: " + threads.get( i ) );
threads.get( i ).interrupt();
}
threads.clear();
stopped = true;
}
}
}
Run Code Online (Sandbox Code Playgroud)
在尝试调试它时,我放入while循环尝试强制该方法最终运行for循环,但所有发生的是输出"Stopping all threads"然后我再也看不到任何其他内容了.我不知道这是一种不好的编码方式,也不知道这段代码有什么问题.任何有关如何使这项工作有所帮助的人都会受到赞赏(如果您需要查看更多课程,请告诉我.我真的不知道您需要看什么,但我不想复制和粘贴几个整个java文件).
除了这个问题之外,我还确定在运行我的程序时,它将到达最后一行并尝试在线程通过要添加到列表的数字队列之前停止所有线程.在向队列添加数字后直接尝试通过toString方法输出列表时,这也是一个问题,因为还没有添加任何内容,因此不会向控制台输出任何内容.这是我的主要方法,它显示了事情发生的顺序(虽然我认为在处理线程时它不那么重要):
public static void main( String[] args )
{
// always make sure this …Run Code Online (Sandbox Code Playgroud) 在课堂上我们现在正在学习如何构建Spring应用程序,即使spring没有直接参与,我们也学会了如何为DAO和服务层对象创建接口.
如果我错了请纠正我:DAO层非常抽象:它只包含CRUD操作并进一步用于读取数据.(即:获取所有对象,获取特定对象等)
服务层:包含用于创建事物和删除事物的服务,这是业务逻辑应该在的地方.
现在所有这一切在服务层都有意义; 除了"更新"对象.您是否只是将"更新"功能只保存在数据库中?或者你还需要在那里定义逻辑吗?这就是我的困惑所在,我的理解是Spring中的对象只是POJO的.那么谁验证了数据呢?
比方说,我有一个对象"孩子"有:Name,SurName,Gender,Photo,Birthdate
领域.我如何命名服务?或者你只是让控制器负责验证,这对我来说似乎不对.另一方面,将需要调用的每个setter委托给服务层似乎也不正确.
所以基本上:帮助我如何通过服务层定义保存对象.
我正在尝试生成CSV文件.一切都很好,除了空白字段,我不太确定有""而不是实际的报价.我已经提供了用于生成文件和一些输出的代码.
<% headers = ["Username", "Name", "E-mail", "Phone Number"] %>
<%= CSV.generate_line headers %>
<% @users_before_paginate.each do |user| %>
<% row = [ "#{user.username}".html_safe ] %>
<% row << "#{user.profile.first_name} #{user.profile.last_name}".html_safe unless user.profile.blank? %>
<% row << "#{user.email}".html_safe unless user.profile.nil? %>
<% row << "#{user.profile.phone}".html_safe unless user.profile.nil? %>
<%= CSV.generate_line row %>
<% end %>
Run Code Online (Sandbox Code Playgroud)
产量
Username,Name,E-mail,Phone Number
admin,LocalShopper ,shoplocally1@gmail.com,""
Brian,Oliveri Design ,brian@oliveridesign.com,727-537-9617
LocalShopperJenn,Jennifer M Gentile ,localshopperjenn@hotmail.com,""
Run Code Online (Sandbox Code Playgroud) 我正在使用jQuery对一个ASP.NET页面进行ajax调用,该页面充当我的ajax服务器页面,用于保存我在查询字符串中发送给它的数据.在ASP.NET页面中,当我尝试读取查询字符串时,我收到此错误:
A potentially dangerous Request.QueryString value was detected from the client...
Run Code Online (Sandbox Code Playgroud)
我已经ValidateRequest="false"在我的页面中设置了 .不想为所有页面设置它.所以它在页面级别而不是配置级别:
var content = "<h3>Sample header</h3><p>sample para</p>"
content = encodeURIComponent(content);
var url = "../Lib/ajaxhandler.aspx?mode=savecontent&page=home<xt=" + content;
$.post(url, function (data) {
//check return value and do something
});
Run Code Online (Sandbox Code Playgroud)
在我的asp.net页面中:
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="ajaxhandler.aspx.cs" ValidateRequest="false" Inherits="MyProject.Lib.ajaxhandler" %>
Run Code Online (Sandbox Code Playgroud)
但是当我发送纯文本而不是html标记时,它工作正常.
我有两个数组列表
dim Colors1 = New ArrayList
Colors1.Add("Blue")
Colors1.Add("Red")
Colors1.Add("Yellow")
Colors1.Add("Green")
Colors1.Add("Purple")
dim Colors2 = New ArrayList
Colors2.Add("Blue")
Colors2.Add("Green")
Colors2.Add("Yellow")
Run Code Online (Sandbox Code Playgroud)
我想找出Colors1中找到的Colors2中缺少哪些颜色
我很难过,为什么这不起作用似乎无法找到任何问题.
这是代码.
Public Const MULTIPART_BOUNDARY = "speed"
Function getBalance() As String
Dim sEntityBody As String
Dim postBody() As Byte
Dim username As String
Dim password As String
username = CStr(frmMain.txtUser.text)
password = CStr(frmMain.txtPass.text)
sEntityBody = "--" & MULTIPART_BOUNDARY & vbCrLf
sEntityBody = sEntityBody & "Content-Disposition: form-data; name=""function""" & vbCrLf & vbCrLf & "balance" & vbCrLf
sEntityBody = sEntityBody & "--" & MULTIPART_BOUNDARY & vbCrLf
sEntityBody = sEntityBody & "Content-Disposition: form-data; name=""username""" & vbCrLf & vbCrLf & username & vbCrLf
sEntityBody …Run Code Online (Sandbox Code Playgroud) 我正在尝试使用SmartGwt.我正在使用XJSONDatasource对SmartClient中具有JSON数据的示例页面进行跨域调用.但是,当我运行代码时,会出现一个弹出窗口,上面写着"查找符合您标准的记录......"这种情况永远不会消失,并且数据未加载.我正在使用SmartGwt的免费版本(我的公司已经说过这就是我们将要使用的).希望我只是遗漏了一些明显的东西.
DataSource dataSource = new XJSONDataSource();
dataSource.setDataTransport(RPCTransport.SCRIPTINCLUDE);
dataSource.setDataFormat(DSDataFormat.JSON);
dataSource.setDataURL("http://www.smartclient.com/smartgwt/showcase/data/dataIntegration/json/contactsData.js");
DataSourceTextField nameField = new DataSourceTextField("name", "name");
nameField.setValueXPath("name");
dataSource.setFields(nameField);
ListGrid grid = new ListGrid();
grid.setDataSource(dataSource);
grid.setWidth100();
grid.setHeight(100);
grid.setAutoFetchData(true);
grid.draw();
Run Code Online (Sandbox Code Playgroud) 每隔一段时间,我的代码就会被许多无用的注释所困扰,其中大多数是过时的代码行,有些则是过时的"自我备忘录".
所以我想知道是否有办法只选择代码部分,并使用一些魔术键组合或宏,删除所有这些.
谢谢.
我想写一个servlet,它将返回一个http响应,如下所示:
HTTP/1.1 500 <short custom message>
Content-Length: ...
<longer custom message>
Run Code Online (Sandbox Code Playgroud)
原因是我希望程序化客户端能够处理响应消息以获取特定响应,但我还想用更长的解释来填充响应主体,以便使用浏览器轻松命中.
现在,HttpServletResponse有一个sendError(int,String)方法,允许我指定错误代码和消息.javadocs只说该消息将嵌入某种html页面,但没有关于设置http响应消息.调用此方法后,不允许您在响应中写入任何其他内容.在我的测试中(使用jetty),消息用于http响应和html主体,这对我来说没问题,除了我想指定两个不同的字符串,我不认为http响应的设置使用不同的实现保证消息.
还有一个setStatus(int)方法,您可以使用任何代码调用,然后您可以编写自己的html主体.这是关闭的,除了您不能指定http响应消息.
最后,有一个setStatus(int,String)方法实际上完全符合我的要求,但由于某种歧义而被弃用.我假设一些servlet容器正在将消息写入响应主体并关闭响应.
除了使用弃用的方法,我假设我已经搞砸了,但我很好奇是否有其他人知道任何技巧?
java ×3
ajax ×1
architecture ×1
arrays ×1
asp.net ×1
asp.net-ajax ×1
comparison ×1
csv ×1
httpresponse ×1
inheritance ×1
jquery ×1
macros ×1
objective-c ×1
security ×1
servlets ×1
smartgwt ×1
spring ×1
vb.net ×1
vb6 ×1