10 Java Tips – Series I

Java Tips

10 Java Tips – Bilirsiniz,,en,Java-da yaddaş idarə edilməsi,,en,İnterfeys məqsədə xidmət etmək üçün təqdim olunmuşdur və Objective C-dən əldə edilmişdir,,en,Java dillərindən bir çox mirasın atılmasının səbəbləri əsasən, bu cürdür,,en,Sadə bir dil olaraq,,en,Java yaradıcıları ən çox inkişaf edənlərin geniş təlim olmadan istifadə edə biləcəyi bir dil istədi,,en,C 'nın lazımsız mürəkkəbliyini daşımadan,,en,Dizaynerlərdə,,en,fikir,,en,çoxlu miraslıq daha çox problemə və qarışıqlığa səbəb olur,,en,Beləliklə, onlar dildən bir çox miras kəsdilər,,en,operatorun yüklənməsini kəsdikləri kimi,,en,Dizaynerlər,,en,geniş C təcrübəsi onlara birdən çox mirasın yalnız baş ağrısına dəyər olmadığını öyrətdi,,en,Java dizaynerləri interfeysdən istifadə etməklə birdən çox interfeysə keçməyə icazə vermişdi,,en

How memory is managed in java?

In Java manual memory allocation and de-allocation has been eliminated. Memory in Java is automatically garbage collected so you never have to worry about memory corruption. Java memory is managed by the memory model. The Java Memory model explains synchronization techniques to make sure data corruption does not take place. Synchronization can also help to avoid deadlocks between threads and run programs smoothly. The following diagram gives an overview on java memory management.

Memory management in Java

təsvir 1: Memory management in Java

Are multiple inheritances possible in java?

No, multiple inheritance is not possible in java. Interface has been introduced to serve the purpose and it has been derived from Objective C.

The reasons for omitting multiple inheritances from the Java language mostly stem from the “simple, object oriented and familiar” goal. As a simple language, Java’s creators wanted a language that most developers could grasp without extensive training. To that end, they worked to make the language as similar to C as possible (familiar) without carrying over C ’s unnecessary complexity (simple).

In the designers’ opinion, multiple inheritance causes more problems and confusion than it solves. So they cut multiple inheritances from the language (just as they cut operator overloading). The designers’ extensive C experience taught them that multiple inheritances just weren’t worth the headache.

Instead, Java’s designers chose to allow multiple interface inheritance through the use of interfaces, Objective C protokollarından götürülən bir fikirdir,,en,Birden çox interfeys mirası bir obyektin bir çox fərqli metod imzasını miras aldığı obyektin miras alınmış üsulları,,en,Java'nın on bir dizayn məqsədi nədir,,en,Aşağıda java proqramlaşdırma dilinin on bir dizayn məqsədi var,,en,Java dizaynerləri bu hədəfləri nəzərə alaraq vəzifəni yerinə yetirdilər,,en,Niyyət obyekti,,en,Şərhlər,,en,Distributed,,en,Sağlamdır,,en,Multisreaded,,en,Təhlükəsiz,,en,Dinamik,,en,Memarlıq Neytral,,en,Niyə java dağıtılmış deyilir?,,en,Java, HTTP və FTP kimi TCP / IP protokollərini idarə etmək üçün geniş bir rabitə kitabxanasına malikdir,,en,Beləliklə, Java proqramları internet vasitəsilə URL-lər vasitəsilə obyektlər aça və onlara daxil ola bilər,,en,Java istifadə edərək şəbəkə proqramlaşdırma güclü və istifadə üçün asandır,,en,Belə ki, java dağıtılır deyilir,,en. Multiple interface inheritance allows an object to inherit many different method signatures with the caveat that the inheriting object must implement those inherited methods.







What are the eleven design goals of java?

Following are the eleven design goals of java programming language. Java designers have accomplished the task by keeping these goals in mind.

  • Simple
  • Portable
  • Object Oriented
  • Interpreted
  • Distributed
  • High Performance
  • Robust
  • Multithreaded
  • Secure
  • Dynamic
  • Architecture Neutral

Why java is called distributed?

Java has an extensive library of routines for handling TCP/IP protocols like HTTP and FTP. So Java applications can open and access objects across the internet via URLs. The network programming using java is strong and easy to use. So java is called distributed.

Java dağılan təbiəti həqiqətən dinamik sinif yükləmə qabiliyyətləri ilə birləşdirildikdə işıq saçır,,en,bu xüsusiyyətlər bir Java tərcüməçisinin Internet üzərindən kodu yükləməsini və istifadəsini mümkün edir,,en,Veb brauzer bir Java proqramını yüklədiyində və işlədiyində belə olur,,en,Ssenarilər bundan daha çətin ola bilər,,en,Java ilə yazılmış multimediya sözcük prosessorunu düşünün,,en,Bu proqramdan əvvəl heç qarşılaşmayan bəzi məlumatları göstərməyi tələb etdikdə,,en,dinamik olaraq məlumatları təhlil edə biləcək şəbəkədən bir sinif yükləyə bilər,,en,sonra dinamik olaraq başqa bir sinif yükləyin,,en,Yəqin ki, bir Java,,en,bir mürəkkəb sənəd daxilində məlumatları göstərə bilər,,en,Belə bir proqram dinamik şəkildə inkişaf etdirmək və istifadəçinin ehtiyaclarına uyğunlaşmaq üçün şəbəkədə paylanmış resurslardan istifadə edir,,en. Together, these features make it possible for a Java interpreter to download and run code from across the Internet. This is what happens when a Web browser downloads and runs a Java applet, məsələn. Scenarios can be more complicated than this, however. Imagine a multi-media word processor written in Java. When this program is asked to display some type of data that it has never encountered before, it might dynamically download a class from the network that can parse the data, and then dynamically download another class (probably a Java “bean”) that can display the data within a compound document. A program like this uses distributed resources on the network to dynamically grow and adapt to the needs of its user.

Niyə java memarlıq neytral deyilir?,,en,Java kompilyatoru kompüter arxitekturasından asılı olmayan bir bytecode təlimatını yaradır,,en,Bytecode hər hansı bir maşın üzərində şərh etmək və asanlıqla sürətlə doğma maşın koduna tərcümə etmək üçün nəzərdə tutulmuşdur,,en,Aşağıdakı diaqramda onun necə işlədiyini göstərir,,en,Java arxitekturası neytral,,en,Bir appleti çalıştırmak üçün java effektiv brauzer tələb olunur,,en,Applet veb səhifəsində işləyən java proqramdır,,en,Beləliklə, brauzeriniz bytecode şərh etmək və onu işə salma imkanına malik olmalıdır,,en,Buna görə java effektiv brauzer bir web səhifəsinə yerləşdirilən bir tətbiq etmək üçün tələb olunur,,en,Əslində brauzer bayt kodunu şərh etməyə və çıxışa kömək edən JVM inbuilt ehtiva edir,,en?

The Java compiler generates a bytecode instruction which is independent of computer architecture. The bytecode is designed to be both easy to interpret on any machine and easily translated into native machine code on the fly. The following diagram shows the details how it works.

Java architecture neutral

təsvir 2: Java architecture neutral

Why java enabled browser is needed to run an applet?

Applet is a java program that works on a web page. So the browser should have the capability to interpret the bytecode and make it work. That is why java enabled browser is required to run an applet embedded in a web page. Actually the browser contains the JVM inbuilt which helps to interpret the byte code and show the output.

'Java ilə güclü bir şəkildə yazılmış bir dil',,en,Java güclü yazılmışdır ki, java hər dəyişən bir elan növü olmalıdır,,en,Java'da səkkiz ibtidai növ var,,en,Onlardan dördü tam ədəddir, ikisi isə üzən nöqtə sayılarıdır,,en,Biri xarakterli xarakterdir,,en,Unicode kodlamasında simvollar üçün istifadə olunur və bir həqiqət dəyərləri üçün Boolean növüdür,,en,Necə I / O java idarə olunur,,en,Java I / O giriş və çıxış axınlarını təmsil edir,,en,Akışlar fayl və ya şəbəkə və ya konsol kimi cihazlardan oxumaq və ya yazmaq üçün istifadə olunur,,en,Java.io paketi, axınları manipulyasiya etmək üçün I / O dərsləri təqdim edir,,en,Bu paket iki növ axını dəstəkləyir,,en,ikili məlumatları və karakter məlumatlarını idarə edən xarakterli axınları idarə edən ikili axınlar,,en?

Java is strongly typed means that every variable in java must have a declared type. There are eight primitive types in Java. Four of them are integer types and two are floating-point number types. One is the character type char, used for characters in the Unicode encoding and one is a Boolean type for truth values.







How I/O is managed in java?

In java I/O represents Input and Output streams. Streams are used to read from or write to devices such as file or network or console. Java.io package provides I/O classes to manipulate streams. This package supports two types of streams – binary streams which handle binary data and character streams which handle character data. InputStream və OutputStream ikili axınların idarə edilməsi üçün yüksək səviyyəli interfeyslərdir,,en,Reader və Writer xarakter axınlarını manipulyasiya etmək üçün yüksək səviyyəli interfeyslərdir,,en,Aşağıdakı rəqəm bu bölmədə əks olunmuş müxtəlif IO dərslərinin əlaqələrini göstərir,,en,Buffered stream necə java performansını yaxşılaşdırır,,en,Bir axının default davranışı bir anda bir bayt oxumaq və ya yazmaqdır,,en,Bu, kasıb I / O performansına səbəb olur, çünki böyük miqdarda məlumatlarla məşğul olduqda baytla oxumaq / yazmaq üçün çox vaxt tələb edir,,en,Java I / O, byte default behaviors tərəfindən bu baytın üstündən keçmək üçün Buffered axını təmin edir,,en,Buffered axını istifadə etmək lazımdır,,en,BufferedInputStream və BufferedOutputStream,,en,məlumatları tamponlaşdırmaq və daha yaxşı performans verən oxumaq / yazmaq üçün,,en. Reader and Writer are high level interfaces for manipulating character streams.

The following figure shows the relationship of different IO classes addressed in this section

Different I/O classes

təsvir 3: Different I/O classes

How does buffered stream improve performance in java?

The default behavior of a stream is to read or write one byte at a time. This causes poor I/O performance because it takes lot of time to read/write byte by byte when dealing with large amounts of data. Java I/O provides Buffered streams to override these byte by byte default behaviors. You need to use Buffered streams (BufferedInputStream and BufferedOutputStream) to buffer the data and then read/write which gives good performance. Metodun əvvəldən davranışını anlamaq və bunun üzərinə hərəkət etməlisiniz,,en,Aşağıdakı rəqəm buferli axınların məlumat axını necə yönləndirdiyini göstərir,,en,Buffered axınları,,en,Davamlı davranışın və fayl oxuması üçün tamponlama əməliyyatını necə ölçürsünüz?,,en,Aşağıdakı kod pasajı, oxumaq və yazmaq üçün oxşar faylları alacaq, standart oxu və buffered oxu istifadə edir,,en,Və onda hər ikisi tərəfindən götürülən vaxt göstərilir,,en,Kodları test etmək üçün faylları yerli fayl sistemində aşağıda göstərildiyi kimi saxlayın,,en,Fayl oxuması üçün buffering,,en,paket com.performance.io,,en,ictimai sinif IOTest,,en,IOTest io = yeni IOTest,,en,uzun startTime = System.currentTimeMillis,,en,io.readWrite,,en,temp / test-origin.html,,en,temp / test-destination.html,,en,uzun endTime = System.currentTimeMillis,,en,Davamlı davranışı istifadə edərək oxumaq və yazmaq üçün vaxt,,en,endTime,,en,startTime,,en,milli saniyə,,en.

The following figure shows how buffered streams divert the data flow.

Buffered streams

təsvir 4: Buffered streams

How do you measure performance of default behavior and buffering for file reading?

The following code snippet will take similar files to read and write using default reading and buffered reading. And then it will display the time taken by both of them. For testing the code keep the files in local file system as shown below.

Listing 1: Buffering for file reading

package com.performance.io;

import java.io.*;

public class IOTest {

ictimai statik void main(Sim[] args){

IOTest io = new IOTest();

çalışmaq{

long startTime = System.currentTimeMillis();

io.readWrite(“c:/temp/test-origin.html”,”c:/temp/test-destination.html”);

long endTime = System.currentTimeMillis();

System.out.println(“Time taken for reading and writing using default behaviour : ”

+ (endTime – startTime) + ” milli seconds” );

uzun startTime1 = System.currentTimeMillis,,en,io.readWriteBuffer,,en,uzun endTime1 = System.currentTimeMillis,,en,Buffered axınları istifadə edərək oxumaq və yazmaq üçün vaxt,,en,endTime1,,en,startTime1,,nl,ictimai statik boşluq readWrite,,en,String fileFrom,,fy,String fileTo,,en,InputStream null = null,,en,OutputStream həyata = null,,en,in = yeni FileInputStream,,en,fileFrom,,fy,out = yeni FileOutputStream,,en,fileTo,,el,int bytedata = in.read,,en,byte data ==,,sv,byte data,,sv,nəhayət,,en,in.close,,en,ictimai statik boşluq readWriteBuffer,,en,InputStream inBuffer = null,,en,OutputStream outBuffer = null,,en,InputStream = yeni FileInputStream,,en,inBuffer = yeni BufferedInputStream,,en,OutputStream həyata = yeni FileOutputStream,,en,outBuffer = yeni BufferedOutputStream,,en,int bytedata = inBuffer.read,,en,inBuffer,,en,inBuffer.close,,en,outBuffer,,en,outBuffer.close,,en();

io.readWriteBuffer(“c:/temp/test-origin.html”,”c:/temp/test-destination.html”);

long endTime1 = System.currentTimeMillis();

System.out.println(“Time taken for reading and writing using buffered streams : ”

+ (endTime1 – startTime1) + ” milli seconds” );

}tutmaq(IOException e){ e.printStackTrace();}

}

public static void readWrite(String fileFrom, String fileTo) IOException salır{

InputStream in = null;

OutputStream out = null;

çalışmaq{

in = new FileInputStream(fileFrom);

out = new FileOutputStream(fileTo);

isə(doğru){

int bytedata = in.read();

əgər(bytedata == -1)

break;

out.write(bytedata);

}

}

tutmaq(Exception e)

{

e.printStackTrace();

}

finally{

əgər(in != null)

in.close();

əgər(həyata != null)

out.close();

}

}

public static void readWriteBuffer(String fileFrom, String fileTo) IOException salır{

InputStream inBuffer = null;

OutputStream outBuffer = null;

çalışmaq{

InputStream in = new FileInputStream(fileFrom);

inBuffer = new BufferedInputStream(in);

OutputStream out = new FileOutputStream(fileTo);

outBuffer = new BufferedOutputStream(həyata);

isə(doğru){

int bytedata = inBuffer.read();

əgər(bytedata == -1)

break;

out.write(bytedata);

}

}

tutmaq(Exception e)

{

e.printStackTrace();

}

finally{

əgər(inBuffer != null)

inBuffer.close();

əgər(outBuffer != null)

outBuffer.close();

}

}

)







============================================= ============================================== Buy best TechAlpine Books on Amazon
============================================== ---------------------------------------------------------------- electrician ct chestnutelectric
error

Enjoy this blog? Please spread the word :)

Follow by Email
LinkedIn
LinkedIn
Share