Sunday, 28 October 2018

What Is Streaming TV?

The success of streaming media is pretty recent, but the idea behind it has been around as long as people have. When someone talks to you, information travels toward you in the form of a sound wave. Your ears and brain decode this information, allowing you to understand it. This is also what happens when you watch TV or listen to the radio. Information travels to an electronic device in the form of a cable signal, a satellite signal or radio waves. The device decodes and displays the signal.
In streaming video and audio, the traveling information is a stream of data from a server. The decoder is a stand-alone player or a plugin that works as part of a Web browser. The server, information stream and decoder work together to let people watch live or prerecorded broadcasts.
Here are some of the screenshots:




https://computer.howstuffworks.com/internet/basics/streaming-video-and-audio.htm

Friday, 26 October 2018

What is WOW64?

64-bit is a CPU architecture that is capable of transferring 64-bits of data per clock cycle. More plainly, it's the amount of data your CPU can handle each time it processes information. You can think this architecture as a road that's 32 lanes wide; only 32 "vehicles" (bits of data) can go through an intersection at a time.
In more technical terms, 64-bit is referencing the width of the registers on a computer's microprocessor or the computer bus; sometimes called WOW64 and x64.
https://www.computerhope.com/jargon/num/64bit.htm

Thursday, 25 October 2018

What is Java Web Start

Java Web Start software provides the power to launch full-featured applications with a single click. Users can download and launch applications, such as a complete spreadsheet program or an Internet chat client, without going through lengthy installation procedures.

With Java Web Start software, users can launch a Java application by clicking a link in a web page. The link points to a Java Network Launch Protocol (JNLP) file, which instructs Java Web Start software to download, cache, and run the application.

Here are some of the screenshots:

https://www.baeldung.com/java-web-start






What is the jarsigner tool?

The next tool we'll look at is the jarsigner tool; this tool creates signed JAR files. The jarsigner tool uses the information in a keystore to look up information about a particular entity and uses that information either to sign or to verify a JAR file. 

The keystore that jarsigner uses is subject to the KeyStore class that has been installed into the virtual machine; if you have your own keystore implementation, jarsigner will be able to use it. Similarly, if you use the standard keystore implementation, but hold the keys in a file other than the default .keystorefile, jarsigner will allow you to use that other file as well.

Here are some of the screenshots:





Wednesday, 24 October 2018

What is Eclipse Plugin?

Plugins are the smallest deployable and installable software components of Eclipse.
Each plugin can define extension-points which define possibilities for functionality contributions ( code and non-code ) by other plugins. Non-code functionality contributions are for example the provision of help content.
The basis for this architecture is the runtime environment Equinox of Eclipse which is the reference implementation of OSGI. See OSGi development - Tutorial for details.
The Plugin concept of Eclipse is the same as the bundle concept of OSGI. Generally speaking a OSGI bundle equals a Plugin and vice-versa.

Here are some of the screenshots:




http://www.vogella.com/tutorials/EclipsePlugin/article.html

What is Maven?

Maven is a "build management tool", it is for defining how your .java files get compiled to .class, packaged into .jar (or .war or .ear) files, (pre/post)processed with tools, managing your CLASSPATH, and all others sorts of tasks that are required to build your project. It is similar to Apache Ant or Gradle or Makefiles in C/C++, but it attempts to be completely self-contained in it that you shouldn't need any additional tools or scripts by incorporating other common tasks like downloading & installing necessary libraries etc.

It is also designed around the "build portability" theme, so that you don't get issues as having the same code with the same buildscript working on one computer but not on another one (this is a known issue, we have VMs of Windows 98 machines since we couldn't get some of our Delphi applications compiling anywhere else). Because of this, it is also the best way to work on a project between people who use different IDEs since IDE-generated Ant scripts are hard to import into other IDEs, but all IDEs nowadays understand and support Maven (IntelliJ, Eclipse, and NetBeans). Even if you don't end up liking Maven, it ends up being the point of reference for all other modern builds tools.

Here are some of the screenshots:












https://stackabuse.com/what-is-maven/

What is the HornetQ Messaging System?

HornetQ is an open source project to build a multi-protocol, embeddable, clustered messaging system with very high performance, .

Messaging systems (or MOM for Message-oriented middleware) are systems focused on sending and receiving messages to increase the interoperability, flexibility and the performance of applications. They decouple the producers of messages from the consumers. The producers and consumers of messages are completely independent and are not aware of each other spatially (they can run on different nodes) and temporally (they do not need to be running at the same time, the producers can send messages even if there is no consumers and vice versa). This allows to create systems more flexible and loosely coupled than using remote procedure calls (or RPC).

Messaging systems are often used to implement as message bus which loosely couples heterogeneous systems together. Using a message bus to decouple disparate systems allows the systems to grow independtly and adapt more easily. It provides more flexibility to add new systems or update existing ones since they don't have brittle tight-coupled dependencies on each other.

Here are some of the screenshots:





https://dzone.com/articles/hornetq-getting-started

What is ActiveMQ?

Apache ActiveMQ is a message broker which fully implements the Java Messaging Service API 1.1 and Supports a variety of Cross Language Clients and Protocols such as Java, C, C++, C#, Ruby, Perl, Python, PHP. This makes messages to share a common format and semantic, which makes integration between different applications easier.

We are looking into a JMS example, which involves two JMS clients. First client sends a message to a queue destination. The second client retrieves the message from the same queue destination.

It is used to reliably communicate between two distributed processes. Yes, you could store messages in a database to communicate between two processes, but, as soon as the message is received you'd have to delete the message. That means a row insert and delete for each message. When you try to scale that up communicating thousands of messages per second, databases tend to fall over.

Message oriented middle-ware like ActiveMQ on the other hand are build to handle those use cases. They assume that messages in a healthy system will be deleted very quickly and can do optimizations to avoid the overhead. It can also push messages to consumers instead of a consumer having to poll for new message by doing a SQL query. This further reduces the latency involved in processing new messages being sent into the system.

Here are some of the screenshots:


https://techaffinity.com/blog/java-message-service-jms-using-activemq/


Tuesday, 23 October 2018

What is hibernate framework?

Hibernate is a pure Java object-relational mapping (ORM) and persistence framework that allows you to map plain old Java objects to relational database tables.The main goal of hibernate is to relieve the developer from the common data persistence related tasks.It maps the objects in the java with the tables in the database very efficiently and also you can get maximum using its data query and retrieval facilities.Mainly by using Hibernate in your projects you can save incredible time and effort.

Persistent data can be seen anywhere in an application. Managing persistent data is one of the few challenges that modern technologies/products are facing. A solution called Object-Relational Mapping (ORM) has gained major popularity over the past few years. ORM is a piece of software/product for the representation and conversion of data between the database and the object-oriented programming language. Hibernate is one such ORM solution and it is an open-source project.

Though Hibernate Framework is not the only persistence solution, it has become very famous over the recent past because of its huge variety of features when compared with its competitors. It takes much of the database related boiler-plate code from the developers, thereby asking the developers to concentrate on the core business logic of the application and not with the error-prone SQL syntax.

Here are some of the screenshots:





https://javabeat.net/hibernate-ormobjectrelational-framework-an-introduction/

What is Apache Ant?

Ant is primarily used for building and deploying Java projects but can be used for every possible repetitive tasks, e.g. generating documentation.

A Java build process typically includes:

  • the compilation of the Java source code into Java bytecode
  • creation of the .jar file for the distribution of the code
  • creation of the Javadoc documentation

Ant uses an xml file for its configuration. The default file name is build.xml. Ant builds are based on three blocks: tasks, targets and extension points.

A task is a unit of work which should be performed and constitutes of small atomic steps, for example compile source code or create Javadoc. Tasks can be grouped into targets.

A target can be directly invoked via Ant. Targets can specify their dependencies. Ant will automatically execute all dependent targets.

Here are some of the screenshots:






http://www.vogella.com/tutorials/ApacheAnt/article.html

What is Log4J?

Log4j is a JavaSW library that specializes in logging. At the time of this writing, its home page is at http://logging.apache.org/log4j/docs/ . The Java library itself is available for download at http://logging.apache.org/site/binindex.cgi . The short manual at http://logging.apache.org/log4j/docs/manual.html does a great job covering many of the standard features of Log4j. At its most basic level, you can think of it as a replacement for System.out.println's in your code. Why is it better than System.out.println's? The reasons are numerous.

To begin with, System.out.println outputs to standard output, which typically is a console window. The output from Log4j can go to the console, but it can also go to an email server, a databaseW table, a log file, or various other destinations.

Another great benefit of Log4j is that different levels of logging can be set. The levels are hierarchical and are as follows: TRACE, DEBUG, INFO, WARN, ERROR, and FATAL. If you set a particular log level, messages will get logged for that level and all levels above it, and not for any log levels below that. As an example, if your log level is set to ERROR, you will log messages that are errors and fatals. If your log level is set to INFO, you will log messages that are infos, warns, errors, and fatals. Typically, when you develop on your local machine, it's good to set the log level to DEBUG, and when you deploy a web application, you should set the log level to INFO or higher so that you don't fill up your error logs with debug messages.

Here are some of the screenshots:











http://www.avajava.com/tutorials/lessons/what-is-log4j-and-how-do-i-use-it.html

What is JSP Taglib directive?

The taglib directive is used to define tag library that the current JSP page uses. A JSP page might include several tag library. JavaServer Pages Standard Tag Library (JSTL), is a collection of useful JSP tags, which provides mahy commonly used core functionalities. It has support for many general, structural tasks such as iteration and conditionals, readymade tags for manipulating XML documents, internationalization tags, and for performing SQL operations.

Let’s imagine you want to create a web page which needs you to write same code many times for each particular like in e commerce website, you might have to show price tags, size and color along with an image for each item.

You have to show 10 items or more in single page. Now, instead of writing the HTML, css code many times, you can create something tag-lib where you can create a method in a class which accepts a list of parameters and you can call that method.

You can embed html and css code in the method and you can design the UI of the page by just writing a single line of code by passing parameters to it.

Here are some of the screenshots:













https://stackoverflow.com/questions/27279217/what-is-a-taglib

What is Struts Framework?

The Struts Framework made exclusive use of the MVC design paradigm, and its goal was to separate the "model," which is the application logic that communicates with the database, from the "view," which is the HTML pages presented to the client/user, and from the "controller," which is the instance that passes information between the model and the client's view. Struts already provides the controller, which is just a Java servlet known as ActionServlet that creates the templates to be displayed by the view. It is then the job of the Web application programmer to create the model code and, by extension, the central configuration file called "struts-config.xml," which binds together the model, view and controller.

As is the norm in applications that use the MVS model, requests from the client or view are sent to the controller as "Actions," which were previously defined in the configuration file. When the controller receives the request, it calls the corresponding Action class, which then interacts with the application-specific model code. As a result, the model returns an "ActionForward" string that informs the controller what output page to pass on to the view or client. The information that is passed between the view and the model is in the form of JavaBeans that is then looked up in a tag library for the view layer to read and write the Bean's contents without additional Java code; it acts as a translation table.

Here are some of the screenshots:










https://www.developer.com/java/ent/article.php/1495931/An-Introduction-to-Struts.htm

What is Spring Framework?

What you'd probably want in a web application with Spring -


  • Spring MVC, which with 2.5+ allows you to use POJOs as Controller classes, meaning you don't have to extend from any particular framework (as in Struts or Spring pre-2.5). Controller classes are also dead simple to test thanks in part to dependency injection
  • Spring integration with Hibernate, which does a good job of simplifying work with that ORM solution (for most cases)
  • Using Spring for a web app enables you to use your Domain Objects at all levels of the application - the same classes that are mapped using Hibernate are the classes you use as "form beans." By nature, this will lead to a more robust domain model, in part because it's going to cut down on the number of classes.
  • Spring form tags make it easier to create forms without much hassle.

In addition, Spring is HUGE - so there are a lot of other things you might be interested in using in a web app such as Spring AOP or Spring Security. But the four things listed above describe the common components of Spring that are used in a web app.

Spring is great for gluing instances of classes together. You know that your Hibernate classes are always going to need a datasource, Spring wires them together (and has an implementation of the datasource too).

Your data access objects will always need Hibernate access, Spring wires the Hibernate classes into your DAOs for you.

Additionally, Spring basically gives you solid configurations of a bunch of libraries, and in that, gives you guidance in what libs you should use.

Here are some of the screenshots:










http://www.methodsandtools.com/archive/archive.php?id=93

What is the JVM?

A Java virtual machine (JVM), an implementation of the Java Virtual Machine Specification, interprets compiled Java binary code (called bytecode) for a computer's processor (or "hardware platform") so that it can perform a Java program's instructions. Java was designed to allow application programs to be built that could be run on any platform without having to be rewritten or recompiled by the programmer for each separate platform. A Java virtual machine makes this possible because it is aware of the specific instruction lengths and other particularities of the platform.


The Java Virtual Machine Specification defines an abstract -- rather than a real -- machine or processor. The Specification specifies an instruction set, a set of registers, a stack, a "garbage heap," and a method area. Once a Java virtual machine has been implemented for a given platform, any Java program (which, after compilation, is called bytecode) can run on that platform. A Java virtual machine can either interpret the bytecode one instruction at a time (mapping it to a real processor instruction) or the bytecode can be compiled further for the real processor using what is called a just-in-time compiler.

Here are some of the screenshots:

https://www.javaworld.com/article/3272244/core-java/what-is-the-jvm-introducing-the-java-virtual-machine.html

What is Java Control Panel?

The Java Control Panel is a multipurpose control panel. It allows you to view and set a wide range of parameters controlling how Java runs on your computer. It lets you view and delete temporary files used for Java Plug-in, which allows Sun Java to be used by your web browser to run applets, and Java Web Start, which allows you to run Java applications over the network. It allows you to control certificates, making it safe to run applets and applications over the network.

It allows you to set runtime parameters for applets run with Java Plug-in and applications run with Java Web Start. It provides a mechanism for updating your version of Java so that you always have the latest. And it allows you to set options for debugging, desktop integration, applet handling, etc. The Java Control Panel includes the following separately viewable panels:

General
Security
Java
Update
Advanced

Here are some of the screenshots:

 


https://www.cs.mun.ca/java-api-1.5/guide/deployment/deployment-guide/jcp.html

What is WinRAR?

WinRAR is a compression tool. One of the application’s uses is to compress one or several files together. This is for reducing the size of the files for storage or transfer. WinRAR can compress the files in either ZIP or RAR file format. The program can also compress files into CAB, ARJ, LZH, AZE and ISO file formats. The WinRAR program may also unpack or extract files with a ZIP or RAR file format from the Internet.

Here are some of the screenshots:




http://www.mcgrathinfosolution.com/what_is_winrar.htm