Frequently asked questions
How Can Segue Help Developers?
Segue is based on the latest open source Oracle code so you can be testing new generation tools as they become available and stay ahead of the technology curve with the latest improvements for better performance and faster development. Open Source means compatibility with existing applications and monitoring tools.
What Type of Support Can I Expect?
We have been supporting enterprise Java applications for 19 years and have worked at the most forward-thinking Java companies in the world. We have seen the types of problems IT teams struggle with in hundreds of use cases and know how to properly implement and tune Java for specific performance results and stability.
Our expertise in the inner workings of the JVM are very deep and as such can reduce an 80-page JVM log file into actionable items to remedy application issues.
How Does Segue Improve Application Stability?
Segue open source JVMs remove the application pauses and outliers that create latency issues and Stop The World events from occurring. Outliers are those occasional latency spikes that can cripple your runtime and impact the business process. Our low-latency and large heap capability remove those problems, and when properly configured, can scale to handle traffic spikes and provide rock-solid consistency of execution to keep your internal and customer facing applications running smoothly.
Why Do My Applications Pause?
This explanation will help business leaders to understand the challenges your IT team faces daily. The Java language has many advantages and a few disadvantages. The advantages are that it is a universally used language deployed in most enterprise applications because it is easy to develop applications and implement. The drawbacks are that the design requires some housekeeping chores that need to execute as the application is running.
The Java Virtual Machine or JVM is the at the foundation of a Java application, and if it has problems the entire application, like a building, can fall down and crash. There is a housekeeping chore called “Garbage Collection”, and like a garbage can, the JVM gets filled up with data objects that come into it and then need to be emptied before the next set of objects can come in for processing. When this happens the application pauses while the JVM is waiting to empty the old objects. This is when pages load slowly, shopping carts drop the customers, or the entire process crashes causing lost revenue and angry clients. Imagine that your application is a racing car and if the engine stalls in the race, that car will be rear-ended and result in a crash.
So, whenever the application pauses it has actually stopped running for a period of time and the longer that time is, the worse it is for your users. The reason these pauses occur is because inside the current JVM there is either not enough memory to handle the incoming objects, or the collection process is not good enough to stay consistent and the result can be a crash. By removing the causes of these problems with our next generation Segue open source JVM and allowing the JVM to handle more objects at a time, we eliminate the underlying issues that your team has tried to program around for the last 20 years.
How Our New Segue JVM Improves on C++ Programming
1) It's very easy to screw yourself up with a language like C++ because the programmer needs to write code that manually deallocates memory resources when they're finished with them. Where as in Java, there is a "garbage collector" to eliminate this requirement and point of failure.
2) C++ requires more advanced, more expensive, and harder to find programmers that are needed to write and maintain applications written in C++ type of languages.
The reason why this disruptive solution hasn't been implemented with Java before, is because all of the garbage collectors, prior to the one that Segue is based on, have something called a Stop The World Pause (STW). This is something that happens when unused memory needs to be freed up in order to be used again by new Java processes (a process known as "garbage collection"). When a STW occurs, ALL processing on the JDK including your application will completely stop. Sometimes for up to two seconds, and if you're doing something using a large Heap of memory, chances are your application may not restart ever.
So it’s not hard to imagine what would happen if you had a standard Java JVM in your drone controller and all processing stopped for two seconds at a non-deterministic time.
But now that Segue exists with ZGC garbage collections in the low millisecond to nanosecond range, this becomes less or no issue at all, making Segue the technology to spearhead this new technological revolution.