java编译器的源代码在哪里?

我正在寻找Sun标准java编译器javac的源代码。 jdk1.6.0_07有一些相关的类,但它们是接口( java.lang.Compiler和javax.tools.JavaCompiler )。 com.sun.mirror.*和com.sun.source.*下还有一些软件包,它们似乎是用于表示java抽象语法树的接口。 但我找不到编译器源代码 – 任何人都知道它在哪里?

没有“if-else”或“switch-case”的度量转换算法

我想编写一个可以将一个单元转换为另一个单元的程序。 假设我有2种方法。第一种方法可以进行度量转换 ,第二种方法可以进行权重转换 。 例如; 1. long km=metricConvLength(long mil,Enum.mil,Enum.km);//first method 2. long agirlik=metricConvWeight(long kg,Enum.mil,Enum.km);//second method 我想对这些变量使用Enum结构。 我的程序可以转换这些东西和对立面; 海里 – 公里 海里英里 英尺 – 公里 英尺 – 米尔 磅 – 公斤 ons- gr inc – cm 院子里 – 米 结 – 公里 我的问题:我不想使用if-else或switch-case结构来进行转换。(因为如果我使用if-else结构,我的代码看起来很糟糕,很容易和慢。如果我需要50以上-else struct,如果我使用这些struct.This is grind。) 我可以在不使用if-else或switch-case的情况下为这些转换编写算法。 我的目的是减少代码,减少工作量。 关于算法的任何提示?

DateTimeFormatter模式有问题

我正在编写一个股票程序(到目前为止)通过以下请求从“Markit on Demand”获取数据: http://dev.markitondemand.com/Api/v2/Quote/xml?symbol=aapl 这将返回xml中的数据,其中包含各种库存度量(符号,名称,最后价格,更改,时间戳等)。 我在Java 8中创建DateTimeFormatter以制作时间戳时遇到问题。 时间戳的一个示例: Fri Jul 18 15:59:00 UTC-04:00 2014 到目前为止,我的模式如下: EEE MMM d HH:mm:ss OOOO yyyy 我相信你们中的一些人可以发现,我在抵消方面遇到了麻烦。 来自文档: 偏移X和x:根据模式字母的数量格式化偏移。 一个字母仅输出小时,例如’+01’,除非分钟非零,在这种情况下分钟也输出,例如’+0130’。 两个字母输出小时和分钟,没有冒号,例如’+0130’。 三个字母输出小时和分钟,带有冒号,例如’+01:30’。 四个字母输出小时和分钟以及可选秒,没有冒号,例如’+013015’。 五个字母输出小时和分钟,可选秒输出冒号,例如’+01:30:15’。 六个或更多字母抛出IllegalArgumentException。 当要输出的偏移量为零时,模式字母“X”(大写)将输出“Z”,而模式字母“x”(小写)将输出“+00”,“+ 0000”或“+00” :00′ 。 偏移O:根据模式字母的数量格式化局部偏移。 一个字母输出局部偏移的缩写forms,即局部偏移文本,例如’GMT’,小时不带前导零,可选2位数分钟,第二个非零,和冒号,例如’GMT + 8 ”。 四个字母输出完整forms,这是本地化的偏移文本,例如’GMT,具有2位小时和分钟字段,可选的第二字段(如果非零)和冒号,例如’GMT + 08:00’。 任何其他字母数量都会抛出IllegalArgumentException。 偏移Z:根据模式字母的数量格式化偏移。 一个,两个或三个字母输出小时和分钟,没有冒号,例如’+0130’。 当偏移量为零时,输出将为“+0000”。 四个字母输出完整forms的局部偏移,相当于Offset-O的四个字母。 如果偏移为零,则输出将是相应的本地化偏移文本。 五个字母输出小时,分钟,可选第二个,如果非零,则使用冒号。 如果偏移量为零,则输出“Z”。 六个或更多字母抛出IllegalArgumentException。 // String rawDate = […]

GLFW的线程设置

我开始使用新的Lwjgl 3,它使用GLFW进行显示/鼠标/键盘处理,我真的很喜欢它! 然而今天我打了砖头。 我有一个简单的渲染动画,但当我拖动屏幕时,它停止渲染,直到我再次放手。 根据: http : //www.glfw.org/faq.html 问题出现在窗户旁边。 3.5 – 当我移动窗口或调整窗口大小时,为什么我的应用程序会冻结? Windows事件循环被某些操作阻止,例如拖动或调整窗口大小或打开窗口菜单。 这是Windows设计的一部分,GLFW无法更改。 如果您希望在此类操作期间继续渲染,则应从辅助线程渲染。 – http://www.glfw.org/faq.html 我以前在Java中做过multithreading的事情。 但我不确定这种情况下自己的线程是什么。 我应该在单独的线程中使用opengl代码和GLFW代码吗? 我也很难想出一种解决问题的方法。

打开时eclipse juno出错

安装Eclipse并运行一年多之后,我今天打开了Eclipse Juno,并在打开工作区时收到错误消息。 我使用的是Windows 8 64位,Java 64位和Eclipse 64位。 我已经尝试重新安装Java和Eclipse而没有任何影响。 如果有人能帮助我让Eclipse工作,我将不胜感激。 错误日志如下: !SESSION 2013-06-08 16:46:09.718 ———————————————– eclipse.buildId=M20130204-1200 java.version=1.7.0_21 java.vendor=Oracle Corporation BootLoader constants: OS=win32, ARCH=x86_64, WS=win32, NL=en_US Framework arguments: -product org.eclipse.epp.package.java.product Command-line arguments: -os win32 -ws win32 -arch x86_64 -product org.eclipse.epp.package.java.product !ENTRY org.eclipse.core.resources 2 10035 2013-06-08 16:46:11.617 !MESSAGE The workspace exited with unsaved changes in the previous session; […]

从Web视图中删除特定域中的所有Cookie

我想从一些域中删除所有的cookie,有没有办法做到这一点? 我看到的唯一方法是removeAllCookies。 谢谢。

TDD时提取类。 如何测试新提取的类?

所以我在我的主类中有几个方法使用矩阵来设置或关闭像素。 我已经运行了所有当前的测试,所以,我已经决定已经抽出一些与矩阵相关的逻辑,并创建一个Matrix类。 我的问题是,除了我目前为我的SUT课程进行的测试(我刚刚开始,所以我目前只有一个课程,SUT的主要课程),我应该为它创建unit testing吗? 如果是这样,你怎么做? 我的意思是,我现在是否让我所有的代码都是现在的,创建makeunit testing逐一进行测试第一种方法,直到我看到我拥有所有function上我想要的只有那里我重构我的代码? 我只是直接创建Matrix类,只是确保旧测试仍然通过,一切都好吗? 谢谢

用随机数填充我的数组?

我在测试类中将随机数放入数组时遇到了麻烦。 代码在java中。 我无法单独完成,因为最终我必须使用多达600个值来填充数组。 这是测试类: import java.util.Random; public class test { /** * @param args */ public static void main(String[] args) { int size = 1000; int max = 5000; int[] array = new int[size]; int loop = 0; Random generator = new Random(); //Write a loop that generates 1000 integers and //store them in the […]

如何获取以前的URL?

我需要从中调用我的Web应用程序的URL。 例如: – 如果从stackoverflow.com链接到我的网站foo.com,我需要web应用程序(托管bean)中的stackoverflow链接。 所有人都非常感谢,谢谢。

展平嵌套数组。 (JAVA)

我正在努力创建合适的逻辑来压扁arrays。 我基本上想要为嵌套数组中的每个子项复制父行。 嵌套数组的数量可能会有所不同。 我一直在创建Java列表bc我发现它们很容易使用,但对任何解决方案都是开放的。 这个问题的本质是我从一些嵌套的JSON开始,我想将它转换成一个平面的csv加载到数据库表中。 谢谢您的帮助。 例: [1,2,[A,B,[Cat,Dog]],3] 我已经将上面创建为List。 每个项目都是字符串或其他列表。 结果: [1,2,A,Cat,3], [1,2,A,Dog,3], [1,2,B,Cat,3], [1,2,B,Dog,3] 这是我到目前为止所拥有的。 显然不行。 private static List<List> processData(List row, List data, List<List> rowList) { List<List> tempRowList = new ArrayList<List>(); for (Object i : data) { if (i instanceof List) { flattenArray((List) i, row, rowList); } else { for (List r : rowList) […]