原创 CAS單點登錄學習筆記五之CAS服務器數據源

CAS服務器數據源的配置真實驗證,在前面的示例中,使用的用戶名和密碼都是自己捏造出來的,而在實際的應用系統中,都需要從應用數據庫中讀取用戶名和密碼,下面就進行自定義CAS服務器的數據源的實驗   1、創建數據庫表結構user_info

原创 B2C電子商務系統研發——概述篇

# 前言      計劃接下來一段日子寫若干篇關於整個B2C電子商務系統研發流程博文, 包括前臺、後臺各個主要功能模塊的需求分析、概要設計、詳細設計和一些 僞編碼編寫。計劃2~3天寫一篇,對於一些複雜的模塊會通過多篇博文來完成。 # 系

原创 [spring]事務傳播級別隔離級別以及高併發下的應用經驗

事務是邏輯處理原子性的保證手段,通過使用事務控制,可以極大的避免出現邏輯處理失敗導致的髒數據等問題。事務最重要的兩個特性,是事務的傳播級別和數據隔離級別。傳播級別定義的是事務的控制範圍,事務隔離級別定義的是事務在數據庫讀寫方面的控制範

原创 MySQL數據庫優化總結之備忘

  對於一個以數據爲中心的應用,數據庫的好壞直接影響到程序的性能,因此數據庫性能至關重要。一般來說,要保證數據庫的效率,要做好以下四個方面的工作:數據庫設計、sql語句優化、數據庫參數配置、恰當的硬件資源和操作系統,這個順序也表現了這四個

原创 java 日期處理工具類 DateUtil 備忘筆記

  package com.util; import java.text.ParseException; import java.text.ParsePosition; import java.text.SimpleDateFormat

原创 java線程之synchronized關鍵字

       synchronized 關鍵字,代表這個方法加鎖,相當於不管哪一個線程A每次運行到這個法時,都要檢查有沒有其它正在用這個方法的線程B(或者C D等),有的話要等正在使用這個方法的線程B(或者C D)運行完這個方法後再運行

原创 小談選用 ibatis 和 hibernate 的區別

Hibernate 簡介 Hibernate 是一個開放源代碼的對象關係映射框架,它對JDBC進行了非常輕量級的對象封裝,使得Java程序員可以隨心所欲的使用對象編程思維來操作數據庫。Hibernate可以應用在任何使用JDBC的場景

原创 電子商務功夫之葵花寶典-定位

有人的地方就會有江湖,有江湖的地方就必然會有功夫,電子商務就猶如十八般武藝,有人運用嫺熟自如當屬一代宗師,有人初入電商門還在蹲馬步,有人內 功深厚,有人出劍如風,電光石火。葵花寶典威力堪稱無與倫比,講究快、準、狠、陰。東方不敗只修煉了其

原创 設計模式之單例(Singleton)模式

如果要保證系統在一個類最多隻能存在一個實例時,我們就需要單例模式。這種情況在應用中經常碰到,例如緩存池、數據庫連接池、線程池、一些應用服務實例等等。在多線程環境中。爲了保證實例的唯一性其實並不簡單。 1、最簡單的單例模式 爲了限制該

原创 B2C電子商務系統研發——商品SKU分析和設計(二)

  上文談到5種商品SKU設計模式,本文將做些細化說明。   筆者研究過不少電子商務平臺軟件,關於SKU的設計各有不同,之所以有這樣的區別,是因爲面向不同規模的電子商務網站, 存在產品分類複雜度,產品數量級的差異。一種設計方式對於百貨式的

原创 B2C電子商務系統研發——商品SKU分析和設計(一)

  一、SKU及相關概念定義 在設計商品SKU之前,首先讓我們熟悉一下SKU和相關的一些概念。# 什麼是SKU:     SKU=Stock Keeping Unit(庫存量單位)     同一型號的商品,或者說是同一個產品項目(商品條形

原创 JVM體系結構—運行時數據區

JVM運行時數據區: 包括類裝載子系統、執行引擎、本地方法接口、運行時數據區。 運行數據區包括:方法區、Java堆、Java虛擬機棧、PC寄存器、運行時常量池、本地方法棧。 方法區 方法區是由所有JVM線程共享的一個公用存儲區。該存儲

原创 js 之 Number 工具類

  //只能輸入整數 function onlyInteger(obj) { var curVal = obj.value + ''; if(curVal.length > 1) { var filterValue = obj.v

原创 java 文件工具類 FileUtil 備忘筆記

package com.woyo.utils; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import

原创 js 之 String工具類

  String.prototype.replaceAll = function(AFindText, ARepText){ raRegExp = new RegExp(AFindText, "g"); return this.rep