We previously talked about Abstract Class java and we’re here with the cache memory and its performance.
The computer memory holds the info and directions needed to process data and produce output. The computer memory is split into a sizable amount of small parts referred to as cells. Each cell features a unique address that varies from 0 to memory size minus one. Computer memory is of two types: Volatile (RAM) and Non-volatile (ROM). The secondary memory (hard disk) is referred to as storage, not memory.
But, if we categorize memory on behalf of space or location, it’s of 4 types:
• Register memory
• Cache memory
• Primary memory
• Secondary memory
Cache memory is a high-speed memory, which is small in size but faster than the main memory (RAM). The CPU can access it more quickly than the first memory. So, it is used to synchronize with high-speed CPU and to improve its performance.
Cache memory can only be accessed by CPU. It can be a reserved part of the main memory or a storage device outside the CPU. It holds the data and programs which are frequently used by the CPU. So, it makes sure that the data is instantly available for CPU whenever the CPU needs this data. In other words, if the CPU finds the required data or instructions in the cache memory, it doesn’t need to access the primary memory (RAM). Thus, by acting as a buffer between RAM and CPU, it speeds up the system performance.
Types of Cache Memory:
L1: It is the first level of cache memory, which is called Level 1 cache or L1 cache. In this type of cache memory, a small amount of memory is present inside the CPU itself. If a CPU has four cores (quad core CPU), then each core will have its own level 1 cache. As this memory is present in the CPU, it can work at the same speed as of the CPU. The size of this memory ranges from 2KB to 64 KB. The L1 cache further has two types of caches memory: Instruction cache, which stores instructions required by the CPU, and the data cache that stores the data required by the CPU.
L2: This cache is known as Level 2 cache or L2 cache. This level 2 cache may be inside the CPU or outside the CPU. All the cores of a CPU can have their own separate level 2 cache, or they can share one L2 cache among themselves. In case it’s outside the CPU, it’s connected with the CPU with a really high-speed bus. The memory size of this cache is within the range of 256 KB to the 512 KB. In terms of speed, they are slower than the L1 cache.
L3: It is known as Level 3 cache or L3 cache. This cache is not present in all the processors; some high-end processors may have this type of cache. This cache is used to enhance the performance of Level 1 and Level 2 cache. It is located outside the CPU and is shared by all the cores of a CPU. Its memory size ranges from 1 MB to eight MB. Although it’s slower than L1 and L2 cache, it’s faster than Random Access Memory (RAM).
How does cache memory work with CPU?
When CPU needs the data, first of all, it looks inside the L1 cache. If it does not find anything in L1, it looks inside the L2 cache. If again, it does not find the data in L2 cache, it looks into the L3 cache. If data is found in the cache memory, then it is known as a cache hit. On the contrary, if data is not found inside the cache, it is called a cache miss.
If data is not available in any of the cache memories, it looks inside the Random Access Memory (RAM). If RAM also does not have the data, then it will get that data from the Hard Disk Drive.
So, when a computer is started for the first time, or an application is opened for the first time, data is not available in cache memory or in RAM. In this case, the CPU gets the info directly from the hard disc drive. Thereafter, when you start your computer or open an application, CPU can get that data from cache memory or RAM.
Primary Memory is of two types:
1. RAM (Volatile Memory):
It is a volatile memory. It means it doesn’t store data or instructions permanently. When you turn on the pc the info and directions from the hard disc are stored in RAM.
CPU utilizes this data to perform the specified tasks. As soon as you pack up the pc the RAM loses all the info.
2. ROM (Non-volatile Memory):
It is a non-volatile memory. It means it doesn’t lose its data or programs that are written thereon at the time of manufacture. So it’s a permanent memory that contains all important data and directions needed to perform important tasks just like the boot process.
The secondary storage devices which are built into the computer or connected to the computer are known as a secondary memory of the computer. It is also referred to as external memory or external storage.
The secondary memory is accessed indirectly via input/output operations. It is non-volatile, so permanently stores the data even when the computer is turned off or until this data is overwritten or deleted. The CPU can’t directly access the secondary memory. First, the secondary memory data is transferred to primary memory then the CPU can access it.
Some of the secondary memory or storage devices are described below:
1) Hard Disk:
It is a rigid magnetic disk that’s wont to store data. It permanently stores data and is found within a drive unit.
The hard disc is additionally referred to as a tough drive. It is a rigid magnetic disk that stores data permanently, because it may be a nonvolatile storage device. The hard disc is found within a drive unit on the computer’s motherboard and comprises one or more platters packed in an air-sealed casing. The data is written on the platters by moving an electromagnet over the platters as they spin. The data stored on a computer’s hard drive generally includes the operating system, installed software, and the user’s files and programs, including pictures, music, videos, text documents, etc.
Components of Hard Drive:
The main components of a hard drive include a head actuator, read/write actuator arm, read/write head, platter, and spindle. A circuit board, which is called the disk controller or interface board, is present on the back of a hard drive. It allows the disk drive to speak with the pc.
2) Solid-state Drive:
SSD (Solid State Drive) is also a non-volatile storage medium that is used to hold and access data. Unlike a tough drive, it doesn’t have moving components, so it offers many advantages over SSD, like faster time interval, noiseless operation, less power consumption, and more.
As the cost of SSD has come down, it’s become a perfect replacement for a typical disk drive in desktop and laptop computers. It is also suitable for notebooks, and tablets that don’t require lots of storage.
3) PePen drive: it is a compact secondary storage device. It is also known as a USB flash drive, thumb drive or a jump drive. It connects to a computer via a USB port. It is commonly used to store and transfer data between computers. For example, you can write a report using a computer and then copy or transfer it in the pen drive. Later, you’ll connect this pen drive to a computer to ascertain or edit your report. You can also store your important documents and pictures, music, videos within the pen drive and keep it at a secure place.
Pen drive does not have movable parts; it comprises an integrated circuit memory chip that stores the data. This chip is housed inside a plastic or aluminum casing. The data storage capacity of the pen drive generally ranges from 2 GB to 128 GB. Furthermore, it is a plug and play device as you don’t need additional drives, software, or hardware to use it.
4) SD Card: n drive:
SD Card stands for Secure Digital Card. It is most often used in portable and mobile devices such as smartphones and digital cameras. You can remove it from your device and see the things stored in it using a computer with a card reader.
There are many memory chips inside the SD card that store the data; it does not have moving parts. SD cards are not created equal, so they may differ from each other in terms of speed, physical sizes, and capacity. For example, standard SD cards, mini SD cards, and micro SD cards.
5) Compact Disk (CD):
Compact Disk is a portable secondary storage device in the shape of a round medium disk. It is made of polycarbonate plastic. The concept of CD was co-developed by Philips and Sony in 1982. The first CD was created on 17 August 1982 at the workshop of Philips in Germany.
In the beginning, it had been used for storing and playing sound recordings, later it had been used for various purposes like for storing documents, audio files, videos, and other data like software programs in a CD.
Physical characteristics of a CD/ Structure of CD:
A standard CD is around 5 inches in diameter and 0.05 inches in thickness. It is made of a clear polycarbonate plastic substrate, a reflective metallic layer, and a clear coating of acrylic plastic.
These thin circular layers are attached one on top of another as described below:
• A polycarbonate disc layer at the bottom has the data encoded by creating lands and pits.
• The polycarbonate disc layer is coated with a thin aluminum layer that reflects the laser.
• The reflective aluminum layer is coated with a lacquer layer to prevent oxidation in order to protect the below layers. It is generally spin coated directly on the top of the reflective layer.
• The label print is applied on the lacquer layer, or artwork is screen printed on the top of the disc on the lacquer layer by offset printing or screen printing.
How Does a CD Work?
The data or information is stored or recorded or encoded in CD digitally employing a beam that etches tiny indentations or bumps on its surface. The bump is called a pit, which represents the number 0. Space, where the bump is not created, is called land, and it represents the number 1. Thus, the data is encoded into a compact disc by creating pits (0) and lands (1). The CD players use laser technology to read the optically recorded data.
DVD is brief for digital versatile disc or digital video disc. It is a type of optical media used for storing optical data. Although it has the same size as a CD, its storage capacity is much more than a CD. So, it is widely used for storing and viewing movies and to distribute software programs as they are too large to fit on a CD. DVD was co-developed by Sony, Panasonic, Philips, and Toshiba in 1995.
Types of DVDs:
DVDs can be divided into three main categories which are as follows:
DVD-ROM (Read-Only): These types of DVDs come with media already recorded on them, such as movie DVDs. As the name suggests, data on these discs can’t be erased or added, so these discs are referred to as a read-only or non-writable DVD.
DVD-R (Writable): It allows you to record or write information to the DVD. However, you can write information only once as it becomes a read-only DVD once it is full.
DVD-RW (Rewritable or Erasable): This type of discs can be erased, written, or recorded multiple times.
Memory units are wont to measure and represent data. Some of the commonly used memory units are:
The computer memory units start from bit. A bit is that the smallest memory unit to live data stored in main memory and storage devices. A bit can have just one binary value out of 0 and 1.
It is the fundamental unit to measure data. It contains 8 bits or is adequate to 8 bits. Thus a byte can represent 2*8 or 256 values.
A kilobyte contains 1024 bytes.
A megabyte contains 1024 kilobytes.
A gigabyte contains 1024 megabyte.
A terabyte contains 1024 gigabytes.
Caching in Hibernate:
Hibernate caching improves the performance of the appliance by pooling the thing within the cache. It is useful once we need to fetch an equivalent data multiple times.
There are mainly two types of caching:
• First Level Cache
• Second Level Cache
First Level Cache:
Session object holds the first level cache data. It is enabled by default. The first level cache data won’t be available to entire application. An application can use many session object.
Second Level Cache:
Session Factory object holds the second level cache data. The data stored within the second level cache are going to be available to entire application. But we need to enable it explicitly.
• EH (Easy Hibernate) Cache
• Swarm Cache
• OS Cache
• JBoss Cache
Each implementation provides different cache usage functionality.
There are four ways to use second level cache.
1. Read-only: caching will work for read only operation.
2. Non strict-read-write: caching will work for read and write but one at a time.
3. Read-write: caching will work for read and write, can be used simultaneously.
4. Transactional: caching will work for transaction.
To understand the second level cache through example, we’d like to follow the subsequent steps:
• Create the persistent class using Maven.
• Add project information and configuration in pom.xml file.
• Create the Configuration file.
• Create the class that retrieves the persistent object.