22 октября, 2008

Случается в жизни Java программиста так, что требуется клонировать объект, который не является Cloneable и соответственно вызвать Object.clone() не представляется возможным.

Ниже привожу простой способ клонирования объекта.



public YourObject cloneObject(YourObject sourceObj) {

        try {

            ByteArrayOutputStream baostream
                = new ByteArrayOutputStream();

            ObjectOutputStream oostream
                = new ObjectOutputStream(baostream);

            oostream.writeObject(sourceObj);

            oostream.flush();

            oostream.close();

            ByteArrayInputStream baistream
                = new ByteArrayInputStream(baostream.toByteArray());

            ObjectInputStream oistream
                = new ObjectInputStream(baistream);

            YourObject copy = (YourObject)oistream.readObject();

            oistream.close();

            return copy;

        } catch(Exception e) {
        }
    }
22 октября, 2008

Последнее время мне стали часто писать с просьбами выложить исходники к предыдущим статьям о разработке веб-приложений на Spring. Довольно долго мои руки не доходили до этого занятия и вот все таки дошли. Выкладываю готовый скелет, который можно использовать для начала разработки приложения. Поместил его в отдельный раздел на сайте и планирую постоянно поддерживать.

Скачать можно здесь: http://yasinetskiy.com/downloads

27 февраля, 2008

С сегодняшенго дня открывается новая категория в блоге - Code Snippets.
Представляю вашему вниманию первый из них.


/**
 * Snippet #1
 *
 * Nthreads = Nproc*Ucpu*(W/C + 1), Nproc - number of processors,
 * Ucpu - CPU utilization, W/C - ratio of wait time to compute time (1/1)
 */
int threadsNum = new Double(Math.ceil(Runtime.getRuntime()
.availableProcessors()*0.5 + 2)).intValue();