Posts

Path Finding Algorithm (A* and Dijkstra's)

Image
This Blog is about a project which I did in JANUARY 2021. I created a path finding algorithm simulator using JavaFX. It helps to get a visual representation of two path finding algorithms which are A* and Dijkstra's Path finding Algorithm. I used JavaFX because it is one of the fastest growing technologies in java and it is replacing java swing .JavaFX is much more powerful then java swing and  it has some amazing features like we can apply CSS in JavaFX. The reason why I choose  to A* and Dijkstra's Path Finding Algorithm from a Pool of Algorithm because they help us to  get a basic knowledge of Path finding in Graph. These two are also really great for comparison  with each other and they are also quite famous. Working so let me tell you how this application works. You can download the project by clicking here and then  configure it  in your favorite java IDE .  Now if you have configured the project which I don't think so, then press the run button in your IDE. when the

Past Olympics data analysis

Image
This blog is about a analysis of a Olympics dataset which I got from Kaggle  .This Dataset was provided by rgriffin on Kaggle. The link to the dataset is provided below Link to Dataset:- click here For this blog I have used R programming language. R is one of the most rapidly growing programming language and R is also one of  the best programming language for data analysis. If anyone wants to do data analysis and wants to know which language to choose then i think he/she should go for R. Before starting with actual analysis note that the winter and summer games were held in the same year up until  1992.After that ,they staggered them such that Winter Games occur on a four year cycle starting with 1994 ,then summer in 1996 and so on. So the first question which I tried to answer is which gender(male/female) has most participation in Olympics? Starting with Summer Olympics. The graph given below shows the amount of men and women participated each year in Olympics     It is seen from the

JVM Architecture

Image
 JVM(JAVA VIRTUAL MACHINE) is a Process Virtual Machine . It runs as a normal application inside a host OS(Operating System) and Supports a Single process. It's purpose is to provide a platform -independent programming environment that abstracts away details of underlying hardware or OS. JVM acts as a Runtime engine to run Java based applications. It's task is to load ".class"  file and run ".class" file. JVM is a part of JRE which is a part of JDK . JVM  ARCHITECTURE The Architectural Diagram of JVM is shown above. JVM basically consists of five Major Parts: 1. Classloader subsystem. 2. JVM memory. 3. Execution Engine. 4. Native Method Interface. 5. Native Method Libraries. so lets talk about each part one by one. Classloader Subsystem:  Java's loads the classes dynamically and this feature of java is provided by the Classloader Subsystem. It's main task is to load, link and initialize the class file when it refers to a class for the first time duri

Java Sealed Class

Image
"Sealed class" is a very important feature and many Languages support this feature.Java until now was not Supporting this Feature but "Sealed Classes" is introduced as a preview feature in JAVA SE 15.So let's see what this feature exactly is! Consider we have the following classes bigCat ,tiger,leopard,dog, bullDog ,beagle.These classes should extend each other in the following way. We should not allow  bullDog or beagle to extend bigCat class since there are not cats, in the same way we should also not allow tiger and leopard to extend dog class since they are not dogs.Until java 14 there is no direct way to restrict one class from extending other.This means that the classes bullDog and beagle can get all the features of the class bigCat just by extending it and this is not desirable. So we can implement the classes as shown in the figure by using some tricks.We can implement it by making the constructor of bigCat and dog as private.After that we can use nestin