原创 java中ThreadLoacl解析

一:ThreadLocal變量的解釋 ThreadLocal類型是一個線程變量,其並不是用來像lock/sychronized一樣解決java多線程中變量共享的安全性問題的,並且使用ThreadLocal類型變量並不一定能保證共享對象上

原创 Josephus環的問題

問題描述: 孩提時的你是否玩過“燙手山芋”遊戲:一羣小孩圍成一圈,有一個剛出鍋的山芋在他們之間傳遞。其中一個孩子負責數數,每數一次,拿着山芋的孩子就把山芋轉交給右邊的鄰居。一旦數到某個特定的數,拿着山芋的孩子就必須退出,然後重新

原创 java雙重檢測鎖

一,java併發編程中對於競態條件的解釋 由於對於執行片段沒有正確的同步,程序片段不具有應有的原子性。在不恰當的併發執行時序中出現的不正確的結果,進一步可以解釋爲:程序的計算正確定取決於多個線程交替執行的時序。 常見的競態條件 1.

原创 java中使用阻塞隊列解決生產者消費者問題

java語言中提供了blockingQueue阻塞隊列以及幾種實現: 在解決多線程生產者,消費者問題的時候,可以使用阻塞隊列來代替java同步原語wati()和notify()以及sychronized。簡化編程模型。 下面使用lin

原创 Gson轉換hibernate級聯對象的處理

在使用gson架包轉換hibernate級聯對象爲json字符串的時候,有兩個問題需要注意: 類被設置爲延遲加載時,轉換延遲加載的對象爲json時報異常。 < many-to-one>和< one-to-many>屬性的對象級聯關係在轉

原创 struts2標籤使用

項目中用到的幾個strut2標籤 1,s:checkbox 該標籤對應html中標籤,當時在使用struts2時,使用struts標籤是非常方便的。 若有需求: 在action中,將checkbox的數據源放入值棧 List<De

原创 java多線程之生產消費問題

<pre name="code" class="java">一:多線程中生產者,消費者問題生產者生產產品,消費者消費產品,無產品的時候,消費者無法消費,有產品的時候生產者不需要生產。(始終只有一個產品的情況) 生產消費模型中存在的問題:

原创 java多線程--哲學家就餐問題

在使用java中的sychronized或者顯示鎖來進行互斥操作時,就可能會出現死鎖的情況:即任務一獲得A資源,等待B資源。任務二獲得B資源等待C資源。任務三獲得C資源等待D資源。而任務四獲得D資源等待A資源,這樣就造成一個連續的循環等待

原创 java多線程二

對於多線程程序來說,不管任何編程語言,生產者和消費者模型都是最經典的。 前面敘述生產消費者模型,倉庫中存在單一產品的問題,  * 多線程生產者消費者模型  * 主要講解線程同步問題,類Object中的wa

原创 leetCode --Reverse Integer以及java基本類型

題目要求: Reverse digits of an integer. Example1: x = 123, return 321 Example2: x = -123, return -321 解決該問題需要注意: 1,怎麼講in

原创 java貪吃蛇三

一:貪吃蛇細節實現----數據對象實現 1,GameDto.class數據對象 實現二維數組map,分數,等級,snake對象,Food對象,線程開始暫停狀態標誌位start package com.fupeng.dto; impo

原创 LeetCode Two Sum

Given an array of integers, find two numbers such that they add up to a specific target number. The function twoSum s

原创 windows下使用vsc編譯調試c++程序

vsc是一個非常輕量級的編輯器,當我們編寫c++程序的時候,如果不是編寫大的工程項目,而只是自己學習c++或者算法,使用vsc是非常方便的。 在windows平臺下,配合MinGW編譯器,編寫和調試小型cpp非常方便,使用方法如下。

原创 java貪吃蛇遊戲二

一:整個項目工程目錄預覽如下, 1,ui包下爲遊戲界面實現類,爲View層類對象 2,service包下爲核心控制實現類,爲Control層類對象。control包下爲遊戲配置類以及玩家控制類 3,dto包爲遊戲數據實現類。GameDt

原创 java貪吃蛇遊戲一

學習javase好長一段時間了,找個貪吃蛇的小遊戲做做,從項目分析到設計再到具體編碼。遊戲寫完總結一下。 先上效果圖 遊戲可玩性: 多線程控制開始,暫停按鈕分數顯示,吃一個小方塊得1分,暫時沒有實現曲線式得分等級控制,目前10分升一