作者查詢 / ssccg
作者 ssccg 在 PTT [ java ] 看板的留言(推文), 共2140則
限定看板:java
看板排序:
全部Gossiping57312ChainChron8708NIHONGO5749C_Chat5643LightNovel3843java2140Wine2005chess1958AndroidDev1488FORMULA11463LoL1393Soft_Job1124C_Sharp1030FATE_GO759Web_Design637TypeMoon589Tennis550SMSlife547Tech_Job457FBG421Aviation200Tea187Grad-ProbAsk186StupidClown179KIRARA149marriage147MLB100e-shopping79PuzzleDragon79Ajax73Salary59home-sale54GraduateCram49GO44Japan_Travel42Seikai42joke38study35creditcard32L_TalkandCha32Marginalman32MacDev31car28WorldCup25HatePolitics24graduate22Teacher22LordsOfWater21PublicServan19Master_D17NihonBook17SENIORHIGH17Kaohsiung15Bank_Service13book13Olympics_ISG12StarCraft12C_BOO11Drink11MJ_JP11pts11C_and_CPP10nCoV201910rent-exp9ScienceNote9CVS8Hsinchu7Post7R_Language7TaichungBun7TOEIC7TPC_Police7WomenTalk7Baseball6biker6Fantasy6gallantry6NTU6NTUcourse6NY-Yankees6PingTung6Stock6BigBanciao5Examination5LangService5movie5MuscleBeach5Sub_GMobile5Taoyuan5AfterPhD4Delivery4I-Lan4Liu4NDHU-His964Tainan4AppleDaily3e-coupon3Finance3Hearthstone3IA3media-chaos3MobileComm3NTUDormG13PhD3specialman3SuperBike3TW-language3TY_Research3Weyslii3YOLO3Boy-Girl2cookclub2Doraemon2GameDesign2H-GAME2KOTDFansClub2KS95-3182LAW2Lawyer2Military2Non-Graduate2Palmar_Drama2PublicIssue2Railway2Translation2AC_Music1B97A013XX1bicycle1BraveFrontie1C_ChatBM1CFantasy1Database1EatToDie1Food_Safety1Geography1GossipPicket1juniorhigh1LTK1MATLAB1MGL-history1Miaoli1NextTV1NTPU-CSIE941NTPU-CSIE951NTUE-ME1001NTUSA1PunishRecord1sex1Shana1stationery1TamShui1Test1<< 收起看板(152)
1F→: 隨便開個專案,照package位置放進去不就好了03/23 13:09
3F→: 這邊的Runnable跟Thread一點關係都沒有10/29 12:44
4F→: 題目寫了ThreadA是要呼叫fizz,不是要當fizz的參數10/29 12:46
5F→: Runnable printFizz的功能單純是印出fizz,不是Thread10/29 12:46
6F→: 你對Runnable的理解就是錯的,沒有通常是那樣用的10/29 12:47
7F→: Runnable就是用來當一個無參數無回傳方法的物件,相當於10/29 12:50
8F→: FunctionalInterface的 () -> void,而Thread只是剛好需要10/29 12:52
9F→: 一個這種參數而已10/29 12:53
1F→: 按那個+,選你要放進去的目錄啊09/01 14:47
11F→: throws是標註會拋出的例外,要不要處理是看例外的類型07/02 13:26
12F→: 繼承Exception但不是RuntimeException的才會編譯時強制處理07/02 13:26
13F→: throw就是中斷執行拋出例外,如果throw的例外類型是必須處07/02 13:29
14F→: 理且在method中沒有被catch,編譯時就會要求method標throws07/02 13:30
15F→: 通常用throw是因為程式屬於較底層,不能「決定」要怎麼處理07/02 13:34
16F→: 拋出例外 = 中止執行,把狀況回報給上層的呼叫者,由上層決07/02 13:35
17F→: 定處理方式,像是重試、替代方案,或是通知更上層07/02 13:38
18F→: 如果每層都不處理,最後就是跑這段程式的Thread會中止執行07/02 13:40
19F→: 如果是Main Thread (從main方法throw出來)那就是JVM會異常07/02 13:41
20F→: 中止,俗稱閃退07/02 13:41
21F→: 所以如2樓所說,如果是有使用者的程式,通常最慢在UI層前會07/02 13:43
22F→: 處理所有的例外,顯示成錯誤訊息。如果是非java函式庫的API07/02 13:46
23F→: 如Web、RPC,會處理成該API規格定義的錯誤回應07/02 13:46
24F→: 沒有無法處理,只有業務邏輯上你這層程式無權決定怎麼處理07/02 13:49
25F→: 不處理就別catch而是要throws,單純catch+log也是一種處理07/02 13:51
39F→: CheckedException也許立意是好的,但是JSE自己的分類原則就07/06 11:46
40F→: 有問題才搞到人家不想用,一堆本質上是IllegalArgument、07/06 11:50
41F→: IllegalState的checked exception07/06 11:51
7F→: 原本那個null也許是個變數,在多次copy-paste和refactor後06/07 18:14
8F→: 變成null吧....只能想到這種解釋06/07 18:16
9F→: 這寫法不能的點在變數真的是null就直接NPE了,不是新手老手06/07 18:18
10F→: 問題,是除了String不得不用外,怎麼會想用equals06/07 18:21
13F→: 沒幾個語言無聊到像java要用equals吧...大多是override ==06/08 10:45
1F→: 你只用你自己寫的程式當然覺得都用無參數建構子就好05/09 04:46
2F→: 假設你的Dao需要個一定得從外面傳進來的DataSource05/09 04:47
3F→: 勢必要改成這一串相依類別的建構子都要有DataSource參數05/09 04:48
4F→: 「所有類別都能用無參數建構子new出來」是你一廂情願的想法05/09 04:49
5F→: 就算不用依賴注入,把Dao的new直接寫在Service的裡也不是好05/09 04:52
6F→: 事,這代表Dao的建構子一改你所有new到他的Service都要改05/09 04:52
7F→: 這就是直接依賴實作的問題,即使沒有特別抽出interface,只05/09 04:55
8F→: 呼叫public method是只依賴於介面,呼叫到建構子是綁死實作05/09 04:56
10F→: 你在你的Dao裡面是要怎麼呼叫getDatasource?05/09 21:17
11F→: 那個getDatasource不是getter,是定義一個Bean (由spring的05/10 00:22
12F→: ApplicationContext管理的物件),spring的@Autowired或其他05/10 00:23
13F→: 注入方式並不是找任意類別,只會從ApplicationContext中註05/10 00:26
14F→: 冊的Bean裡找名稱/類別/Qualifer符合的05/10 00:27
15F→: 先不談spring怎麼做的,先集中在你一開始的問題,所以你把05/10 00:28
16F→: 你的Service、Dao1、Dao11寫好了,現在Dao11裡面要這個05/10 00:29
17F→: DataSource,你main裡只有Service1 service=new Service1()05/10 00:31
18F→: 你要怎麼改?05/10 00:31
19F→: 是說你問法很像只有在找範例讀、寫些只有sout的測試,建議05/10 00:34
20F→: 先找個題目寫個會動的系統,真正用過這些功能再問05/10 00:35
21F→: 工具是解決問題用的,你沒有問題要解決,拿著工具再怎麼問05/10 00:42
22F→: 它哪裡好用,得到答案你的感覺還是這有什麼用?05/10 00:43
23F→: 對你現在都在一個main就做完的需求,的確這些工具都沒用05/10 00:45
26F→: 雖然你好像終於看出@Autowired的用處了,但是其實這只是05/12 02:42
27F→: @Autowired能直接用在field得到的方便,不是IoC/DI的好處05/12 02:44
28F→: 以你上面的code來說,其實硬要繼續用無參數ctor也不是不行05/12 02:51
29F→: 開setter也行,甚至也可以手動reflection取代@Autowired05/12 02:53
30F→: spring DI的重點是根本不用自己寫那段「組裝」的程式碼,只05/12 02:54
31F→: 要依照spring的慣例定義好相依關係,啟動context就會自動組05/12 02:55
32F→: 好,組裝方式可以用field/setter/ctor都支援,@Autowired不05/12 02:57
33F→: 過是標示而已,有參數的ctor也不是問題05/12 02:59
34F→: (題外話,如果只有一個ctor,不需要@Autowired標示spring也05/12 03:00
35F→: 認得,我個人習慣盡可能用這種方式,可以做到immutable,也05/12 03:12
36F→: 保證需要自己new的時候不會漏掉依賴,當pojo用也行)05/12 03:22
37F→: 然後你說工作上沒碰過複雜的組裝,要不真的是micro service05/12 03:28
38F→: 化/AOP用的很成功那沒話說,要不就是Service其實太肥了05/12 03:30
39F→: 不是單純CRUD的系統,Service常常會需要多個Service或其他05/12 03:39
40F→: handler、adapter...之類@Component組成的吧05/12 03:51
1F→: transaction又不是spring data jpa才有的東西,lazy關聯不05/06 14:30
2F→: 過就是個抽象化的query,不管是用jpa還是從底層driver自己05/06 14:31
3F→: 寫,都一樣要自己決定這個query要在哪個transaction執行啊05/06 14:32
4F→: 要像看起來一樣方便就open-in-view,從上到下都用entity05/06 14:35
5F→: 不然總是要自己決定transaction要包到哪,在這之上就不去亂05/06 14:36
6F→: 用entity關聯,而是明確重下一次query。而且包到哪應該是從05/06 14:38
7F→: 資料是否需要transaction決定,不是api操作方不方便決定05/06 14:40
8F→: 至於DTO,主要還是因為要用DTO才用,標誌transaction分界只05/06 14:48
9F→: 是順便而已05/06 15:09
11F→: 我個人DTO用mapstruct,transaction通常只開到我自己的05/06 19:03
12F→: Repository層(在這裡面才再看情用jpa/jdbc),出了這層就是05/06 19:05
13F→: DTO,會分有載入關聯和沒有的API05/06 19:07
14F→: 不過基本上這問題還是看你做的系統需求,就像你說的本來就05/06 19:08
15F→: 是個很淺的data service就沒差05/06 19:10
10F→: nums = intList.stream().mapToInt(i -> i).toArray();04/28 12:33
11F→: 是產生新的Array,將reference存到nums這個變數04/28 12:34
12F→: 當然就不是原本nums指到的Array04/28 12:35
13F→: 跟for相等的寫法是 IntStream.range(0, intList.size())04/28 12:40
14F→: .forEach(i -> nums[i]=intList.get(i));04/28 12:45
15F→: 另外你想做個移除元素的方法,但是陣列長度根本不能改,選04/28 12:47
16F→: 用這個容器你從很基本的地方就錯了04/28 12:48
9F→: 不完全是,上面這圖的說法我覺得是錯的,那是較少數的情況04/23 07:51
10F→: 如果依賴一樣是你要寫的,那你幹麻不寫完再測? → 因為你只04/23 07:52
11F→: 要測想測的這個Class,沒有要測依賴的其他Class,這種情況04/23 07:52
12F→: mock真正的意義是在限制測試範圍,這叫單元測試04/23 07:53
13F→: 如果依賴不是你負責的是在別的模組,不管是還沒寫好還是沒04/23 07:55
14F→: 提供,這種情況用mock還是在限制測試範圍在你自己的模組內04/23 07:55
15F→: 在所有東西都要寫好一起測的整合測試,才有可能出現"暫時"04/23 07:58
16F→: 代替沒寫好的東西的mock04/23 07:58
29F→: field宣告可以用interface,不用實際的class,才有降低耦合04/01 10:17
30F→: 通常實際class並沒有降低耦合,只是省掉自己初始化整個物件04/01 10:18
31F→: 結構的工(spring bean預設的scope是application scope,也04/01 10:19
32F→: 就是整個ApplicationContext裡只會new一次,在有很多bean的04/01 10:20
33F→: app裡面要達到一樣的效果要多寫很多程式碼,可不只是在宣告04/01 10:21
34F→: 處new就好),等哪天真的有需要降低耦合,用refactor工具04/01 10:22
35F→: 把interface抽出就好04/01 10:23