Time of Update: 2015-11-02
標籤:java代碼加鎖publicstatic synchronized int generate(StringtableName){Stringsql = "select value from t_table_id where table_name=?";Connectionconn = null;PreparedStatementpstmt = null;ResultSetrs = null;intvalue = 0;try{conn=
Time of Update: 2015-11-03
使用java對sql server進行增刪改查,javasql 1 import java.sql.Connection; 2 import java.sql.DriverManager; 3 import java.sql.PreparedStatement; 4 import java.sql.ResultSet; 5 import java.sql.SQLException; 6 /** 7 * TestDemo.java 8 * 使用java對sql server進行增刪改查 9
Time of Update: 2015-11-03
Java 並發包中的讀寫鎖及其實現分析1. 前言在Java並發包中常用的鎖如:ReentrantLock),基本上都是獨佔鎖定,這些鎖在同一時刻只允許一個線程進行訪問,而讀寫鎖在同一時 刻可以允許多個讀線程訪問,但是在寫線程訪問時,所有的讀線程和其他寫線程均被阻塞。讀寫鎖維護了一對鎖,一個讀鎖和一個寫鎖,通過分離讀鎖和寫鎖,使得
Time of Update: 2015-11-03
為項目配置logback日誌,配置logback日誌為了保證系統在上線後亦能查看啟動並執行日誌,故為系統加入日誌。1:系統引入jar包slf4j-api.jarlogback-classic.jarlogback-core.jarlogback-access.jar2:在系統src下,添加logback.xml檔案3:為java類添加日誌在class類開頭,使用指定類初始化日誌對象,在日誌輸出的時候,可以列印出日誌資訊所在類。Logger
Time of Update: 2015-11-03
Play Framework 完整實現一個APP(十四),frameworkapp添加測試 ApplicationTest.java@Testpublic void testAdminSecurity() { Response response = GET("/admin"); assertStatus(302, response); assertHeaderEquals("Location", "http://localhost/login", response);
Time of Update: 2015-11-03
MyBatis入門(七)---逆向工程,mybatis逆向工程一、逆向工程1.1、概述mybatis需要程式號自己編寫的SQL。mybatis官方提供了逆向工程,可以針對單表自動產生mybatis執行所需要的代碼(mapper,java,maper.xml,po...)一般都是由資料庫到java代碼, 的產生過程二、匯入jar包2.1、mybatis-generator 三、配置xml3.1、generatorConfig.xml <?xml
Time of Update: 2015-11-03
非阻塞演算法-棧,阻塞演算法-棧上一節我們以計數器作為例子描述了非阻塞演算法,這一節我們拿一個稍微複雜一點的資料結構棧來講述非阻塞演算法的實踐應用。1.單線程棧public class SingleThreadStack implements Stack{ private Node head; public Node pop() { if (head == null) { return null; } Node h =
Time of Update: 2015-11-03
譯文:理解Java中的弱引用不久之前,我面試了一些求職Java進階開發工程師的應聘者。我常常會面試他們說,“你能給我介紹一些Java中得弱引用嗎?”,如果面試者這樣說,“嗯,是不是記憶體回收有關的?”,我就會基本滿意了,我並不期待回答是一篇詰究本末的論文描述。然而事與願違,我很吃驚的發現,在將近20多個有著平均5年開發經驗和高學曆背景的應聘者中,居然只有兩個人知道弱引用的存在,但是在這兩個人之中
Time of Update: 2015-11-03
從頭認識java-5.3 public private protected這一章節我們來討論一下public
Time of Update: 2015-11-03
Java 泛型中super T和extends T的區別經常發現有List< super T>、Set<extends T>的聲明,是什麼意思呢?< super T>表示包括T在內的任何T的父類,< extends
Time of Update: 2015-11-03
Java記錄 -50-
Time of Update: 2015-11-03
設計模式 -- 原廠模式(Factory)原廠模式先來看看這樣一個情形:假設我們在做一款大型多人線上網遊,裡面的怪物有成百上千種,這時怪物類我們很容易想到用多態去實現。即抽象出怪物共有屬性,不同怪物類都繼承這個基類。好,如果怪物類就這麼封裝,那麼在需要怪物的地方都要new XX怪物類,那麼會有幾個這樣的問題,1,客戶程式員必須知道實際子類的名稱(當系統複雜後,命名將是一個很不好處理的問題,為了
Time of Update: 2015-11-03
從頭認識java-6.3 組合使用彙總和繼承這一章節我們來討論一些組合使用彙總和繼承之前已經講過想過的基礎知識以及注意點,現在我們直接上代碼:1.例子 package com.ray.ch05;public class PlaceSetting extends Custom {private DinnerPlate dinnerPlate;private Spoon spoon;private Fork fork;private Knife knife;public
Time of Update: 2015-11-03
C++、C#、java演算法學習日記02----選擇排序(SelectSort)直接選擇排序屬於排序演算法的一種,他的排序速度要比冒泡排序快一些,算是對冒泡排序的一種改進。基本思想:直接排序的思想類似於我們實際生活中的排序行為,比如:對一串數字 63,4,24,1,3,15從小到大排序,我們會首先找到最大的值與最後一位交換位置,然後再從餘下的數中找到最大的值與倒數第二位交換位置,這樣每次都從餘下的數中找到最大的放到末尾,當餘下一個數時排序完成C++執行個體:#includeusing
Time of Update: 2015-11-02
Android 資料存放區之 FileInputStream 工具類,android資料庫工具類 安卓的三種本地的典型資料存放區方式import android.content.Context;import android.util.Log;import java.io.FileInputStream;import java.io.FileOutputStream;/** * Created by zhizhao on 2015/11/1 0001 in 16:00. */public
Time of Update: 2015-11-03
Java記錄 -49- LinkedList源碼剖析public class LinkedList<E> extends AbstractSequentialList<E> implements List<E>, Deque<E>, Cloneable, SerializableList 介面的連結清單實現。實現所有可選的列表操作,並且允許所有元素(包括 null)。除了實現 List 介面外,LinkedList 類還為在列表的開頭及結尾
Time of Update: 2015-11-03
Java記錄 -52- 整體看Java Collection類集java.util包中包含了一些在java 2中新增加的最令人興奮的增強功能:類集。除了類集,java.util
Time of Update: 2015-11-03
從頭認識java-6.4
Time of Update: 2015-11-02
Android測試基礎,android測試android測試架構(Android Testing Framework)是開發環境的一部分,它提供了架構和強大的工具協助你從單元到架構測試應用的各個方面。關鍵特性:基於 JUnit,可直接使用JUnit測試一些與Android AP不相關的類,或使用 Android的JUint 擴充來測試 Android 組件。如果你剛開始接觸 Android 測試,可以先從
Time of Update: 2015-11-02
一個數組中是否包含某個值,數組包含1.檢查數組中是否包含特定值的四種不同方法1)使用List:public static boolean useList(String[] arr, String targetValue) { return Arrays.asList(arr).contains(targetValue);}2)使用Set:public static boolean useSet(String[] arr, String targetValue) {