我想知道在声明变量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通过渲染循环读取并由按键事件设置?
当我在启用了'contentEditable'标志的任何元素中粘贴任何文本时,IE会自动查找超链接或电子邮件地址并将其替换为
<a href="hyperlink">hyperlink</a>.
Run Code Online (Sandbox Code Playgroud)
如何在IE或aleast中使用'contentEditable'标志禁用元素(例如div,span等)的自动url检测获取粘贴在div中的实际文本.
最诚挚的问候,
凯沙夫
在Glassfish v2中,我通过在ORB节点下的管理控制台中启用"IIOP客户端身份验证"复选框来保护我的JNDI查找.
在我的独立客户端中,我然后执行"ProgrammaticLogin",然后允许我进行JNDI查找.
但是,在Glassfish v3中,如果要在同一设置中执行任何JNDI查找,则会出现此错误:
18.08.2010 14:31:10 com.sun.enterprise.transaction.JavaEETransactionManagerSimplified
initDelegates INFO: Using
com.sun.enterprise.transaction.jts.JavaEETransactionManagerJTSDelegate
as the delegate
org.omg.CORBA.NO_PERMISSION:
----------BEGIN server-side stack trace----------
org.omg.CORBA.NO_PERMISSION:
vmcid: 0x0
minor code: 0
completed: No
Run Code Online (Sandbox Code Playgroud)
我非常确定"ProgrammaticLogin"通常可以正常工作,因为它允许我在我的安全EJB上进行远程方法调用(使用@RolesAllowed但如果IIOP客户端身份验证被关闭).
我登录的用户是我为"文件"领域创建的简单用户.
任何想法,为什么ProgrammticLogin无法在Glassfish v3中用于授权JNDI查找?
或者从独立客户端使用ORB进行身份验证的正确方法是什么?以此目的?
我在TextView上有两个TranslateAnimations,我希望它们一个接一个地执行.但是,通过使用下面的代码,只执行第二个代码.
我怎么解决这个问题?
TranslateAnimation animation = new TranslateAnimation(
Animation.ABSOLUTE, 0.0f, Animation.ABSOLUTE, 0.0f,
Animation.ABSOLUTE, 0.0f, Animation.ABSOLUTE, -150.0f);
animation.setDuration(200);
wave.startAnimation(animation);
TranslateAnimation animation1 = new TranslateAnimation(
Animation.ABSOLUTE, 0.0f, Animation.ABSOLUTE, 0.0f,
Animation.ABSOLUTE, 150.0f, Animation.ABSOLUTE, 0.0f);
animation1.setDuration(200);
wave.startAnimation(animation1);
Run Code Online (Sandbox Code Playgroud) 我正在使用maven2和struts-hibernate Java EE项目并使用myEclipse进行开发.当我运行maven构建,清理并安装时,它会像往常一样在myProject_ear\target文件夹下生成myProject.ear.但是,我必须将此ear文件从该文件夹复制到..jboss-4.2.2.GA_2\server\default\deploy文件夹才能进行部署,然后再次转回eclipse并启动服务器.
这是因为我认为我的项目没有标准的Java EE骨架.但是,如果有办法告诉maven自动将我的耳朵部署在jboss的..\deploy文件夹下,我会很高兴听到这个.
默认情况下,NetBeans在检测代码异味方面优于Eclipse(imho),但Eclipse 的不必要代码检测器似乎发现了更多应该改进的死代码和代码.是否存在可与NetBeans相媲美的内容或是否存在Maven插件?
例如,我正在从cli上传递的参数中动态定义模块名称 Required::Module::#{ARGV.first}
有没有办法检查该模块是否存在?另外,我怎么会在它上面运行方法而不知道它的确切名称?
像sed,awk和其他shell脚本功能这样的Linux实用程序非常棒,当我在Windows上开发并且无法使用任何这些功能时,生活变得更加困难.
人们建议将cygwin用于那些想在Linux下使用linux工具的人.但我觉得cygwin对于那些只想使用少数命令的人来说是一种矫枉过正.
有人说Windows Services for Unix也是一个不错的选择.
我没有使用过这些.一些有经验的程序员可以建议最好/最简单的方法吗?当然除了切换到Linux本身.
我在第二步中遇到一个问题,就是在空间单元上累积加权投票以获得梯度方向.
假设细胞是8*8.让我用两个矩阵GO[8][8]([1 9]),GM[8][8]分别代表梯度方向和梯度大小.梯度方向的范围从0 - 180和有9方向箱.
根据我对HOG的理解,对于单元格中的每个像素,将其渐变幅度添加到其对应的方向区域.通过这种方式,我们可以得到每个细胞的直方图.
但有一句让我感到困惑.
" 为了减少混叠,投票(梯度幅度)在方向和位置的相邻二进制中心之间进行三线插值. " 1
为什么插值?如何插值?有人能解释得更详细吗?没有减少混叠.
提前致谢.
1这句话在Navneet Dalal的PHD论文中,第38页,第4行.
我有一个PHP脚本渲染图像(与想象)并将其保存到某个目录"SITE_ROOT.$filePath",然后做一个header('Location: ' . SITE_ROOT.$filePath),它重定向到的文件是一个png图像.
如果我直接进入路径,就像在URL栏中键入它我可以保存图像,一切正常,但是当我依靠脚本重定向我,我尝试右键单击并保存图像它没有我知道我实际上是在尝试保存图像,它认为我正在尝试将其保存为名为"Driver"的非类型文件,这是脚本页面的名称.
我不知道这里有什么问题,标题位置肯定会带我到图像并且在重定向后没有'Driver'文件的记录?
同样的事情发生在redirect()btw上.
在此先感谢您的帮助!
编辑:通过die()在header命令后面放置此问题.