第一篇:好程序員大數(shù)據(jù)Java語言基礎學習12條心得感悟(本站推薦)
好程序員大數(shù)據(jù)Java語言基礎學習12條心得感悟
入學千鋒好程序員大數(shù)據(jù)高端班有一個月了,首先學習的是Java語言基礎階段,以下是我在這一月中的學習經(jīng)驗,希望對迷茫的Java愛好者有所幫助:
第一步:首先要做好學習前的準備工作:Java語言一般用于大型的服務器程序開發(fā),所有有必要了解如下內(nèi)容:Unix開發(fā)環(huán)境Unix系統(tǒng)原理、Unix開發(fā)環(huán)境、Unix常用命令。熟練掌握Unix常用命令;熟練構建下的Java開發(fā)環(huán)境。
第二步:然后進入Java語言基礎的學習階段,學習任何一門語言都要打好基礎,曾經(jīng)學過高級程序語言(C,C++等)來說,Java語言基礎有自己的特點,但是基本規(guī)律都是相通的,如:算法基礎、常用數(shù)據(jù)結構、企業(yè)編程規(guī)范。掌握常見的數(shù)據(jù)結構和實用算法,培養(yǎng)良好的企業(yè)級編程習慣。
第三步:掌握Java語言基礎后接下來就是面向對象語言的共性:Java面向對象面向對象特性:封裝、繼承、多態(tài)等。掌握面向對象的基本原則以及在編程實踐中的意義;掌握Java面向對象編程基本實現(xiàn)原理。
第四步:JDK核心API語言核心包、異常處理、常用工具包、集合框架。熟練掌握JDK核心API編程技術;理解API設計原則;具備熟練的閱讀API文檔的能力;JavaSE核心異常處理、多線程基礎、IO系統(tǒng)、網(wǎng)絡編程、Swing組件、JVM性能調(diào)優(yōu)(JVM內(nèi)存結構剖析、GC分析及調(diào)優(yōu)、JVM內(nèi)存參數(shù)優(yōu)化)、Java泛型、JDK新特性。熟練掌握JavaSE核心內(nèi)容,特別是IO和多線程;初步具備面向對象設計和編程的能力;掌握基本的JVM優(yōu)化策略。XML XML語法、XML解析(SAX、DOM)、Dom4j組件、Digester組件。熟練掌握XML語法規(guī)則;理解DOM模型;熟悉Java對XML的各種解析方式。
第五步:SQL語言SQL語句基礎和提高、SQL語句調(diào)優(yōu)。熟練的掌握SQL語句;掌握一定的數(shù)據(jù)庫查詢技巧及SQL語句優(yōu)化技巧。Oracle數(shù)據(jù)庫開發(fā)Oracle體系結構及系統(tǒng)管理、Oracle數(shù)據(jù)庫高級編程、數(shù)據(jù)庫設計基礎。掌握Oracle體系結構及核心編程技術
第六步:連接數(shù)據(jù)庫:JDBC JDBC核心API(Connection、Statement、ResultSet)、JDBC優(yōu)化技術(緩存技術、批處理技術、連接池技術)。理解JDBC作為規(guī)范的設計原則;熟練掌握JDBC API;具備使用JDBC對數(shù)據(jù)庫進行高效訪問的能力。
第七步:軟件工程基礎軟件過程和軟件活動;需求設計、概要設計、詳細設計基本原則和文檔規(guī)范;配置管理的基本概念和必要性;CVS基本操作;Ant簡介理解軟件過程的普遍概念和基本的軟件活動;理解迭代的意義;掌握Ant、CVS等常用配置管理及部署工具。
第八步:OOAD及設計模式面向對象基本設計原則、工廠模式、策略模式、適配器模式、代理模式等、門面模式。理解面向對象設計的一般原則;理解重用的意義;掌握常見的設計模式。
第九步:HTML/CSS HTML基本文檔結構、掌握CSS基礎語法、關于HTML文檔塊、鏈接、列表、表格、表單等。掌握HTML基本原理;掌握CSS各種選擇器及常見樣式設置;熟練使用HTML常用元素。
JavaScript核心JavaScript語言基礎(數(shù)據(jù)類型、函數(shù)、對象、閉包)、Java DOM編程、事件模型、JavaScript面向對象編程。深入理解JavaScript語言原理;熟練的使用JavaScript對HTMLDOM進行編程;熟練掌握JavaScript對象對象封裝技巧,為后續(xù)的JavaScript學習打下堅實的基礎。
Servlet/JSP Servlet生命周期及Servlet服務器、Tomcat部署配置、JSP語法、自定義標記、JSTL和EL表達式、JSP新特性、Java Web設計模式。透徹理解Servlet核心原理;熟練掌握Servlet API;透徹理解JSP引擎工作原理;透徹理解標記庫原理;熟悉常見的Java Web設計模式;為后續(xù)的Java Web開發(fā)打下堅實的理論基礎。
第十步:Ajax Ajax基礎、XHR對象、Ajax設計模式、JSON技術掌握Ajax的基本通信原理;掌握基于XML和JSON的Ajax數(shù)據(jù)規(guī)則。
第十一步:JavaScript框架JQuery、JQuery插件、DWR。掌握JQuery核心API;了解JQuery基本設計原則;了解多種JQuery插件;掌握DWR的基本原理及應用技巧。
第十二步:ssh三大框架的學習,這是企業(yè)實際應用的框架模型:
1.Struts 2.1.6 Struts2核心控制流程、Ognl、Action、Interceptor、,Result、FreeMarker、Struts2標記庫、Struts2擴展、Struts2應用技巧(輸入驗證、消息國際化、文件上傳和下載、防止重復提交等)。熟練掌握Struts2核心要件,特別是Interceptor和Result;掌握基于模板技術的Struts2 UI組件;掌握基于Ognl的數(shù)據(jù)共享方式、掌握Struts2各種定制及擴展方式;熟練掌握基于Struts2的Web開發(fā)技巧。
2.Hibernate 3.2.1 ORM概念、Hibernate核心API、Hibernate實體映射技術、Hibernate關系映射技巧、HQL查詢、OSCache及Hibernate緩存技術。重點掌握Hibernate多種關聯(lián)映射技巧及其實用背景,做到在合適的時候使用合適的關聯(lián)方式;掌握多種Hibernate查詢技巧及優(yōu)化技術。
3.Spring 2.5 Spring Ioc基礎、Ioc注入技巧、對象高級裝配(自動裝配、模板裝配、組件掃描特性、FactoryBean、對象生命周期)、Spring AOP原理、AspectJ、Spring JDBC支持、Spring事務及安全管理;Spring整合Hibernate、Spring整合Struts、Spring MVC簡介。深入理解Ioc和AOP的基本原理和實現(xiàn)方式;熟練掌握SpringIoc及AOP實現(xiàn)方式;熟練掌握Spring事務管理;熟練掌握Spring與其他組件的整合技術。
Java語言基礎階段作為大數(shù)據(jù)基礎,學習完以上內(nèi)容你會對Java開發(fā)有一個新的認識,希望我的這些心得體會會對想學習Java的同學有所幫助。如有疑問,歡迎加入大數(shù)據(jù)交流之家:608538939,我們可以共同討論、一起進步。
第二篇:好程序員學習筆記-Java網(wǎng)絡
1、網(wǎng)絡基礎知識
2、JAVA網(wǎng)絡編程網(wǎng)絡與分布式集群系統(tǒng)的區(qū)別:每個節(jié)點都是一臺計算機,而不是各種計算機內(nèi)部的功能設備。Ip:具有全球唯一性,相對于internet,IP為邏輯地址。端口(port):一臺PC中可以有65536個端口,進程通過端口交換數(shù)據(jù)。連線的時候需要輸入IP也需要輸入端口信息。計算機通信實際上的主機之間的進程通信,進程的通信就需要在端口進行聯(lián)系。192.168.0.23:21協(xié)議:為了進行網(wǎng)絡中的數(shù)據(jù)交換(通信)而建立的規(guī)則、標準或約定。不同層的協(xié)議是不同的。網(wǎng)絡層:尋址、路由(指如何到達地址的過程)傳輸層:端口連接TCP模型:應用層/傳輸層/網(wǎng)絡層/網(wǎng)絡接口端口是一種抽象的軟件結構,與協(xié)議相關:TCP23端口和UDT23端口為兩個不同的概念。端口應該用1024以上的端口,以下的端口都已經(jīng)設定功能。套接字(socket)的引入:
Ip+Port=Socket(這是個對象的概念。)Socket為傳輸層概念,而JSP是對應用層編程。例: java.net.*;(Server端定義順序)ServerSocket(intport)Socket.accept();//阻塞方法,當客戶端發(fā)出請求是就恢復 如果客戶端收到請求: 則Socket SI=ss.accept();注意客戶端和服務器的Socket為兩個不同的socket。Socket的兩個方法:getInputStream():客戶端用getOutputStream()服務器端用使用完畢后切記Socket.close(),兩個Socket都關,而且不用關內(nèi)部的流。在client
端,Socket s=new Socket(“127.0.0.1”,8000);127.0.0.1為一個默認本機的地址。
練習:
1、客戶端向服務器發(fā)出一個字符串,服務器轉換成大寫傳回客戶端。大寫的函數(shù):String.toUpperCase()
2、服務器告訴客戶端:“自開機以來你是第n 個用戶”。12.12UDP編程:DatagramSocket(郵遞員):對應數(shù)據(jù)報的Socket概念,不需要創(chuàng)建兩個socket,不可使用輸入輸出流。DatagramPacket(信件):數(shù)據(jù)包,是UDP下進行傳輸數(shù)據(jù)的單位,數(shù)據(jù)存放在字節(jié)數(shù)組中。UDP也需要現(xiàn)有Server端,然后再有Client端。兩端都是DatagramPacket(相當于電話的概念),需要NEW兩個DatagramPacket。InetAddress:網(wǎng)址這種信息傳輸方式相當于傳真,信息打包,在接受端準備紙。模式:發(fā)送端:Server:DatagramPacketinDataPacket=new DatagramPacket((msg,msg.length);InetAdress.getByName(ip),port);接收端:clientAddress=inDataPack.getAddress();//取得地址 clientPort=inDataPack.getPort();//
datagramSocket.send;//Server
datagramSocket.accept;//Client URL:
在應用層的編程 注意比較:
http://Localhost:8080/directory//查找網(wǎng)絡服務器的目錄 file://directory//查找本地的文件系統(tǒng) java的開發(fā)主要以http為基礎。反射:主要用于工具和框架的開發(fā)。反射是對取得端口號
于類的再抽象;通過字符串來抽象類。JAVA類的運行:classLoader:加載到虛擬機(vm)Vm中只能存儲對象(動態(tài)運行時的概念),.class文件加載到VM上就成為一個對象,同時初始靜態(tài)成員及靜態(tài)代碼(只執(zhí)行一次)。
Lang包下有一個類為Class:在反射中使用。此類中的每個對象為VM中的類對象,每個類都對應類類的一個對象(class.class)。例:對于一個Object類,用getClass()得到其類的對象,獲得類的對象就相當于獲得類的信息,可以調(diào)用其下的所有方法,包括類的私有方法。注意:在反射中沒有簡單數(shù)據(jù)類型,所有的編譯時類型都是對象。反射把編譯時應該解決的問題留到了運行時。
第三篇:好程序員大數(shù)據(jù)培訓心得感悟 敬謝恩師大數(shù)據(jù)賦能之路
好程序員大數(shù)據(jù)培訓心得感悟 敬謝恩師大數(shù)據(jù)賦能之路
時光飛逝,日月如梭,轉眼間我踏進千鋒這個大家庭度過五個多月的奮斗時光。從最開始的編程入門---Java學習階段(這是非常重要的階段,只有打下扎實的基礎才能在以后的階段里不落后),到后來的大數(shù)據(jù)核心課程---hadoop學習階段(期間不斷地接觸新技術、新概念、新知識,一個又一個的知識點就呼嘯而來,需要堅韌的毅力堅持下來),再到后來的spark學習階段(這里的感受同hadoop階段是一樣一樣的),大數(shù)據(jù)學習的最后階段便是在前面學習的基礎上,通過項目來進行知識點的鞏固和理解,以及對以后工作的流程和業(yè)務有一定的了解。在這五個多月的時光里,有汗水、有努力、有辛勞;有就業(yè)老師、技術老師、班主任對我孜孜不倦的教誨和同學對我的幫助,這里對大家說一句謝謝!
關于大數(shù)據(jù)培訓,我是零基礎來學習的,之前也只是在網(wǎng)上或聽朋友們聊起過,自己開始根本不知道它是什么樣子。起初我還是有些擔心,因為沒有“底子”怕跟不上高端班學習的進度,但是周圍的老師、同學都很熱心,也慢慢的和他們打成一片。老師講課內(nèi)容很細致,從簡單的賦值、運算,到進程、線程的運用,老師每天辛苦傳授我們專業(yè)知識,為我們解答各種學習上的‘疑難雜癥’。日積月累,我漸漸的跟上大家的進度。而且,一旦上課內(nèi)容消化不了,老師就會講第二遍甚至第三遍,如果還不懂,課后還能私下請教老師,老師都會細致的講解問題。
子曰“:學而不思則罔,思爾不學則殆”,老師將技術傳授于我們,我們要好好結合運用,多敲代碼多思考才能理解這個程序運行的思路。有了思路代碼就能夠很快的寫出。
在這五個多月里,我收獲許多,從開始的陌生人到現(xiàn)在的同學,從原來的不習慣到現(xiàn)在的適應,從剛開始的懵懂無措到現(xiàn)在自己能夠獨立的完成一些作業(yè)和代碼,有很多成就感和滿足感。
在好程序員的大數(shù)據(jù)培訓生活雖然很累(每晚十點左右回去),但每天都能學到新東西,每天都過得很充實。使我的知識面又得到了拓展,也許今后的坎坷和困難絕對不會少,但我早已做好準備!也愿大家都前程似錦,加油沖沖沖!
第四篇:UNIX、Oracle、Core Java 語言基礎實訓心得
一,工作內(nèi)容(培訓內(nèi)容),WOSS: Wide-Brand Operation Support System 寬帶運營支撐系統(tǒng)
負責多個用戶通過一臺NAS(Net Access Server 接入服務器)進行寬帶接入記費的系統(tǒng),支持ADSL撥號,支持Radius協(xié)議,支持包月,小時,后臺采用J2EE實現(xiàn),功能強大,可移植于各種平臺。2,UNIX基本命令
使用unix命令
3,Oracle數(shù)據(jù)庫SQL命令
主要負責數(shù)據(jù)庫和java的鏈接(JDBC),保存數(shù)據(jù),刪除數(shù)據(jù),創(chuàng)建表等。
4,Core Java 語言
學習Java的基本概念,掌握Sting,Io,Socket等相關知識。
二,項目收獲
現(xiàn)在的社會日新月異,高科技的發(fā)展,需要老師掌握一定的計算機知識,利用網(wǎng)上的教育資源為教學服務,促進學生的發(fā)展。我積極參加學校的計算機培訓。雖然感覺時間有點緊張,但很充實,學到了很多知識,可以說我很好的完成這次學習任務。對于計算機我可以說既熟悉又陌生,雖說經(jīng)常使用,但其中好多東西都還不懂,但我對計算機特別感興趣,經(jīng)過老師的講解,使我對網(wǎng)絡世界有了更進一步的了解??梢哉f讓我大飽眼福,大開眼界。學習中,我學會了如何掌握更好的Java相關知識,數(shù)據(jù)庫,UNIX命令的等,學習是辛苦的,但我認真的去
把的所有內(nèi)容學好,認真完成每一天的學習任務。
學校為提高教師的自身水平提供了良好的平臺,為教師專業(yè)發(fā)展提供了機房。不管是現(xiàn)在還是將來每個教育者應不斷地加強學習,不斷地給自己“充電”,才能不斷的開拓進取,勇于創(chuàng)新,才不至于被社會淘汰。經(jīng)過20天的學習計算機的過程,我感到了學習的快樂,也嘗到了成長的快樂,這就是學習并快樂著吧!2.1 在學習Unix時我學會了很多命令操作
比如:
1.telnet 192.168.1.5
登陸Unix/Linux系統(tǒng)
login(username)
輸入用戶名
password(user’s password)輸入密碼
logout or exit
退出
2.clear 清屏命令
就是CLS清屏 3.pwd 顯示當前所在路徑
4.cd
改變目錄: Accept both absolute 絕對路徑 and relative pathnames相對路徑
cd [directory_name] cd /home/test1/dir2 cd dir4/flowers cd 相同于cd~ cd../..5.ls
Displaying a Listing of Files and Directories
想當于List也相當于Dos下的Dir
ls –a
列出所有信息
ls-F
列出類型 6.ls –l
列出詳細信息
如: d rwx r-x r-x 4 user nobody 1024 Feb 22 09:20.fm
d: 文件類型
rwx: 擁有者
r-x:同組者
r-x:其它人
4:鏈接號
user:擁有者
nobody:組名
1024 :大小
Feb 22 09:20:最后一次修改時間
fm:文件名(藍色的為目錄)7. r
讀權限
w
寫權限,對于目錄來說,可生成文件與子目錄或刪除文件與子目錄
x
執(zhí)行權限,對目錄來說,可查找該目錄下內(nèi)容
沒有權限
如:rw-r--r--8.chmod 修改權限
chmod 555 dante chmod 644 dante
chmod 755 dante 9.create new,empty files or update access and modification times touch filename(s)10.create directories mkdir [-p] directory_name
創(chuàng)建目錄
$mkdir reports/weekly $mkdir dir1 dir2 dir3 $mkdir /games $mkdir –p practice/dir1/admin 11.copy files
拷貝
cp [i] source_file destination_file
加i表示。若有同名的文件就提示一下。不加就不提示。直接覆蓋
cp[i] source_file(s)destination_directory $cp nuts flavors $cp nuts flavors dir2 $cp-i beans nuts 12.copy a directory and its contents to another directory cp –r[i] source_directory(s)destination_directory $cp –r dir3 dir4 $cp –r dir1 dir4 /tmp 13.move or rename files and directories
移動
相當于重命名 $mv dir5 dir614.remove files
刪除
相當于delete
rm [-i] filename(s)
加i刪除時提示是不否確定刪除 15.Remove Directories
rmdir directory_name(s)
刪除目錄 16.man
顯示幫助信息
man –k keyword
顯示關鍵字
19.cat filename(s)
串聯(lián)顯示把多個文件串到一起再輸出
Cat 文件1> 文件2 就是把F1寫到F2再輸出F2 信息被F1覆蓋20.more filename(s)
把文件內(nèi)容顯示到顯示屏
More和cat效果相似
21.head [-n] filename(s)&tail[-n] filename(s)查看頭尾文件 2.2在SQL學習過程中,收獲也頗豐
登錄sqlplus的方式: 1 sqlplus 回車;username: password: 2 sqlplus baocg/baocg 3 sqlplus '/as sysdba' select * from tab;SELECT * FROM TAB;顯示所有表
SQL命令: 可以寫在一行或者多行 中間加空格或者Tab 3 大小寫不敏感 4 不要忘記分號
select * from s_dept;“*”代表所有的列
顯示特殊列
select dept_id,last_name,manager_id from s_emp;
計算功能
select last_name, salary*12, commission_pct from s_emp;優(yōu)先級
select last_name, salary*12 + 100, commission_pct from s_emp;
select last_name,(salary+100)*12, commission_pct
from s_emp;
select last_name, salary*12 *(1+commission_pct/100)annualSalary from s_emp;
連接字符串
select first_name||' '||last_name “Employees” from s_emp;
連接字符串和別名
select first_name||' '||last_name||', '||title “My Employees” from s_emp;
處理NULL值
NVL(commission_pct, 0)select last_name,salary*12
*(1+NVL(commission_pct, annualSalary from s_emp;
0)/100)
distinct的作用
select name from s_dept;
select distinct name from s_dept;
select dept_id, title from s_emp;
select distinct dept_id, title from s_emp;
顯示表的結構 desc s_dept;
char(10);name=“scott” varchar2(10);name=“scott”
c[hange] /old/new 修改字符 l[ist]
顯示上一個命令
/
執(zhí)行上一個命令
a[ppend]
追加 i[nput] text
加字符
del n
刪除行
cl[ear] buff[er]
清理緩存
sqlplus文件命令
save filename----> 把sql保存到文件 get filename----> 獲取文件的內(nèi)容 start filename----> 執(zhí)行文件內(nèi)容 @ filename
----> 執(zhí)行文件內(nèi)容 edit filename----> 編輯文件內(nèi)容
spool filename----> 把顯示的內(nèi)容存到文件里最后別忘記spool off
column 命令
COLUMN last_name HEADING 'Employee|Name' FORMAT A15
select last_name from s_emp;
COLUMN salary JUSTIFY LEFT FORMAT $99,990.00
select salary from s_emp;
查看定義的列 column last_name
取消定義的列
column last_name clear
order by 排序 asc
默認升序 desc
降序
select last_name, dept_id, start_date from s_emp order by last_name(desc);
select last_name, dept_id, start_date from s_emp order by 2(dept_id);
用序號
第五篇:【好程序員學習筆記】C語言 編譯預處理命令
文件包含:
把指定的文件插入到預處理命令行所在的位置并取代該命令行,即把指定的文件和當前的源程序文件連接成一個源文件。#include<文件名>
在文件包含目錄中去查找指定的文件,并將該文件添加到源文件中。一個被包含的文件中可以含有文件包含命令來包含另一個文件。#include“文件名”
命令中文件名的位置是當前源文件的位置,若在當前目錄中未找到該文件,則再到“包含目錄”中去查找。
宏
用一個標識符表示一個字符串,稱為宏,被定義為宏的標識符稱為宏名。在編譯預處理時對程序中所有出現(xiàn)的宏名用宏定義中的字符串去代換,這就是宏替換。它是由系統(tǒng)編譯程序時自動完成的。
無參宏定義
#define 標識符 字符串 如
#define PI 3.14 使用宏時要注意:
(1)宏定義是用宏名來表示一個字符串,在宏展開時用字符串取代宏名。
2)宏定義不是變量定義或語句,在行末不能加分號,如果加上分號則分號也成為字符串的一部分。
(3)宏定義可以出現(xiàn)在程序的任何地方,其作用域是宏定義命令所在位置開始到源程序結束。如果要終止其作用域可使用#undef命令。
(4)宏定義允許嵌套,在宏定義的字符串中可以使用已經(jīng)定義的宏名。在宏展開時將逐層替換。
(5)#define PI 3.1415926 #define AREA PI*y*y 有參宏定義
#define 宏名(形參表)字符串
對帶參數(shù)的宏,在調(diào)用中不僅要進行宏展開,而且還要用實參去替換形參。帶參宏調(diào)用的語法格式如下: 宏名(實參表); #define M(x)x+1 K=M(3);K=3+1 定義有參宏時要注意以下幾點:
(1)有參宏定義中,宏名和形參表之間不能有空格出現(xiàn)。
(2)在函數(shù)中,調(diào)用時要把實參的值賦給形參,進行“值傳遞”。而在帶參宏調(diào)用中,只是符號替換,不存在值傳遞問題。
(3)宏定義中的形參只能是標識符,而宏調(diào)用中的實參可以是表達式。
字符串內(nèi)的形參通常用括號括起來以避免出錯。
在使用宏時不僅要將形式參數(shù)用括號括起來,還應將其整體用括號括起來。#define S(y)((y)*(y))條件編譯
條件編譯可以按不同的條件去編譯不同的程序段。1#ifdef #ifdef 標識符 程序段1 #else 程序段2 #endif 功能:如果標識符已被#define定義過,則對程序段1進行編譯,否則對程序段2進行編譯。格式中的#else部分可以沒有,即: #ifdef 標識符
程序段 #endif
2、#ifndef 語法格式如下: #ifndef 標識符 程序段1
#else 程序段2 #endif 功能與ifdef形式的功能正好相反。
3、#if 常量表達式 #if 常量表達式 程序段1 #else 程序段2 #endif 功能:如果常量表達式的值為真(非0),則對程序段1進行編譯,否則對程序段2進行編譯,因此可以使程序在不同條件下,完成不同的功能。
上面介紹的條件編譯實現(xiàn)的邏輯也可以用條件語句來實現(xiàn),但是用條件語句將會對整個源程序進行編譯,生成的目標代碼程序較長,運行時間也較長,采用條件編譯則根據(jù)條件只編譯其中的程序段1或程序段2,生成的目標程序較短。