小编Joa*_*uer的帖子

垃圾收集和线程

AFAIK当GC正在执行其操作时,VM会阻止所有正在运行的线程 - 或者至少在压缩堆时.这是CLR和JVM的现代实现中的情况(截至2010年1月的生产版本)?请不要提供有关GC的基本链接,因为我了解基本的工作原理.

我假设全局锁定就是这种情况,因为当压缩发生时,引用在移动期间可能是无效的,并且最简单的方法就是锁定整个堆(即,通过阻塞所有线程来间接).我可以想象更强大的机制,但KISS经常占上风.

如果我不正确,我的问题将通过对用于最小化阻塞的策略的简单解释来回答.如果我的假设是正确的,请提供以下两个问题的一些见解:

  1. 如果这确实是这种行为,那么像JBOSS和Glassfish这样的重量级企业引擎如何保持一致的高TPS率?我在JBOSS上做了一些谷歌搜索,我期待在APACHE上找到适合网络处理的内存分配器.

  2. 面对NUMA式架构(可能在不久的将来),这听起来像是一场灾难,除非进程受到线程和内存分配的CPU限制.

java clr garbage-collection memory-management blocking

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

"修复"Java中的字符串编码

我有一个使用UTF-8编码Stringbyte[]数组创建.
但是,应该使用其他编码(Windows-1252)创建它.

有没有办法将此String转换回正确的编码?

我知道如果你可以访问原始的字节数组很容易,但是我的情况为时已晚,因为它是由一个封闭的源库提供的.

java encoding

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

如何从url参数预先填充html表单输入字段?

我有一个vanilla html页面,里面有一个表单.已经要求能够通过URL预先填充表单.就像是:

http://some.site.com/somePage.html?forename=Bob&surname=Jones
Run Code Online (Sandbox Code Playgroud)

我似乎无法找到任何简单的解决方案.有人可以通过一些javascript指向我正确的方向来实现这一目标吗?很高兴使用javascript解决方案,但我宁愿避免只为这一次使用而拉入整个库(目前没有使用).谢谢.

html forms parameters url

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

获得Kindle开发套件的要求

如何获得项目提案以获取Kindle开发套件的访问权限?

从亚马逊的Request Access页面:

简要描述您打算在Kindle上构建的活动内容应用程序

我还没有项目规范,我只是想探索和实验.我想把它作为我的描述,但我不想被拒绝,因为我的项目没有充实.

人们描述了哪些类型的应用程序可以让他们访问KDK?有没有人因为"糟糕"的建议被拒绝访问?关于从亚马逊收听回来需要多长时间?

kindle kindle-kdk

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

如何在Java中枚举所有环境变量

System.getenv(name) 需要环境变量的名称.

我试图调用Runtime.exec(String[], String[], File),辅助参数需要一个环境变量数组,我不确定如果我指定了这个参数,子进程是否会从当前进程继承环境变量.

例如,如果我new String[]{"NEWDIR=/home"}作为辅助参数传递并且当前java进程具有环境OLDDIR=/var,那么System.getenv("OLDDIR")子进程中的返回值是什么?

更新: 对不起,我必须使用Java 1.4,它似乎System.getenv()是在1.5中引入的?

java environment

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

检查ArrayList是否包含给定对象

假设我有这样的课程:

class A {
  int elementA;
  int elementB
}
Run Code Online (Sandbox Code Playgroud)

我也有ArrayList这样的:ArrayList<A> listObj.

如何仅使用某些属性来检查该列表是否包含对象A?例如,只考虑elementA查找对象newA{elementA}是否已在列表中?

对于对象,A我已经定义了一个equals方法,我只考虑了这个方法elementA,但这还不够.

java list arraylist

21
推荐指数
2
解决办法
9万
查看次数

哪些问题阻止Java应用程序在多个平台上运行?

Java应该是"一次编写,随处运行",它确实可以,但在某些情况下,它会变成"一次编写,随处调试".

将Java应用程序从一个平台移动到另一个平台时出现问题的最常见原因是什么?

什么是不常见但有趣的原因?

java cross-platform

20
推荐指数
6
解决办法
770
查看次数

如何以安全可读的方式处理我知道永远不会抛出的IOException?

"可能出错的事情与不可能出错的事情之间的主要区别在于,当一件不可能出错的事情出错时,通常会发现无法进入或修复." -道格拉斯·亚当斯

我有一个类FileItems.FileItems构造函数接受一个文件,如果该文件不存在则抛出异常(FileNotFoundException).该类的其他方法也涉及文件操作,因此具有抛出FileNotFoundException的能力.我想找到一个更好的解决方案.一种解决方案,不需要其他程序员处理所有这些极不可能的FileNotFoundExceptions.

事情的事实:

  1. 该文件已被检查存在,但存在极不可能的可能性,通过一些重大的现实错误,在调用此方法之前可能会删除该文件.
  2. 由于1发生的概率非常不同且不可恢复,我宁愿定义一个未经检查的异常.
  3. 该文件已经被发现存在,迫使其他程序员编写代码并捕获已检查的FileNotFoundException,这似乎很乏味且无用.该程序应该在那时完全失败.例如,计算机总是有可能着火,但没有人疯狂到足以迫使其他程序员将其作为检查异常来处理.
  4. 我不时遇到这种异常问题,并且每次遇到这个问题时定义自定义未经检查的异常(我的旧解决方案)都很烦人并且增加了代码膨胀.

代码目前看起来像这样

 public Iterator getFileItemsIterator() {
    try{
        Scanner sc = new Scanner(this.fileWhichIsKnowToExist);
        return new specialFileItemsIterator(sc);        
       } catch (FileNotFoundException e){ //can never happen} 

    return null;
 }
Run Code Online (Sandbox Code Playgroud)

如何在不定义自定义未经检查的FileNotFoundException的情况下更好地完成此操作?有没有办法将checkedException转换为uncheckException?

java exception-handling exception ioexception

20
推荐指数
4
解决办法
2万
查看次数

是否有工具通过Java从XML模式生成JSON模式?

是否有人知道我们可以通过Java从XML模式或XML模式生成JSON模式的工具或方法?

java xml json xsd jsonschema

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

递归方法总是比Java中的迭代方法更好吗?

递归方法总是比Java中的迭代方法更好吗?

它们也可以用来代替迭代,反之亦然吗?

java recursion

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