小编Alb*_*ore的帖子

Java中volatile和synchronized之间的区别

我想知道在声明变量as volatile和始终访问synchronized(this)Java 中的块中的变量之间的区别?

根据这篇文章,http://www.javamex.com/tutorials/synchronization_volatile.shtml有很多要说的,但也有很多不同之处,但也有一些相似之处.

我对这条信息特别感兴趣:

...

  • 对volatile变量的访问永远不会阻塞:我们只进行简单的读或写操作,因此与synchronized块不同,我们永远不会持有任何锁;
  • 因为访问volatile变量永远不会持有锁,所以它不适合我们想要读取update-write作为原子操作的情况(除非我们准备"错过更新");

read-update-write是什么意思?写入也不是更新,还是仅仅意味着更新是依赖于读取的写入?

最重要的是,何时更适合声明变量volatile而不是通过synchronized块访问变量?使用volatile依赖于输入的变量是一个好主意吗?例如,有一个变量被称为render通过渲染循环读取并由按键事件设置?

java multithreading volatile synchronized java-me

222
推荐指数
4
解决办法
9万
查看次数

为什么java.io.File没有close()方法?

虽然java.io.RandomAccessFile确实有一种close()方法java.io.File没有.这是为什么?文件是否在最终确定时自动关闭?

谢谢!

java file-io

113
推荐指数
5
解决办法
13万
查看次数

InputStream.available()在Java中做什么?

InputStream.available()Java中做什么?我阅读了文档,但我还是无法解决.

医生说:

返回可以从此输入流中读取(或跳过)的字节数,而不会被此输入流的方法的下一个调用方阻塞.下一个调用者可能是同一个线程或另一个线程.

类InputStream的可用方法始终返回0.

阻止是什么意思?它只是意味着同步通话吗?

最重要的是,该available()方法的目的是什么?

java inputstream blocking

56
推荐指数
2
解决办法
5万
查看次数

Google App Engine上的Ruby on Rails应用程序

谁能给我一些关于如何将我的rails应用程序部署到GAE的指示?我一直在阅读它,但它似乎是一个相当复杂的任务.

我试过google-appengine宝石,但它也不是一块蛋糕.

DataMapper适配器是否有任何进展,或者我需要更改模型?

我希望看到一个关于它的完整细节教程,但我发现的那些有点过时了.

ruby google-app-engine ruby-on-rails ruby-datamapper

53
推荐指数
1
解决办法
2万
查看次数

Rails:将所有未知路由重定向到root_url

每当用户点击错误的页面时,rails会从公共文件夹中显示404.html.但是,我只想将浏览器重定向到根页面,而不显示任何内容.所以我尝试了通配,但无济于事,它仍然显示404页面.这是我的路线文件的摘录:

# ...
map.root :controller => 'home', :action => 'home'
map.connect '*', :controller => 'home', :action => 'home'
Run Code Online (Sandbox Code Playgroud)

有什么建议?多谢你们!

redirect routing routes ruby-on-rails url-routing

38
推荐指数
4
解决办法
3万
查看次数

C++中数组的元素计数

假设我有一个数组arr.当将以下不给数组的元素个数:sizeof(arr) / sizeof(arr[0])

我只能说一种情况:数组包含的元素具有不同类型的派生类型.

我是对的并且在那里(我几乎肯定是必须的)其他这样的情况?

很抱歉这是一个微不足道的问题,我是一名Java开发人员,而且我对C++很陌生.

谢谢!

c++ arrays sizeof

21
推荐指数
4
解决办法
11万
查看次数

如何将提交移动到另一个分支?

我想将我最后几次提交从master转移到他们自己的分支中.

我电脑上的树看起来像这样:

   W (some branch)
  /       
X1--X2--X3--X4--Y--Z1--Z2 (master)
Run Code Online (Sandbox Code Playgroud)

我希望它看起来像:

   W (some branch)
  /       
X1--X2--X3--X4 (master)
             \
              Y--Z1--Z2 (my new branch)
Run Code Online (Sandbox Code Playgroud)

但是,GitHub上的树看起来像:

   W (some branch)
  /       
X1--X2--X3--X4--Y (master)
Run Code Online (Sandbox Code Playgroud)

这就是我所看到的将最后提交移动到另一个分支的解决方案:

git checkout master
git branch my_new_branch
git reset <commit_id>
Run Code Online (Sandbox Code Playgroud)

我的问题是:在将提交移动到新分支后,我是否能够成功推送到GitHub?如果是这样,它还需要做除了这三个命令之外的其他操作吗?

git branch push commit

21
推荐指数
1
解决办法
8586
查看次数

如何为图书馆分发Javadoc?

我正在写一个自定义库.它构建成.jar存档.我完全能够生成javadoc,但我不知道应该如何分发它?

  1. 将它放在与库相同的.jar中
  2. 把它放在一个不同的.jar中
  3. 还有其他方法吗?

以及如何将javadoc包含在另一个使用我的lib的项目中?

  1. 如果我把它放在同一个.jar中,我应该在清单中写一些东西吗?
  2. 如果它在一个单独的.jar中,是否足够包含在项目中?

我使用的是NetBeans 9.1.

java javadoc jar distribution

20
推荐指数
1
解决办法
8515
查看次数

在C中打印结构

我试图struct在函数中打印一个作为参数的东西,以便进行一些调试.

无论如何我可以在不知道它看起来的情况下打印结构的内容,即不显式打印每个字段?你看,根据不同#defines的负载,结构可能看起来非常不同,即可能有或没有不同的字段,所以我想找到一种简单的方法来做类似的事情print_structure(my_structure).

NetBeans的调试器可以为我做到这一点,但遗憾的是代码在我无法运行调试器的设备上运行.

有任何想法吗?我想这是不可能的,但至少在编译时可能会有一些宏来做这件事吗?

谢谢!

c printing struct

19
推荐指数
1
解决办法
4万
查看次数

强制浏览器在显示页面之前加载CSS

我已经制作了我网站的移动版本.然而,当加载页面时,首先显示该站点而不应用CSS,并且在一秒钟之后(最多)它应用CSS并正确地呈现它.这种行为在所有浏览器(包括移动浏览器)中都是一致的.

你有什么想法,我怎么能强制浏览器首先加载CSS(其尺寸非常小)然后呈现内容?我已经看到了将CSS文件包含在外面的东西head,但据我所知这是违反规范的,我担心这样的黑客可能会在某些移动浏览器上制造东西.

谢谢!

更新

这是源头

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
  <head>
    <title>Albite BOOKS mobile</title>
    <meta http-equiv="Content-Type" content="application/xhtml+xml; charset=UTF-8"/>
    <meta name="description" content="Free e-books for Java Mobile phones."/>
    <meta name="keywords" content="free ebooks, free books, book reader, albite reader, albite books, java mobile"/>
    <meta name="language" content="en_GB"/>
    <meta name="classification" content="public"/>

    <link rel="shortcut icon" href="favicon.ico" />
    <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1" />
    <link href="/stylesheets/mobile.css?1289644607" media="screen" rel="stylesheet" type="text/css" />
  </head>
  <body>
  <!-- .... --> …
Run Code Online (Sandbox Code Playgroud)

html css browser

18
推荐指数
3
解决办法
3万
查看次数