Do you get Just-in-time compilation?
TheServerSide
An overview of the JVM internal compiler turning Java bytecode directly into processor instructions.
An overview of the JVM internal compiler turning Java bytecode directly into processor instructions.
Have you ever wondered how FORs impact your code? How they are limiting your design and more important how they are transforming your code into an amount of lines without any human meaning? In this post we are going to see how to transform a simple example of a for (provided by Francesco Cirillio - anti-if campaign), to something more readable and well designed.
If you are preparing for peak load on your system you might be interested in this story from one of our eCommerce clients. Their site went down 7 times during last year's holiday season. They identified that the load balancer was configured incorrectly which resulted in a cascading effect on their application causing all app servers to crash. Recovery of the system was up to five hours each time the site went down. They shared this story at a recent application performance conference and I thought to share it with you
A recent publication in the ACM CCS'12 proceedings titled "The Most Dangerous Code in the World:Validating SSL Certificates in Non-Browser Software" exposes critical vulnerabilities in the creation and usage of SSL libraries in non-browser applications. The lessons learnt and the ensuing recommendations to developers and testers are shared in this news item. By Jeevak Kasarkod
Microsoft released the Windows Phone 8 SDK Tuesday as part of its bid to increase developer support. This SDK includes several new features including hardware accelerated DirectX and native C++ code support. By Jeff Martin
SpringTrader, a Spring-based reference architecture, is now available on GitHub - a sneak preview was given several months ago and named NanoTrader. The SpringTrader application uses open source and standards in the browser, REST/JSON, Spring Security, Spring Data JPA, Spring Integration, scalable session management, elastic JVM memory, loosely coupled messaging based on RabbitMQ, and a high-scale, NewSQL, in-memory data grid on the back-end.
NetBeans is amazing. With a single download you get a fully integrated Java EE IDE (with CSS editor, HTML 5 support, JPA support, JPA QL auto completion, great maven support, profiler, debugger and DB explorer) Maven 3--the simplest possible build tool for Java EE projects. If you follow the conventions, Maven is great! A few years ago, I preferred Ant over Maven, but with Maven 3 performance improvements and the available tooling, Maven 3 is a good choice even for smallest projects. VisualVM--a great Java profiler and monitoring tool (not a surprise, it is actually NetBeans subset). JMeter--the easy to use load generator lightfish.adam-bien.com--I wrote lightfish for easier stress test analysis. LightFish persists and exposes essential GlassFish metrics. Mockito--a mocking "framework". Easy to use and convenient. Kills the myth that you need interfaces for efficient unit-testing. Eclipse Memory Analyzer Tool--great utility for heap dump analysis (although it is Eclipse based, it is very easy to install and use :-)) Arquillian--a unit test runner with application server integration. The killer feature: with arquillian you can remove all mocks from src/main/java Java Decompiler--if you need to look under the hood. Sonar--useful and dangerous at the same time. My favorite feature: the ability to combine code coverage with cyclomatic complexity. See "clouds". Real World Java EE Bootstrap and Effective Java EE Bootstrap Workshops [Airport Munich]
In the past there was an assumption that only popular applications and services will be attacked. But these days even new services with few or no users is liable to find itself under the hacker's microscope. In a recent //Build session, Josh Dunn discusses some of the common vulnerabilities found in Windows 8 applications. By Jonathan Allen
I have been having discussions related to the Total Cost of Ownership (TCO) of running workloads in the cloud as it compares to running them on-premises. One consistent conclusion is that weighing the financial considerations of owning and operating a...
The Eclipse Foundation has released Orion 1.0, a browser-based editor for web applications written in JavaScript, HTML, and CSS. By Abel Avram
It’s been over four months since the last Ceylon milestone was released to the world, and this week saw the release the fourth milestone of Ceylon and its IDE. The developers describe Milestone 4 - which is nicknamed ‘Analytical Engine’ - as “an almost-complete implementation” of the language. The next major release will be a feature-complete 1.0 beta, promised in January. Ceylon is the relatively young new JVM language, developed for several years in secret at Red Hat by Gavin King and unveiled to the world last year. It was immediately dubbed by the press as “Red Hat’s Java” and a “Java killer”, leading King to respond that “Ceylon isn't Java, it's a new language that's deeply influenced by Java, designed by people who are unapologetic fans of Java”. Since then, the team have continued - despite some scathing criticism - to work on the language out in the open, with the source code available on GitHub under a GPL v2 license. New language features added since June include: member class refinement (type families) class and interface aliases union and intersection aliases new syntax for package and module descriptors assertions condition lists support for calling super-interface implementations of refined members maven repositories pluggable command-line tools, git-style better support for optional types in Java JDK/Jigsaw modules The Ceylon IDE has also been updated, now able to compile JavaScript (to, say, run on an instance of the oh-so-trendy Node.js), as well as module import completion, a new Repository Explorer view and support for Maven repositories. King wrote on Google+ that his personal favourite feature of M4 is the ability to “write code in the IDE and run it on both the JVM and Node.js, right there, right from within Eclipse”. Milestone 4 also coincides with an update to Ceylon Herd, the language’s official module repository, which now holds 18 modules - including a new IO Platform Module, which is claimed to provide “the ability to read/write to files, sockets, server sockets synchronously and asynchronously”. In a message to the Ceylon development mailing list, Red Hat employee and team member Stéphane Épardaud delivered a frank assessment of recent progress, discussing why M4 took “so long” to be released and lambasting the performance of the IDE, JVM compiler and typechecker as “unacceptable”. However, he added: “I think all the rest we did not just well but great :)” Photo by sandra.scherer (though it’s of a Cylon, not Ceylon).
I am pleased to announce the availablity of the first milestone of a Spring Data Solr project. It's the first community-driven Spring Data module lead by Christoph Strobl. It's essentially an implementation of the Spring Data repository API to access Solr stores and provides the same programming model you are already used to from Spring Data JPA, MongoDB, Neo4j and Gemfire. Beyond that Spring Data Solr provides a lower level SolrTemplate as well as abstractions to easily bootstrap an embedded Solr server. Maven artifacts | JavaDocs | Reference Documentation | Changelog | JIRA We looking forward to community-driven Spring Data module implementations for other stores. Please get in touch with us through the forums in case you'd like to see a particular store supported and can commit to actively maintaining the project.
Atmosphere 1.0 is a new Java/Scala/Groovy framework that attempts to abstract asynchronous communication between the web browser and the application server. It transparently supports Web Sockets, HTML5 Server Side events and other application server specific solutions when available, with long polling as a fallback. By Kostis Kapelonis
In this JAX London session, Waratek CTO John Matthew Holt explains how Waratek Cloud VM for Java transforms the JVM with key Cloud characteristics including genuine multitenancy, granular elasticity, instant scalability, realtime metering and prioritization of resources by application, to futureproof your Java investment in the age of Cloud computing.
The addition of the app store to Office and SharePoint 2013 provides new opportunities for both users and developers. These new features provide greater awareness for Internet data sources and bring customization to users. By Jeff Martin
Dynamic Access Control is a set of features for Windows Server 2012 to manage authentication and authorization beyond Active Directory Groups. There are several components involved in this, the most notable being the ability evaluate expression-based ACLs against user and device claims. By Jonathan Allen
For many years, I've found myself frustrated with the tools of various programming languages, primarily IDEs, previously with Java, currently with Scala. Preview Text: If the language is good enough, an IDE is strictly not needed as long as you have good support for syntax highlighting and parens matching in the case of Clojure, or indentation...
Introduction In part 1 I showed how server push and threads can be used to execute background tasks in a ZK application. However, the simple example had a major flaw that makes it a bad approach for real-world applications: it starts a new thread for each background task. Preview Text: In part 1 I showed how server push and threads can be used...
Declaring complex Cron expressions is still giving me some headaches, especially when some more advanced constructs are used. After all, can you tell when the following trigger will fire "0 0 17 L-3W 6-9 ? *"? Since triggers are often meant to run far in the future, it's desired to test them beforehand and make sure they will actually fire when we think they will. Preview Text: ...