我正尝试使用jConsole连接到远程Tomcat JMX实例。 但无法连接成功。 任何想法? 我在远程tomcat catalina.sh包含以下选项: JAVA_OPTS="$JAVA_OPTS -Dcom.sun.management.jmxremote \ -Dcom.sun.management.jmxremote.port=9004 \ -Dcom.sun.management.jmxremote.ssl=false \ -Dcom.sun.management.jmxremote.authenticate=false"
我正在使用Google Maps Android API v2,而且我需要一种方法来处理“我的位置”button的位置。 我得到这样的“我的位置”button: GooglePlayServicesUtil.isGooglePlayServicesAvailable(getApplicationContext()); final GoogleMap map = ((SupportMapFragment) getSupportFragmentManager() .findFragmentById(R.id.map)).getMap(); // This gets the button map.setMyLocationEnabled(true);
我试图通过IntelliJ IDEA的jar神器打包一个使用OptaPlanner 6.0.1库到一个.jar的项目,而不是我的manifest.mf包含标准 Manifest-Version: 1.0 Main-Class: abcapp 该jar使用在OptaPlanner的支持库之一ecj-3.7.2.jar中提供的一个: Manifest-Version: 1.0 Build-Jdk: 1.6.0_26 Built-By: ibrandt Created-By: Apache Maven Archiver-Version: Plexus Archiver 因此,尝试运行应用程序时会出现"no main manifest attribute, in appname.jar"错误。 如果我手动replace.jar文件中的清单,我的一切工作正常。 有什么我可以做的,以解决这个问题? 我将这些库保存在一个单独的/ lib目录下,并将它们作为Extracted Directory添加到jar工件的根目录下,IntelliJ IDEA是v13.0.1。
我今天见了龙目岛 。 我很想知道它是如何工作的。 一篇Java Geek文章给出了一些线索,但对我来说并不完全清楚: Java 6删除apt并使javac能够pipe理注释,简化了stream程以获得更简单的单步计算。 这是龙目岛所采取的道路。 也许在Java 6中,编译过程将是:javac – > apt – > lombok apt进程 – >读取类文件并使用ASM添加set / get方法? 你能告诉我关于这个机制的更多细节吗?
Sun的规范JVM实现将一些非常复杂的优化应用于字节码,以在代码运行几次之后获得接近本地的执行速度。 问题是,为什么这个编译后的代码不能被caching到磁盘上,以便在以后使用同一个函数/类时使用呢? 就目前而言,每次执行程序时,JIT编译器都会重新启动,而不是使用预编译版本的代码。 当字节码基本上被解释时,不会添加这个function会大大增加程序的初始运行时间?
假设我有一个静态的复杂对象,它被一个线程池定期更新,并且在一个长时间运行的线程中或多或less地持续读取。 对象本身总是不变的,反映了最近的状态。 class Foo() { int a, b; } static Foo theFoo; void updateFoo(int newA, int newB) { f = new Foo(); fa = newA; fb = newB; // HERE theFoo = f; } void readFoo() { Foo f = theFoo; // use f… } 我不关心我的读者是否看到旧的或新的Foo,但是我需要看到完全初始化的对象。 IIUC,Java规范说,在这里没有内存屏障,我可能会看到一个fb被初始化的对象,但是还没有被提交到内存。 我的程序是一个现实世界的程序,它迟早会将内容提交到内存中,所以我不需要马上将新的值赋给内存(尽pipe它不会造成伤害)。 你认为什么是实现内存屏障最可读的方式? 如果需要的话,我愿意为了可读性而付出一些性能价格。 我想我可以把这个任务同步到Foo,这个工作就可以了,但是我不确定读这个代码的人很明显为什么这么做。 我也可以同步新的Foo的整个初始化,但是这会引入更多的实际需要的locking。 你怎么写它,使其尽可能可读? 奖金赞成Scala版本:)
我有一个应用程序,用户可以在相册中上传图片,但自然上传的图片需要resize,所以也有大拇指可用,所显示的图片也适合页面(例如800×600)。 我resize的方式是这样的: Image scaledImage = img.getScaledInstance((int)width, (int)height, Image.SCALE_SMOOTH); BufferedImage imageBuff = new BufferedImage((int)width, (int)height, BufferedImage.TYPE_INT_RGB); Graphics g = imageBuff.createGraphics(); g.drawImage(scaledImage, 0, 0, new Color(0,0,0), null); g.dispose(); 它的作品好吧。 我唯一的问题是, g.drawImage()方法似乎非常慢,我无法想象用户有足够的耐心等待20 * 10秒〜3分钟的20张图片上传。 事实上,在我的电脑上,对于单张照片制作3种不同的尺寸需要将近40秒的时间。 这不够好,我正在寻找一个更快的解决scheme。 我想知道是否有人可以通过调用shell脚本,命令告诉我一个更好的Java代码,无论你知道什么黑客,它必须更快,其他的一切都不重要。
有人可以提供我使用javax.websocket的websocket客户端的非常简单的例子吗? 我想连接到websocket(ws://socket.example.com:1234),发送消息(添加通道)并收听消息。 所有消息(发送和收听)都是JSON格式。 顺便说一句,这个库是最简单的websocket通信? (抱歉,愚蠢的问题,我正在学习Java,谢谢)
我怎样才能dynamic地在java中循环一个类的属性。 例如: public class MyClass { private type1 att1; private type2 att2; … public void function() { for(var in MyClass.Attributes) { System.out.println(var.class); } } } 这在Java中可能吗?
我试图找出一个Java小程序的类文件正在做什么。 用记事本或文本板打开它只是显示一堆gobbledy-gook。 有没有什么办法可以把它变成可读的格式,所以我可以试着弄清楚它在做什么? 环境== Windows w / VS 2008安装。