The WeakReference class, monitoring memory leak and garbage collection in a Java application

Image
 Below is a Stack implementation that uses an internal resizeable array structure.  public class MyStack< T > implements Stack< T > { private static final int CAPACITY = 100 ; private Object[] array ; private int pos = 0 ; public MyStack () { this . array = new Object[ CAPACITY ] ; } @Override public void push ( T item) { if ( pos >= array . length / 2 ) { Object[] newArray = new Object[ pos * 2 ] ; System. arraycopy ( array , 0 , newArray , 0 , array . length ) ; array = newArray ; } array [ pos ++] = item ; } @Override public T pop () { if (isEmpty()) { throw new RuntimeException( "empty stack" ) ; } @SuppressWarnings ( "unchecked" ) T item = ( T ) array [ pos - 1 ] ; pos -= 1 ; return item ; } @Override @SuppressWarnings ( "unchecked" ) public T peek...

Kaynak Kod Versiyonlama Sistemleri ve Subversion

Üzerinde çalıştığımız projenin kaynak kodlarını ve kodda yapılan her türlü değişiklikleri depolayan yazılım sistemlerine "kaynak kod versiyonlama sistemleri" diyoruz. Bu alandaki ürünlere baktığımızda açık kaynak kodlu projelerden CVS ve Subversion, ticari ürünlerden ise Clearcase ve Visual SourceSafe sayılabilir. Versiyonlama sistemi kullanımı özellikle birden fazla geliştiricinin çalıştığı projelerde elzemdir. Maalesef ülkemizde halen versiyonlama sistemi kullanmayan firmalar olduğuna şahit olmaktayız. Fakat genellikle yaygın olarak kullanılmaktalar. Hatta bazı firmalar ilanlarında, bir geliştiricilerde aradıkları özelliklere şunu ekliyorlar:
- Düzenli check-out / check-in yapabilecek...

Visual Studio ile tümleşik çalışan Visual SourceSafe, kullanımı çok kolay bir yazılım. Biz, Java tarafındaki Subversion sistemine bir göz atalım:

Eğer Eclipse geliştirme ortamını kullanıyorsak, Subversion için bir eklenti mevcut. "Subclipse" adındaki bu eklentiyi Eclipse'in menülerinden Help->Software seçeneğini kullanarak indirebiliriz.
Subversion ile çalışırken ilk yapmamız gereken şey bir depo (repository) oluşturmak. Bunu komut satırından aşağıdaki şekilde yapabiliriz:

svnadmin create d:\svn_repository\my_new_repository

Böylece "my_new_repository" isminde bir depo oluşturmuş olduk. Eclipse ortamında oluşturduğumuz bir projeyi bu depoya nasıl ekleyeceğiz? Bunun için Eclipse perspektiflerinden "SVN Repository Exploring" perspektifini açmalıyız. (Window->Open Perspective)
Burada farenin sağ tuşuna tıklayarak "New->Repository Location" seçilmeli.
Url kısmına bizim örneğimizde aşağıdaki yer ismini yazmalıyız:

file://localhost/svn_repository/my_new_repository

Depo yaratıldıktan sonra "Package Explorer" görüntüsünden (view), depoya eklemek istediğimiz projeye sağ tıklayarak: Team -> Share Project seçilir.
Artık Subversion sistemini Eclipse sayesinde görsel olarak kullanabiliriz.

Proje geliştirirken yapacağımız tipik işlemleri "Team" menüsünden gerçekleştirebiliriz.

Comments

Popular posts from this blog

Trie Data Structure and Finding Patterns in a Collection of Words

My Crappy Looking Solution to "Binary Tree Common Ancestor" Problem

A Graph Application in Java: Using WordNet to Find Outcast Words