我當(dāng)初接觸編程的時候,因?yàn)橄矚g玩手機(jī)游戲,在諾基亞制衡市場的時代,大部分精良的手機(jī)游戲都由Java語言進(jìn)行編寫的,那些游戲傻傻的都帶著那杯咖啡的圖標(biāo),我也順理成章以Java作為編程的母語進(jìn)行學(xué)習(xí)。
那時候?qū)W習(xí)Java從JavaSE開始學(xué)起,if判斷/for循環(huán)/面向?qū)ο?多態(tài)/多線程/TCP/UDP,雖然多態(tài)難為了我很長時間,但不妨礙我沉迷進(jìn)了編程這個奇妙的世界。學(xué)習(xí)Java GUI界面編程的時候終于脫離了黑窗口和命令行,終于可以把自己制作的東西交給父母看一看,讓他們知道自己兒子在學(xué)什么東西,似乎還學(xué)的很不錯一樣!到學(xué)習(xí)JavaEE的Servlet/JDBC/HTML/CSS/JS/JSP/MySQL至此可以做出來一些小型的網(wǎng)頁和博客。那時候特別高興,感覺終于能夠通過自己的技術(shù)制作出來一些符合自己想法的東西了,感覺自己就是造物主,自己可以創(chuàng)造一整個世界!
初期工作開始接觸使用Hibernate代替JDBC,以Struts2代替Servlet的形式進(jìn)行編程,逐漸接受各種框架的洗禮,密密麻麻的框架需要學(xué)習(xí),排不完的加班和數(shù)不清的復(fù)雜查詢,到現(xiàn)在我仍然想吐槽曾經(jīng)十幾個表聯(lián)查還覺得理所應(yīng)當(dāng)?shù)母鱾€架構(gòu)師!處理著各種冗余數(shù)據(jù)與歷史代碼,每天都掉許多頭發(fā),但是當(dāng)時勸自己,既然剛?cè)胄校嵉木褪沁@個錢,我能堅持下去!
后續(xù)工作時使用SpringMVC代替Struts2,使用MyBatis代替Hibernate,使用Jedis整合Redis增加緩存,使用POI生成Excel表格,使用dom4j解析XML文件,使用SOAP協(xié)議的WebService接口代替HTTP協(xié)議進(jìn)行服務(wù)器之間的數(shù)據(jù)傳輸,最后使用Spring管理所有的引入框架。讓整體項(xiàng)目越來越完善,似乎越來越接近所有人所說的那種企業(yè)級開發(fā)的程度了。但這段時間的旅程給人的感受并不美好,此時雖然每天晚上我都保持最少2個小時的長久學(xué)習(xí)狀態(tài),但始終沒有我在JavaSE與JavaEE時感受到的那種“接受新鮮事物的感覺”。誠然,我的技術(shù)不斷在完善,我所了解的框架越來越多,我也勝任了市場上要求三年開發(fā)經(jīng)驗(yàn)的面試門檻和工作基礎(chǔ)。但于我個人而言,通過JDBC/Hibernate/MyBatis去讀取MySQL中的數(shù)據(jù)有什么區(qū)別?Servlet/Struts2/SpringMVC換來換去有什么意義么?只不過換了個框架換了個寫法而已,得到的結(jié)果并無不同啊。那我此時此刻浪費(fèi)的時間來干嘛?我很焦慮,在擅長SSM之后,我技術(shù)的增長停滯了很長一段時間。那時候可能每天想的最多的就是通過考研來提高自己工資。畢竟單純從技術(shù)上我似乎已經(jīng)沒有什么辦法提高工資了。要么考研,要么等待自己的工作年齡生長到一定程度才行。
但后來發(fā)現(xiàn)35歲開始,似乎各個公司又不喜歡用你了,這就很尷尬了。我當(dāng)時已經(jīng)工作三年左右,二十五六歲了,考研連考試帶學(xué)習(xí)兩三年的時間,我還能再干幾年?可是不考研的話,等待工齡漲工資我能漲幾年?那時候我迷茫的不得了。
后來發(fā)現(xiàn)大牛不外乎本公司內(nèi)自研框架和引擎的高齡程序員們,可是當(dāng)我與他們一起開發(fā)銀行管理系統(tǒng)的時候發(fā)現(xiàn)他們?nèi)匀辉谟肑DK1.4版本,我對整個職業(yè)生涯都很絕望,是啊,我們的項(xiàng)目要求的是穩(wěn)定,哪來那么多潮流技術(shù)新技術(shù)去給你替換嘗試?而且所謂各種大牛研制的引擎或框架來說,始終離不開讀取數(shù)據(jù)庫/生成web頁面一系列功能,我都不需要回頭看就知道其中肯定包括了單點(diǎn)登錄/AES對稱加密/RSA非對稱加密/HTTPS協(xié)議/Freemaker生成HTML頁面/賬號對應(yīng)權(quán)限/審批功能/跑批功能,來來去去做的這些就是我人生的意義么?他們只是工作早了一些,這樣的框架換我我也能做啊!我們每天干的都是這些事!等我年紀(jì)大了只能和他們一樣么?我還年輕我不服啊,我不能只漲年齡不漲技術(shù),但是那時候的Java除了不常用的框架之外的的確確沒有什么所謂的“技術(shù)”再可以讓我學(xué)習(xí)的了。
但是自那之后雖然Java技術(shù)停滯增長了,我便把重心放到了運(yùn)維工程師的相關(guān)技術(shù)上,想往我夢想中的“架構(gòu)”層次再進(jìn)一步。那時我學(xué)會了Nginx + Tomcat + SSM負(fù)載均衡的形式,又學(xué)會了Keepalived + Nginx + Tomcat + SSM多層負(fù)載均衡的形式,學(xué)習(xí)了WebSocket那種客戶端主動推送的協(xié)議,學(xué)習(xí)了Zabbix監(jiān)控自己的項(xiàng)目,學(xué)習(xí)了MongoDB這種除了Reids之外的緩存技術(shù),認(rèn)知了ElasticSearch搜索引擎,認(rèn)知Git與SVN之間的管理區(qū)別。開始不斷閱讀各種框架的底層源碼,例如在Spring代碼中設(shè)置斷點(diǎn)不斷的Debug,開始在MyBatis框架中增加代碼,定制更適合我自己的MyBatis攔截器(我在原有MyBatis之上增加了攔截器與自定義日志之類的功能)。在這段時間里,對于框架的理解越來越深,對于運(yùn)維工程師所需的技術(shù)了解的越來越多。可是在本職工作中,我仍然感覺,以我當(dāng)時三四年的工作經(jīng)驗(yàn)來講,與那種剛畢業(yè)且學(xué)習(xí)好的學(xué)生來說,區(qū)別并不大,尤其類似POI/Jedis/MongoDB這一類工具與框架的學(xué)習(xí)成本很低,快的兩天一個,慢的兩周也能搞定,學(xué)習(xí)速度很快,在未來我的優(yōu)勢能在哪里?難道我的優(yōu)勢只能是我能兼職干運(yùn)維工程師和研發(fā)工程師兩種工作么去和其他程序員硬卷么?這種優(yōu)勢與我能瘋狂加班有什么區(qū)別?這并不是我想要的!我并不想只是技術(shù)的“量”在增長,技術(shù)的“質(zhì)”仍然處于那個SSM的階段,我與畢業(yè)生寫的代碼仍然沒有任何不同之處!
在我工作五六年的時候,市面上Java研發(fā)常用的服務(wù)器軟件與Java框架已經(jīng)大部分了解,我開始接了不少私活,其中包括游戲服務(wù)器/IM軟件后臺/OA軟件后臺/電商后臺等等一系列項(xiàng)目,白天上一份班晚上熬夜接著干,得到了不少人的不少賞識,任何一套系統(tǒng)需求分分鐘能在腦內(nèi)形成拓?fù)鋱D的時候,我極其自大,覺得自己已經(jīng)無人能及了,對于新出的Spring Boot與Spring Cloud技術(shù)不屑一顧,幾周內(nèi)幾乎全部學(xué)下,其中包括Consul注冊中心/Kafka/FastDFS/Spring cloud Ribbon/Spring Data JDBC/緩存與持久化保持一致性/分布式通訊Feign/分布式斷路器Hystrix/分布式的任務(wù)調(diào)度Quartz等等吧。
很多人認(rèn)為分布式不是新出的概念么?其實(shí)早好幾年前我在做SOAP的時候就已經(jīng)使用了這種分布式服務(wù)的形式,在我看來分布式微服務(wù)和我當(dāng)初做的分布式服務(wù)沒任何區(qū)別。思想上都是一樣的,那時也通過注冊中心管理各個SOAP的WebService服務(wù)提供者,這種技術(shù)只是實(shí)現(xiàn)方式在變,可思想以前就有。只是現(xiàn)在實(shí)現(xiàn)的更加具體更加成熟了。剛好那時候有一個大項(xiàng)目拆分重做,整套項(xiàng)目大概區(qū)分六十多個微服務(wù),那一年多我通過Spring Boot + Spring Cloud的架構(gòu)獨(dú)立連續(xù)制作了四十幾個微服務(wù),聽起來數(shù)量很多,其實(shí)過程十分輕松,并且我還有閑暇時間去看書。那時候我在想,我的技術(shù)也就這樣了,最多重新學(xué)習(xí)一下HTML5/CSS3/VUE/Bootstrap/AngularJS回頭當(dāng)個全棧就好了。
再后來有一段時間身體不好在家休養(yǎng),順手整理了下自己學(xué)習(xí)Spring Boot + Spring Cloud的過程,編纂成冊出版了《微服務(wù)分布式架構(gòu)基礎(chǔ)與實(shí)戰(zhàn)——基于Spring Boot + Spring Cloud》一書,寫書之余學(xué)習(xí)了Python擴(kuò)展了下編程語言。
還有在藍(lán)橋杯的云課堂出了一個《Java多線程實(shí)戰(zhàn)基礎(chǔ)》的課程。又重新買了《算法之美》/《算法基礎(chǔ)》一系列算法書,從第一頁開始仔仔細(xì)細(xì)的學(xué)習(xí),每一道題都回Eclipse中重新編寫代碼,當(dāng)然后期陸陸續(xù)續(xù)的也都忘了。恕我直言,迄今為止我也背誦不出來快排的代碼。
那時開始不斷審視著我工作之中我遇到厲害的人物,思考他們技術(shù)上的優(yōu)點(diǎn),當(dāng)時想著我既然不知道如何去學(xué)習(xí)了,那就用他們的優(yōu)點(diǎn)填補(bǔ)自身,起碼勉強(qiáng)能夠進(jìn)步。想想那其中包括通過自己手寫簡易多線程計算機(jī)系統(tǒng)的大佬!能夠背誦一點(diǎn)點(diǎn)Linux代碼的項(xiàng)目經(jīng)理!自己手寫協(xié)議的同事!從零到一實(shí)現(xiàn)MySQL!從零到一實(shí)現(xiàn)Tomcat的各種人才。雖然一個個都很厲害,但是好多學(xué)習(xí)的內(nèi)容純粹都是靠時間堆砌起來的!都沒法讓我再驚訝起來!因?yàn)殡m然我沒寫過,但是我心里都有個大概,有些我學(xué)不會也不想學(xué),因?yàn)楣ぷ魃蠈?shí)在用不到!有些我也可以做到!至此我?guī)缀跻呀?jīng)放棄了Java方面的學(xué)習(xí),再怎么學(xué)也不過如此了。
此后來到現(xiàn)任公司被現(xiàn)任領(lǐng)導(dǎo)面試的時候,領(lǐng)導(dǎo)問我:“你當(dāng)初寫的Spring Boot項(xiàng)目最高承載并發(fā)(TPS)能達(dá)到多少?”
“當(dāng)時的項(xiàng)目大概六千多吧,主要看數(shù)據(jù)查詢量大小與復(fù)不復(fù)雜。這也不光是程序的事,重在服務(wù)器,硬件性能配置的上跟不上,代碼再好也白費(fèi)。而且當(dāng)時業(yè)務(wù)邏輯也比較復(fù)雜,需要穿插數(shù)個系統(tǒng),所以這方面不太好直說。”
“讓你開發(fā)Redis,16核CPU,32G內(nèi)存的情況下,你單節(jié)點(diǎn)并發(fā)(TPS)能上6萬么?”
“這實(shí)在太恐怖了,這種機(jī)器Redis單節(jié)點(diǎn)并發(fā)應(yīng)該也就10萬吧?我雖然可以完全實(shí)現(xiàn)Redis所有功能包括事務(wù)/鏈表/信息推送,但是確實(shí)性能不能和真正Redis進(jìn)行比較。而且人家還是一個團(tuán)隊在做的東西,一個人肯定完不成!”在我回答之時,別說讓我拿自己的產(chǎn)品和Redis進(jìn)行比較,就算放在一起相提并論我都覺得臉上燒的慌。我一直工作也都是實(shí)現(xiàn)業(yè)務(wù)邏輯而已……
“那你和應(yīng)屆生的區(qū)別是什么?這點(diǎn)業(yè)務(wù)邏輯哪個應(yīng)屆生做不出來?Redis一共才幾萬行代碼,允許你兩年制作一個閹割版的Reids,不需要那么多的鏈表/隊列/事務(wù),只是達(dá)到最基礎(chǔ)的set/get/消息通訊三個功能的情況下,代碼肯定更少,那你能不能做到Redis的并發(fā)?”
應(yīng)該……做不到吧?不可能的,不現(xiàn)實(shí)的,怎么可能!!!
“你知道么?同樣都是Java語言,在不同人手里,完全不一樣!青龍偃月刀雖好,但是有些人只能拿它切了自己的腦袋!不是Java厲害,框架厲害,公司厲害,你就厲害!不會性能上的測試與優(yōu)化!你能仿照的,永遠(yuǎn)都是只是實(shí)現(xiàn)了業(yè)務(wù)邏輯的殘次品!”
為了尋找這個面試官所言的真實(shí)性,我來到了當(dāng)前這家公司,跟著面試我的這名領(lǐng)導(dǎo)優(yōu)化一套類似Redis的中間件。一開始多少以看笑話且隨時走人的心態(tài)來的,畢竟在我眼里,這幾乎是一件不可能完成的任務(wù)。
感謝現(xiàn)任領(lǐng)導(dǎo),幾乎手把手教我各種性能測試的方式,雖然我曾經(jīng)了解一些,但是在這個項(xiàng)目中始終不夠看,改變原有編程觀念,不斷的優(yōu)化著接口里每一個小接口,關(guān)掉所有的日志輸出,盡可能減少循環(huán)減少遞歸次數(shù),幾乎全部的線程都為多線程異步使用,一個接口用了十?dāng)?shù)個隊列進(jìn)行調(diào)用,優(yōu)化其中任何一絲GC可能不會清除掉的垃圾!高并發(fā)項(xiàng)目不存在任何Debug行為,線程全在大腦里轉(zhuǎn)。聽著似乎很簡單吧?但其實(shí)一個接口每天需要測幾十次,連續(xù)測試半年時間去優(yōu)化里面任何一點(diǎn)細(xì)節(jié)。
越制作現(xiàn)在手上的這款中間件越覺得自己當(dāng)初如何可笑,面對曾經(jīng)不知天高地厚的自己恨不得回去好好抽自己幾個嘴巴子。當(dāng)然,抽的時候一定要把現(xiàn)在學(xué)習(xí)路線告訴曾經(jīng)的自己,省的再走太多彎路了。
我是如何做到這樣的并發(fā)的?很簡單,秘密就在我編寫的《高性能Java架構(gòu):核心原理與案例實(shí)戰(zhàn)》這本書里。謝謝我的編輯安娜,是她給了我寫這本書的機(jī)會,也是她不斷的幫我修改其中的文字,讓這本書更好的呈現(xiàn)給大家。
如今這款中間件誠如當(dāng)時所說在16核CPU,32G內(nèi)存的情況下每秒帶寬推送至少5個G,可承接6萬以上HTTP請求無任何壓力,無報錯無內(nèi)存溢出無丟失數(shù)據(jù),甚至CPU和內(nèi)存還有相當(dāng)多的剩余量,在單機(jī)性能達(dá)到這個程度時,我又陸續(xù)為這個中間件編寫集群版本/主從復(fù)制版本。
《高性能Java架構(gòu):核心原理與案例實(shí)戰(zhàn)》這本書我在寫之前構(gòu)思過無數(shù)次,但開始的時候始終無法達(dá)到我所想要講的那種優(yōu)化程度。
SQL優(yōu)化怎么講?這一條SQL我教你優(yōu)化之后,下一條你仍然不知道怎么優(yōu)化!
邏輯優(yōu)化怎么講?業(yè)務(wù)就是那么要求的?難不成教怎么和產(chǎn)品經(jīng)理打架讓他改需求?
架構(gòu)優(yōu)化怎么講?我把我所有架構(gòu)過的程序交代出來讓讀者挨個朗讀并背誦?
在我不斷練習(xí)之后,與不少程序員進(jìn)行溝通,溝通具有實(shí)際意義的問題后,我才逐漸形成這本書。
“你知道if判斷是否影響性能么?”
“你知道for循環(huán)與foreach循環(huán)性能是否相同么?”
“你知道JDK的Stream流是否影響性能么?”
“你知道lambda表達(dá)式是否影響性能么?”
“你知道工廠模式是否影響性能么?如果影響大概到什么程度?”
“你知道幾種緩存形式?哪種性能最好?為什么不能一味的用性能最好的那種緩存形式么?”
“假如讓你做一套小說網(wǎng),那每一個章節(jié)那么多字?jǐn)?shù),你都從緩存中獲取數(shù)據(jù)么?緩存不會崩潰么?Redis承受的住么?”
“你知道一個Java應(yīng)用程序,什么框架都不引用的情況下,只寫入main方法與for循環(huán)HelloWord輸出,那在8核CPU,16G內(nèi)存的情況下最多能輸出多少次么?”
“你知道MySQL單表達(dá)到一億條數(shù)據(jù),在8核CPU,16G內(nèi)存的情況下,總數(shù)據(jù)體積達(dá)到幾個G,使用limit10字段,那需要多長時間獲取出來?真如網(wǎng)絡(luò)上所說的,MySQL單表4000條之后讀取速度就降級了么?”
以上問題,在任何搜索引擎上都不可能找到相應(yīng)答案,但答案就在《高性能Java架構(gòu):核心原理與案例實(shí)戰(zhàn)》這本書里,更重要的是,獲取答案的方式方法就在這本書里!
我將我所學(xué)的架構(gòu)思想與測試方式都置入其中,文章簡短可能并不齊全,可能在學(xué)習(xí)此書的過程中您的學(xué)習(xí)筆記會比這本書寫的更加厚重,更厚重幾倍,若非如此可能效果不佳。原本我還想補(bǔ)充些內(nèi)容,但想想無用之文可能幾十本都放不下,更重要的是將方式方法告訴大家,將擴(kuò)展視野的方式告訴大家。日后工作到什么程度,再看個人造化。
此書行文粗糙暫且見諒。愿您在讀此書之時可以領(lǐng)略到我在后期成長所體會到的一個個驚喜,愿您讀此書之后可以自信的說出前言中的答案,愿您在技術(shù)成長的道路上不會像我一直在走彎路。
愿您幸福。
張方興
行文于2021年4月某夜
、選題背景及意義
隨著信息化社會的形成和微電子技術(shù)日新月異的發(fā)展,為開發(fā)心理學(xué)網(wǎng)站系統(tǒng)提供了良好的環(huán)境。在當(dāng)前的技術(shù)和社會需求環(huán)境下,心理學(xué)網(wǎng)站系統(tǒng)將具有長足的發(fā)展。特別是在互聯(lián)網(wǎng)高度發(fā)展和應(yīng)用的今天,隨著心理關(guān)愛需求的越來越多,也正因此,心理學(xué)網(wǎng)站系統(tǒng)應(yīng)運(yùn)而生,可以為心理健康有效的解決很多實(shí)際問題。在軟件開發(fā)過程中最為重要的就是數(shù)據(jù)庫的應(yīng)用部分。
隨著網(wǎng)絡(luò)行業(yè)的快速發(fā)展,心理學(xué)網(wǎng)站系統(tǒng)涵蓋的領(lǐng)域廣泛,因此難以管理。傳統(tǒng)的心理學(xué)管理方法的效率無法適應(yīng)現(xiàn)在的發(fā)展,反而更加繁瑣,所以需要建立并且完善心理學(xué)網(wǎng)站系統(tǒng)。
系統(tǒng)設(shè)計的主要意義在于,一方面,系統(tǒng)上線后可以帶來很大的便利性,心理學(xué)網(wǎng)站系統(tǒng)屬于非常細(xì)致的管理模式,要求數(shù)據(jù)量大,計算機(jī)管理可以提高精確性,更為便利的就是信息的查詢,大大的提高了工作效率,改善了管理質(zhì)量;另一方面,通過系統(tǒng)的設(shè)計,自己對軟件設(shè)計有了更加深入的了解,并且產(chǎn)生了濃厚的學(xué)習(xí)興趣,在對問題分析方面有了獨(dú)特的方式,是進(jìn)入社會之前一次很好的鍛煉機(jī)會。
二、文獻(xiàn)綜述(歸納、整理及分析比較搜集到的文獻(xiàn)資料,闡明有關(guān)主題的歷史背景、現(xiàn)狀和發(fā)展方向,并對這些問題進(jìn)行評述。完稿時請刪除括號內(nèi)說明。)
[2]姚文杰.基于微信公眾平臺的醫(yī)院預(yù)約健康咨詢系統(tǒng)研究[J].數(shù)碼世界,2020(04):29.
隨著社會的進(jìn)步,人們對健康認(rèn)識的不斷提高,對心理健康的需求也在不斷增加。而經(jīng)濟(jì)水平的快速發(fā)展,使得人們心理健康出現(xiàn)越來越多的問題。無論是家庭還是社會,都把自己的身體看作唯一的根本,只有擁有健康的心理,才能更好的學(xué)習(xí)和工作。雖然,各地體檢機(jī)構(gòu)也越來越多,如學(xué)生的入學(xué)定期檢查,教職工入職體檢,以及所有社會群眾的定期體檢工作在一定程度上保障了個人身體健康,但是這種體檢活動費(fèi)時費(fèi)力,無法滿足高強(qiáng)度,快節(jié)奏的生活水平。
[3]戴銘孚. 基于MVC模式的醫(yī)院預(yù)約健康咨詢管理系統(tǒng)的設(shè)計與實(shí)現(xiàn)[D].廣西大學(xué),2019.
隨著心理健康業(yè)務(wù)的需求和規(guī)模越來越大,其原來簡單、單一的工作方式的體檢信息管理已經(jīng)難以滿足工作的需要。而全球以信息技術(shù)為主導(dǎo)的科技革命進(jìn)程的加快,人類社會逐步由工業(yè)社會進(jìn)入信息社會。信息技術(shù)是當(dāng)代最具潛力的新的生產(chǎn)力,信息資源是經(jīng)濟(jì)和社會發(fā)展的重要戰(zhàn)略資源。把心理健康風(fēng)險業(yè)務(wù)轉(zhuǎn)移到信息化管理上來,是當(dāng)前信息化發(fā)展的必然過程。
[4]劉磊,何志華.醫(yī)院健康咨詢系統(tǒng)設(shè)計與實(shí)現(xiàn)[J].醫(yī)學(xué)信息學(xué)雜志,2019,40(04):33-36.
當(dāng)前,傳統(tǒng)的心理健康風(fēng)險評估沿用的是手工管理的方式,長期的使用,存在很多的問題。首先心理健康風(fēng)險評估的工作量比較大,檢查的人群多,登記臺的效率相當(dāng)?shù)拖拢渴止鴮懜鞣N健康風(fēng)險評估數(shù)據(jù)、考核資料單,不可避免的造成排長隊等候的混亂現(xiàn)象。其中手工作業(yè)過程非常繁瑣,重復(fù)性強(qiáng),工作量大,消耗大量的人力和時間,且容易出錯。其次,健康風(fēng)險評估項(xiàng)目繁多,需要專門抽調(diào)多名醫(yī)務(wù)人員對健康風(fēng)險評估結(jié)果進(jìn)行反復(fù)的收集、校對、整理,再由醫(yī)生逐一書寫健康風(fēng)險評估結(jié)論。手工匯總健康風(fēng)險評估資料勞動強(qiáng)度較大,效率極低。最重要的是醫(yī)務(wù)工作的忙碌又使醫(yī)生無暇對每一位健康風(fēng)險評估者作詳細(xì)的健康指導(dǎo)。受檢者面對健康風(fēng)險評估單上的各種數(shù)據(jù),在沒有一定醫(yī)學(xué)知識的前提下,很難了解自身的身體狀況以及如何進(jìn)行疾病的防治。最后,傳統(tǒng)的健康風(fēng)險評估不能充分的利用原始資料進(jìn)行各種統(tǒng)計和數(shù)理分析,缺少對結(jié)果的綜合分析,憑主觀分析與實(shí)際情況有偏差。
隨著全球以信息技術(shù)為主導(dǎo)的科技革命進(jìn)程的加快,人類社會逐步由工業(yè)社會進(jìn)入信息社會。信息技術(shù)是當(dāng)代最具潛力的新的生產(chǎn)力,信息資源是經(jīng)濟(jì)和社會發(fā)展的重要戰(zhàn)略資源。計算機(jī)科學(xué)、通信技術(shù)、網(wǎng)絡(luò)技術(shù)的不斷發(fā)展,已經(jīng)應(yīng)用到各個領(lǐng)域,心理學(xué)網(wǎng)站系統(tǒng)也在此時應(yīng)用而生了。
三、主要研究內(nèi)容(闡明研究的內(nèi)容框架。完稿時請刪除括號內(nèi)說明。)
伴隨著信息行業(yè)的蓬勃發(fā)展和人們心理健康意識的增強(qiáng),心理健康風(fēng)險管理的工作也越來越繁重,原來的心理健康風(fēng)險評估方式已不能滿足當(dāng)前的需求。為了協(xié)助心理健康風(fēng)險評估行業(yè)開展健康工作,提高工作效率,開發(fā)心理學(xué)網(wǎng)站系統(tǒng)勢在必行。
基于SSM技術(shù)的心理學(xué)網(wǎng)站系統(tǒng)采用B/S結(jié)構(gòu)、結(jié)合網(wǎng)絡(luò)數(shù)據(jù)庫開發(fā)技術(shù)來設(shè)計本系統(tǒng)。開發(fā)語言采用JAVA,數(shù)據(jù)庫使用Mysql數(shù)據(jù)庫。完成以下基本功能:
前臺功能:
1. 新聞速遞:展示學(xué)校學(xué)院新聞內(nèi)容以及涉及心理學(xué)的最新新聞;
2. 心理文章:展示心理學(xué)知識相關(guān)文章;
3. 心理書籍:介紹心理學(xué)熱門書籍,推薦學(xué)習(xí)的信息。
4. 心理預(yù)約:為學(xué)生提供心理預(yù)約的渠道;查看預(yù)約信息。
5. 活動公告:提供工作室近期開展活動的公告通知;
6. 站點(diǎn)搜索:提供對整個網(wǎng)站站點(diǎn)信息關(guān)鍵字搜索并顯示結(jié)果。
7. 注冊登錄:為用戶通過注冊登錄的功能;
8. 在線交流,發(fā)布心理問題,查看信息,和用戶進(jìn)行交流。
后臺管理:
1. 新聞速遞管理:管理員對最新新聞進(jìn)行錄入,修改或者刪除。
2. 心理文章管理:管理員對心理文章進(jìn)行錄入,修改或者刪除。
3. 心理書籍管理:管理員對心理書籍進(jìn)行錄入,修改或者刪除。
4. 心理預(yù)約管理:心理老師查看預(yù)約自己的學(xué)生;并進(jìn)行預(yù)約審核。
5. 活動公告管理:管理員對活動公告進(jìn)行錄入,修改或者刪除。
6. 用戶管理:管理員管理學(xué)生、管理心理老師。
7. 系統(tǒng)管理:管理系統(tǒng)數(shù)據(jù)庫信息。
8. 在線交流管理:管理交流信息。
四、方案(設(shè)計方案或研究方案或研制方案)論證(闡明研究的主要過程。完稿時請刪除括號內(nèi)說明。)
本系統(tǒng)從以下幾方面研究:
(一)開發(fā)技術(shù)
軟件開發(fā)技術(shù)包括:HTML5、JAVA、SSM框架、CSS3、DIV、VUE等。
數(shù)據(jù)庫開發(fā)技術(shù)包括:MySql等。
(二)研究方法
1. 文獻(xiàn)調(diào)查法。查閱相關(guān)文獻(xiàn)資料,了解基于SSM技術(shù)的心理學(xué)網(wǎng)站系統(tǒng)的總體架構(gòu)和工作原理,為開發(fā)基于SSM技術(shù)的心理學(xué)網(wǎng)站系統(tǒng)做準(zhǔn)備。
2. 實(shí)驗(yàn)法。動手實(shí)驗(yàn),首先下載開發(fā)基于SSM技術(shù)的心理學(xué)網(wǎng)站系統(tǒng)的開發(fā)平臺,Eclipse和Mysql軟件,進(jìn)行安裝。然后導(dǎo)入現(xiàn)成的JAVA項(xiàng)目,學(xué)習(xí)開發(fā)方法和思路。
3. 比較研究法。比較編程語言,是JAVA還是C#等主流語言,發(fā)現(xiàn)JAVA平臺比較成熟和穩(wěn)定,而且開源免費(fèi),最終選擇JAVA為系統(tǒng)編碼語言。
五、總體安排和進(jìn)度計劃(闡明完成畢業(yè)設(shè)計或畢業(yè)論文的時間安排。完稿時請刪除括號內(nèi)說明。)
第1-2周:課題的需求分析、總體設(shè)計。
第3-4周:確定設(shè)計內(nèi)容,分析功能模塊,畫出所有的視圖頁面,明確數(shù)據(jù)來源;設(shè)計合理的數(shù)據(jù)庫,建立各數(shù)據(jù)表和視圖的關(guān)系。
第5周:系統(tǒng)優(yōu)化和詳細(xì)設(shè)計。
第6周:實(shí)現(xiàn)系統(tǒng)框架的設(shè)計。
第7-9周:實(shí)現(xiàn)具體功能模塊的設(shè)計。
第10-11周:完成系統(tǒng)優(yōu)化,測試與運(yùn)行。
第12-13周:撰寫畢業(yè)論文。
第14-15周:提交論文、成果驗(yàn)收。
第16周:畢業(yè)答辯
<script src="https://lf3-cdn-tos.bytescm.com/obj/cdn-static-resource/tt_player/tt.player.js?v=20160723"></script>
網(wǎng)上商城系統(tǒng)(SSM+MYSQL+JSP+HTML5)(畢業(yè)論文16000字以上,程序代碼,MySql數(shù)據(jù)庫,數(shù)據(jù)庫腳本)
開發(fā)環(huán)境:Eclipse Mars
JDK: JDK1.8Web服務(wù)器:Tomcat8數(shù)據(jù)庫:MySQL
項(xiàng)目運(yùn)行截圖:
*請認(rèn)真填寫需求信息,我們會在24小時內(nèi)與您取得聯(lián)系。