SO的许多人建议通过阅读Java Concurrency in Practice(JCIP)来深入研究Java并发性,有时也会提到Doug Lea的1999年着作:
在阅读JCIP之后,仍然觉得有必要对主题进行重述/巩固.这主要是因为我觉得JCIP中缺少示例,但本书几乎涉及Java多线程的所有方面.
您能否通过大量java.util.concurrent.*用法示例推荐任何能够补充JCIP的书籍/资源?
欢迎任何建议或链接.非常感谢.
我使用ASP.Net + .Net 3.5 + VSTS 2008 + IIS 7.0 + C#来开发Web应用程序.我正在创建一个非常简单的Web应用程序,我刚刚修改了page_load,Session_Start和Session_End.这是我的代码,我的问题是我发现会话结束消息在会话启动消息后立即写入文件.我的测试方法只是打开IE来访问这个页面.我认为会议应该持续很长时间,比如几分钟.为什么会话结束如此之快?即使我不关闭页面,为什么seeion会结束?
protected void Page_Load(object sender, EventArgs e)
{
Response.Write("Hello World! ");
Session["SomeUserData"] = DateTime.Now;
}
protected void Session_Start(object sender, EventArgs e)
{
using (TextWriter tw = new StreamWriter(@"C:\TestSession\bin\session.txt", true))
{
// write a line of text to the file
tw.WriteLine(DateTime.Now + " Session Started.");
}
}
protected void Session_End(object sender, EventArgs e)
{
using (TextWriter tw = new StreamWriter(@"C:\TestSession\bin\session.txt", true))
{
// write a line of text to the …Run Code Online (Sandbox Code Playgroud) 我需要开发一个php脚本,它要求城市名称,并返回一个简单的回声与城市的地理坐标.
输入数据:城市名称或城市名称,国家/地区
我知道有一个名为GeoNames的免费数据库,你可以下载一个包含这些信息的数据库,但我真的不知道如何将这个数据库导出到我的MySQL服务器,有3个文件可以认为我需要但我不知道是什么我需要选择:
cities1000.zip 11-Jul-2010 01:13 3.4M
cities15000.zip 11-Jul-2010 01:13 1.1M
cities5000.zip 11-Jul-2010 01:13 1.8M
Run Code Online (Sandbox Code Playgroud)
那么,使用这个数据库是一个好主意吗?有一个在线API可以做到这一点吗?我怎样才能将来自citiesXXXX的数据导入MySQL ?,对php脚本有什么建议吗?...谢谢!
最近一直在与很多TimeSpans合作,并且需要获得总和和平均值.
但是,TimeSpan既不定义运算符get_Zero也不定义DivideByInt,因此Seq.sum和Seq.average不能直接使用此类型.以下无法编译:
open System
type System.TimeSpan
with
static member Zero with get() = TimeSpan()
static member (/) (n:DateTime, d:int) = DateTime( n.Ticks / (int64) d )
let ts = [ TimeSpan(10L); TimeSpan(99L) ]
let sum = ts |> Seq.sum
let avg = ts |> Seq.average
Run Code Online (Sandbox Code Playgroud)
是否有一些F#魔术可以在现有类型上定义这些运算符?
我知道以下内容可行(并且应该更有效地启动),但我仍然对上面的内容感到好奇,所以我可以将它添加到我的工具箱中以便与其他类型一起使用.
let sum = TimeSpan( ts |> Seq.sumBy (fun t -> t.Ticks) )
let avg = TimeSpan( let len = ts |> Seq.length in sum.Ticks / int64 len )
Run Code Online (Sandbox Code Playgroud) 像我们大多数人一样,我是提高代码效率的忠实粉丝.这么多,我宁愿选择快速执行的脏代码而不是更优雅或更干净但更慢的东西.
对我们所有人来说幸运的是,在大多数情况下,更快更有效的解决方案也是更清洁,最优雅的解决方案.我曾经只是编程的一个讨厌者,但我现在正在进行全职开发,刚开始使用C#和Web开发.我一直在阅读一些关于这些主题的好书,但遗憾的是,书籍很少涉及更精细的方面.比方说,执行相同操作的两个代码中的哪一个会运行得更快.这种知识主要来自经验.我要求所有程序员在这里分享任何这样的知识.
在这里,我将从我遇到的这两篇博文开始.这正是我在这篇文章中寻找的东西:
PS:如果这个东西已经存在于这个网站的某个地方,请告诉我.我惊讶地搜索但找不到.另外,请发布您知道的任何涵盖此类内容的书籍.
PPS:如果您从某些博客文章或我们都可以访问的某些在线资源中了解某些内容,那么最好发布链接本身imo.
我正在尝试制作一个javascript书签,它将充当荧光笔,在按下书签时将网页上所选文本的背景更改为黄色.
我正在使用以下代码来获取所选文本,并且它工作正常,返回正确的字符串
function getSelText() {
var SelText = '';
if (window.getSelection) {
SelText = window.getSelection();
} else if (document.getSelection) {
SelText = document.getSelection();
} else if (document.selection) {
SelText = document.selection.createRange().text;
}
return SelText;
Run Code Online (Sandbox Code Playgroud)
}
但是,当我创建一个类似的函数来使用jQuery更改所选文本的CSS时,它不起作用:
function highlightSelText() {
var SelText;
if (window.getSelection) {
SelText = window.getSelection();
} else if (document.getSelection) {
SelText = document.getSelection();
} else if (document.selection) {
SelText = document.selection.createRange().text;
}
$(SelText).css({'background-color' : 'yellow', 'font-weight' : 'bolder'});
Run Code Online (Sandbox Code Playgroud)
}
有任何想法吗?
我试图让VIM使用'='和相关命令缩进Javascript.当我尝试自动缩进以下内容时,例如:
new function($) {
$.fn.setCursorPosition = function(pos) {
if ($(this).setSelectionRange) {
$(this).setSelectionRange(pos, pos);
} else if ($(this).createTextRange) {
var range = $(this).createTextRange();
range.collapse(true);
range.moveEnd('character', pos);
range.moveStart('character', pos);
range.select();
}
Run Code Online (Sandbox Code Playgroud)
结果是相当荒谬的:
new function($) {
$.fn.setCursorPosition = function(pos) {
if ($(this).setSelectionRange) {
$(this).setSelectionRange(pos, pos);
} else if ($(this).createTextRange) {
var range = $(this).createTextRange();
range.collapse(true);
range.moveEnd('character', pos);
range.moveStart('character', pos);
range.select();
}
Run Code Online (Sandbox Code Playgroud)
我已经设定了set syntax=javascript,我已经设定filetype为:
filetype detection:ON plugin:ON indent:ON
Run Code Online (Sandbox Code Playgroud)
虽然我已经尝试了每一种排列.我已经尝试了smartindent,autoindent和cindent,但似乎没有任何东西给Vim预期的缩进的正确效果.我已经定了tabstop=4.
我安装了javascript.vim, …
从http://htmlagilitypack.codeplex.com下载文档的链接返回错误,我无法通过尝试代码来解决这个问题.
我正在尝试将各种标签插入到<head>我从HTML字符串加载的HtmlDocument部分中.我在这里描述的原始问题.
有人能告诉我如何实现这个目标吗?谢谢
目前我正在使用一个List<short>缓冲区来保存一段时间,同时根据缓冲区中的其他值对每个值进行计算.然后我意识到这可能不是很有效,因为我被告知这List<>是一个链表,所以每次我做whatever = myList[100];穷人的事情就是必须先跳过所有其他节点才能得到我想要的值.我不想使用的规则阵列,因为我已经得到的负荷Add()和Remove()在代码中的其他地方踢周围秒.所以我需要一个继承IList<T>但使用常规数组数据结构的类.有没有人知道.net中的一个类是这样工作的,所以我不必自己编写?我尝试使用ArrayList,但它'通用!
我想知道使用try/exception处理空值的成本与使用if语句首先检查空值相比.
提供更多信息.获得空值的概率大于50%,因为在这个应用程序中.如果没有输入数据,则通常为null ...因此尝试使用null计算是常见的.
这就是说,如果我在计算之前使用if语句首先检查null并且不首先尝试计算,或者只是抛出异常并处理它,那么它会提高性能吗?
谢谢你的任何建议:-)
感谢您提供极好的发人深省的反馈!这是一个PSEUDOcode示例,用于澄清原始问题:
BigDecimal value1 = null //assume value1 came from DB as null
BigDecimal divisor = new BigDecimal("2.0");
try{
if(value1 != null){ //does this enhance performance?... >50% chance that value1 WILL be null
value1.divide(divisor);
}
}
catch (Exception e){
//process, log etc. the exception
//do this EVERYTIME I get null... or use an if statement
//to capture other exceptions.
}
Run Code Online (Sandbox Code Playgroud) c# ×4
.net ×2
java ×2
javascript ×2
asp.net ×1
asp.net-mvc ×1
auto-indent ×1
bookmarklet ×1
concurrency ×1
css ×1
dom ×1
f# ×1
generics ×1
geolocation ×1
highlighting ×1
html ×1
iis ×1
indentation ×1
jquery ×1
mysql ×1
optimization ×1
performance ×1
php ×1
vim ×1