原创 Java死鎖案例

兩個線程在執行的過程中,因爲爭搶資源而造成相互等待的現象,若無外力干涉的情況,無法推進。(此案例來源於網絡) class HoldLockThread implements Runnable { private Strin

原创 Unity屏幕鼠標移動模型

本文章僅僅用於個人記錄。 需求:鼠標按下,獲取鼠標按下後的移動向量。 1、用於記錄鼠標的移動向量,camDela。 2、用於記錄鼠標按下的初始位置,startPos。 if 鼠標按下 判斷位置 startPos是否爲初始位置,如果

原创 Unity3d 根據鼠標點擊位置自動尋路

本博客只爲個人記錄筆記。 使用NavMeshAgent 組件,根據鼠標左鍵點擊位置進行自動尋路。 知道了需要到達的座標點(target)之後,直接使用下面代碼即可。 navMeshAgent.destination = targe

原创 volatile 不保證原子性

什麼是原子性,說白了就是整個程序中的所有操作要麼都執行,要麼都不執行。 但是 volatile 可以保證可見性,但是不能保證原子性,所以是一個輕量級的同步機制。 例如:下面代碼加了volatile,但是不能保證原子性,number的最終結

原创 單例模式看這幾個

單例模式是一種常用的軟件設計模式,通過它能夠保證系統中,應用該模式的一個類只有一個實例。 在面試中,本人總共手寫過三種單例模式:懶漢模式、餓漢模式、雙重檢查模式 懶漢模式:顧名思義,當系統需要類的實例的時候纔會進行初始化,否則就不會進行初

原创 Unity登陸流程01

僅僅筆記: 創建英雄的具體流程如下: 登陸頁面 -> 發送獲取user信息-> user是否存在。如果存在,發送用戶在線請求;如果不存在,發送打開創建用戶界面。->點擊創建按鈕,發送創建英雄請求->如果創建成功,發送在線請求,關閉

原创 C++相關問題記錄

vector 的使用 //方法傳入時,這裏使用引用代替指針。 int maxSubArray(vector<int>& nums); //初始化 vector<int> nums = {-2,1,-3,4,-1,2,1,-5,

原创 C++ 二分法查找循環有序數組最小值

題目:使用二分法查找循環有序數組的最小值。 int getSubScriptFromArray(int arr[], int left, int right){ while (left < right) {

原创 unity3d物體移動

物體按照某方向移動。 需求,子彈攻擊tPlayer。 tPlayer爲目標,使用重力的velocity屬性進行移動。 Vector3 direction = tPlayer.transform.position - transfo

原创 unity3d 人物移動

人物移動方式,有兩方式: 根據鍵盤輸入來進行移動。主要是用的代碼: void Move() { if (Input.GetKey(KeyCode.W)) {

原创 04 unity3d創建對象

主要用於個人筆記記錄 創建對象主要使用的是 Instantiate 方法,在本案例中,使用協程進行敵人的創建。 需求,模仿王者榮耀出兵系統,利用NavMeshAgent自動追蹤塔進行尋路。 public class ReviewA

原创 03 相機跟隨人物

player 爲玩家,該腳本加到Camera上。 using UnityEngine; using System.Collections; public class CameraFollowPlayer : MonoBehavi

原创 @Validated 講解

SpringBoot 中使用@Validated 來檢驗數據,如果數據異常則拋出異常,統一處理。 例如,在Controller層中,對傳入的一個參數進行檢驗 @Validated TestDto testDto 對應的entit

原创 Java 數組中的最大值。

我覺得求數組中的最大值,最好的辦法之一就是遍歷一遍。 private int getArrayMax(int[] nums) { int max = nums[0]; for(int i=0; i<nums.length; i

原创 設計模式---策略模式

設計模式---策略模式策略模式原理注意的點使用案例 策略模式原理 當使用繼承的時候,如果我們一旦改變了超類的一些東西,就會影響到子類。策略模式的最大特點就是可以做到不影響,從而改變一些功能。 注意的點 分析項目中變和不變。 多用