本文目錄一覽:
- 1、java可以開發什麼項目?
- 2、java 項目 , List,需要獲取list中的重複數據
- 3、學Java有哪些可以練手的項目
- 4、java適合大學生寫的項目有哪些?說全一點。
- 5、JAVA繼承實例
java可以開發什麼項目?
小編收集了java開發10個練手項目教程,大企業實戰項目教程+源碼,將近5G的資料通通送給你!
項目一:Ting域主持人
項目介紹:Ting域主持人項目是一個標準的互聯網項目,主要為各種需要主持人的場合提供主持人聘請相關功能。項目包含了前台和後台。前台主要是讓新人和婚慶公司搜索相關主持人並進行聘請,在線對主持人下訂單。後台是讓主持人對自己訂單的管理以及管理員對整個平台的管理。
技術架構:Spring、SpringMVC、MyBatis、MyBatisPlus、移動支付、短信驗證、RBAC、EasyUI、POI、百度chart
項目亮點:真實企業項目;已上線項目;包含企業產品經理設計的項目原型;標準互聯網項目,包含前後端;完整的第三方平台接入
2、未來出行汽車租賃平台
項目介紹:未來出行汽車租賃平台是為汽車出租、出售進行管理的平台。管理員平台中可以對租賃人和汽車進行管理。項目包含:客戶管理、業務管理、系統管理、汽車管理、租賃人管理等模塊。項目中還包含了完善的權限管理相關功能。
技術架構:Spring、SpringMVC、MyBatis、MyBatisPlus、移動支付、短信驗證、RBAC、EasyUI、POI、百度chart
項目亮點:完善的頁面資源;汽車租賃業務全部實現;概括能力強。包含了所學的全部技術
3、至尊智能家居
項目介紹:智能家居隨着互聯網和物聯網的發展逐漸走進千家萬戶。智能家居的企業和工廠越來越多。至尊智能家居是智能家居企業進行綜合管理的內部系統。可以實現智能家居管理、人事行政管理、系統公告、知識管理、任務管理、銷售管理、項目管理、統計分析、系統設置、產品資料管理等功能。
技術架構:Spring Boot、SpringMVC、MyBatis、Druid、Logback、Quartz、Shiro、Swagger2、Linux、BootStrap
項目亮點:使用快速開發框架,真實感受最初進入企業的感覺;小組項目,完全模擬企業項目組開發中如何進行配合;Linux服務器,不僅僅是開發項目,還包含了部署項目
4、百戰商城
項目介紹:百戰商城項目是一個大型綜合性的B2C平台。完全採用SOA模式架構,使用Dubbo實現服務調用。基於高並發、海量數據環境進行實現。
百戰商城分為前後台兩套系統。後台系統使用FastDFS實現分布式文件存儲主要負責商品管理,商品分類管理,CMS等內容。前台系統使用Redis實現緩存數據查詢包含首頁服務,搜索服務,單點登錄服務、購物車服務,訂單服務等。
技術架構:Spring Boot、Spring MVC、MyBatis、Zookeeper、Dubbo、Redis、Solr、RabbitMQ、FastDFS、Nginx、Spring Security、Spring Session、MyBatis Plus、MyCat
項目亮點:真實大型互聯網項目呈現;SOA架構;高並發解決方案;RabbitMQ實現流量削峰和異步消息;使用Solr實現海量數據搜索;Redis緩存穿透、緩存雪崩、緩存擊穿解決方案;基於Linux平台部署該項目,企業真實服務器環境;Nginx服務代理、負載均衡;使用Navicat做數據庫分庫分表及讀寫分離;FastDFS分布式文件存儲;Spring Security 完成權限驗證;Spring Session 分布式Session
5、Livegoods房源租賃海選平台
項目介紹:本項目為前後端分離項目,移動客戶端為其平台。作為互聯網時代房屋平台,Livegoods擁有完善的房屋租賃資源搜索能力,可以根據城市定位,精確高效的搜索到需要的租賃房源信息。本系統分為租客平台、業主平台、用戶管理平台兩大功能平台。
技術架構:SpringBoot、SpringMVC、MyBatis、SpringDataMongoDB、SpringData、ElasticSearch、MongoDB、Spring Cloud、ElasticSearch、FastDFS、Nginx、支付
項目亮點:前後端分離項目,感受目前企業開發最主流的前後端分離開發模式;移動端項目,可以感受Java程序員開發app服務端的實現過程;微服務架構;秒殺系統實現;海量數據搜索;鏡像和雲
6、數字貨幣交易所項目
項目介紹:開源數字貨幣交易所,基於Java開發的比特幣交易所,包含BTC交易所、ETH交易所、數字貨幣交易所、交易平台、撮合交易引擎等核心模塊。項目技術採用業界最流行、社區非常活躍的開源組件Spring Cloud Alibaba來構建我們的交易系統,是行業第一家基於Alibaba技術的大型項目,也是Spring Cloud的最佳實踐之一。
項目架構:
後端技術:Spring Cloud Alibaba + Spring Boot + Mybatis Plus + Elasticsearch + Kafka + Mongodb + Zookeeper + RocketMQ + OAuth2、0 + Jwt + Redis + Hutool + Orika + Fst + Swagger-ui + Mycat + Docker + ECS + OSS + 騰訊防水牆
前端技術:Vue + iView + less + axios
7、尚學堂OA系統
項目介紹:尚學堂OA系統取自真實的尚學堂辦公自動化平台,包括人事管理、考勤管理、報銷管理、收支管理等多個模塊。可以全面練習JSP/Servlet核心技能、MVC模式、Ajax、數據庫設計和多表SQL語句操作、PowerDesigner繪製數據庫模型圖、業務流程圖、多種面向對象模型圖,還有驗證碼、POI、Echarts、JUnit、kindeditor、My97DatePicker等輔助技術。通過該項目,學生熟悉項目設計開發流程,具有自主設計和開發項目初步能力。
功能模塊:尚學堂OA系統:包括人事管理、考勤管理、報銷管理、收支管理等多個模塊。包含人事管理中的部門管理、崗位管理練習單表的MVC操作,人事管理中的員工管理練習多表的MVC操作。考勤管理練習Ajax的應用。報銷管理涉及理解業務流程、異常鏈、事務管理等多項技能。收支管理主要是練習Echarts圖表插件的使用,使用柱狀圖、餅圖等直觀顯示統計數據。
需要java項目資料的小夥伴可以添加一下分享資料的官方老師WX:18731997677,備註“gx尚學堂”可以找老師免費領取幾649套簡歷模板哦!
java 項目 , List,需要獲取list中的重複數據
java項目中獲取list重複數據可以使用list的reduplicateIndex方法,實例如下:
public static void main(String[] args) throws Exception {
ListString list = new ArrayListString();
list.add(“123”);
list.add(“456”);
list.add(“555”);
list.add(“123”);
list.add(“444”);
list.add(“123”);
// 輸出原 List 的內容
for (int i = 0; i list.size(); i++) {
System.out.printf(“%2d — %s%n”, i, list.get(i));
}
System.out.println(“=============”);
// 輸出查找重複元素的內容
int[] indexArray = reduplicateIndex(list, “123”);
for (int index : indexArray) {
System.out.printf(“%2d — %s%n”, index, list.get(index));
}
}
public static T int[] reduplicateIndex(ListT list, T str) throws Exception{
ListT tmp = new ArrayListT(list);
int[] index = new int[Collections.frequency(list, str)];
int start = tmp.indexOf(str);
int end = tmp.lastIndexOf(str);
int i = 0;
if(start 0) {
throw new Exception(“數組中不存在 ” + str + ” 元素!”);
}
index[i] = start;
while (start != end) {
index[++i] = end;
tmp = tmp.subList(0, end);
end = tmp.lastIndexOf(str);
}
Arrays.sort(index);
return index;
}
學Java有哪些可以練手的項目
1.各種管理系統
源碼下載(實例一):
jsp開發完整的博研圖書館後台管理系統,不使用框架開發的,太完美了
源碼下載(實例二):
javaWeb圖書館管理系統源碼mysql版本
源碼下載(實例三)
GitHub – uboger/LibraryManager: JAVA GUI 圖書館管理系統
源碼下載(實例四):
java swing開發企業人事管理系統源代碼下載
2.簡易的聊天系統
源碼下載(實例一):
java swing開發網絡聊天室群聊系統,基於java多線程socket編程
源碼下載(實例二):
java swing開發大貓聊天室源碼,簡單易懂,適合java swing初學者
源碼下載(實例三):
java websocket開發簡單聊天室系統,實現群聊與一對一單人聊天案例
源碼下載(實例四):
jsp開發簡單聊天室demo-分享
3.實現通訊錄
java通訊錄實現了添加刪除和查找功能
源碼下載(二):
JAVA版通訊錄管理系統課程設計源碼
源碼下載(三):
Java Swing界面.完美設計通訊錄..有需要的下
4.坦克大戰
源碼下載(一):
俄羅斯方塊 JAVA版
源碼下載(二):
GitHub – FieldSoft-HelloClyde/Tetris-Swing: Swing編寫的俄羅斯方塊
源碼下載(三):
java swing開發的俄羅斯方塊遊戲,包含完整代碼+詳細注釋
5.五子棋
源碼下載(一):
Java實踐(十一)——五子棋
源碼下載(二):
java swing開發的五子棋小遊戲源碼
源碼下載(三):
java swing開發單機版五子棋源代碼下載
源碼下載(四):
Java五子棋算法和代碼
6.中國象棋
源碼下載(一):Java實踐(十二)——中國象棋
7.貪吃蛇
java貪吃蛇源代碼 、 java貪吃蛇源代碼
以上是總結出來的簡單的練手項目,希望對你有幫助
java適合大學生寫的項目有哪些?說全一點。
大部分學生在學習Java的過程中,在Java項目實戰方面存在着很多不足,導致在面試的時候無法過關。下面推薦幾個適合大學生的Java實戰項目:
1. 貪吃蛇、俄羅斯方塊、打飛機、棋牌類遊戲等遊戲。在學習完Java常用API後,結合Swings編程做一些桌面應用程序及遊戲,為以後的實戰項目做鋪墊。
2. 內容管理系統。內容管理系統是企業信息化建設和電子政務的新寵,解決了頁面製作無序,網站風格不統一,大量信息堆積,內容繁雜等問題。
3. 智能商貿系統。智能商貿系統的核心業務是模擬企業級項目開發流程,包括了供應鏈管理、經銷商分銷管理、各種入庫、出庫管理等實際業務,採用SSJ三大主流框架的集成與實際項目應用。
JAVA繼承實例
繼承是面向對象編程技術的一塊基石,因為它允許創建分等級層次的類。運用繼承,你能夠創建一個通用類,它定義了一系列相關項目的一般特性。該類可以被更具體的類繼承,每個具體的類都增加一些自己特有的東西。在Java 術語學中,被繼承的類叫超類(superclass ),繼承超類的類叫子類(subclass )。因此,子類是超類的一個專門用途的版本,它繼承了超類定義的所有實例變量和方法,並且為它自己增添了獨特的元素。
繼承一個類,只要用extends 關鍵字把一個類的定義合併到另一個中就可以了。為了理解怎樣繼承,讓我們從簡短的程序開始。下面的例子創建了一個超類A和一個名為B的子類。注意怎樣用關鍵字extends 來創建A的一個子類。
// A simple example of inheritance.
// Create a superclass.
class A {
int i, j;
void showij() {
System.out.println(“i and j: ” + i + ” ” + j);
}
}
class B extends A {
int k;
void showk() {
System.out.println(“k: ” + k);
}
void sum() {
System.out.println(“i+j+k: ” + (i+j+k));
}
}
class SimpleInheritance {
public static void main(String args[]) {
A superOb = new A();
B subOb = new B();
System.out.println(“Contents of superOb: “);
superOb.showij();
System.out.println();
subOb.i = 7;
subOb.j = 8;
subOb.k = 9;
System.out.println(“Contents of subOb: “);
subOb.showij();
subOb.showk();
System.out.println();
System.out.println(“Sum of i, j and k in subOb:”);
subOb.sum();
}
}
該程序的輸出如下:
Contents of superOb:
i and j: 10 20
Contents of subOb:
i and j: 7 8
k: 9
Sum of i, j and k in subOb:
i+j+k: 24
像你所看到的,子類B包括它的超類A中的所有成員。這是為什麼subOb 可以獲取i和j 以及調用showij( ) 方法的原因。同樣,sum( ) 內部,i和j可以被直接引用,就像它們是B的一部分。
儘管A是B的超類,它也是一個完全獨立的類。作為一個子類的超類並不意味着超類不能被自己使用。而且,一個子類可以是另一個類的超類。聲明一個繼承超類的類的通常形式如下:
class subclass-name extends superclass-name {
// body of class
}
你只能給你所創建的每個子類定義一個超類。Java 不支持多超類的繼承(這與C++ 不同,在C++中,你可以繼承多個基礎類)。你可以按照規定創建一個繼承的層次。該層次中,一個子類成為另一個子類的超類。然而,沒有類可以成為它自己的超類。
成員的訪問和繼承
儘管子類包括超類的所有成員,它不能訪問超類中被聲明成private 的成員。例如,考慮下面簡單的類層次結構:
/* In a class hierarchy, private members remain private to their class.
This program contains an error and will not compile.
*/
// Create a superclass.
class A {
int i;
private int j; // private to A
void setij(int x, int y) {
i = x; j = y;
}
}
// A”s j is not accessible here.
class B extends A {
int total; void sum() {
total = i + j; // ERROR, j is not accessible here
}
}
class Access {
public static void main(String args[]) {
B subOb = new B();
subOb.setij(10, 12);
subOb.sum();
System.out.println(“Total is ” + subOb.total);
}
}
該程序不會編譯,因為B中sum( ) 方法內部對j的引用是不合法的。既然j被聲明成private,它只能被它自己類中的其他成員訪問。子類沒權訪問它。
注意:一個被定義成private 的類成員為此類私有,它不能被該類外的所有代碼訪問,包括子類。
更實際的例子
讓我們看一個更實際的例子,該例子有助於闡述繼承的作用。新的類將包含一個盒子的寬度、高度、深度。
// This program uses inheritance to extend Box.
class Box {
double width; double height; double depth;
// construct clone of an object
Box(Box ob) { // pass object to constructor
width = ob.width;
height = ob.height;
depth = ob.depth;
}
// constructor used when all dimensions specified
Box(double w, double h, double d) {
width = w;
height = h;
depth = d;
}
// constructor used when no dimensions specified
Box() {
width = -1; // use -1 to indicate
height = -1; // an uninitialized
depth = -1; // box
}
// constructor used when cube is created
Box(double len) {
width = height = depth = len;
}
// compute and return volume double
volume() {
return width * height * depth;
}
}
BoxWeight extends Box {
double weight; // weight of box
// constructor for BoxWeight
BoxWeight(double w, double h, double d, double m) {
width = w;
height = h;
depth = d;
weight = m;
}
}
class DemoBoxWeight {
public static void main(String args[]) {
BoxWeight mybox1 = new BoxWeight(10, 20, 15, 34.3);
BoxWeight mybox2 = new BoxWeight(2, 3, 4, 0.076);
double vol;
vol = mybox1.volume();
System.out.println(“Volume of mybox1 is ” + vol);
System.out.println(“Weight of mybox1 is ” + mybox1.weight);
System.out.println();
vol = mybox2.volume();
System.out.println(“Volume of mybox2 is ” + vol);
System.out.println(“Weight of mybox2 is ” + mybox2.weight);
}
}
該程序的輸出顯示如下:
Volume of mybox1 is 3000.0
Weight of mybox1 is 34.3
Volume of mybox2 is 24.0
Weight of mybox2 is 0.076
BoxWeight 繼承了Box 的所有特徵並為自己增添了一個weight 成員。沒有必要讓BoxWeight 重新創建Box 中的所有特徵。為滿足需要我們只要擴展Box就可以了。
繼承的一個主要優勢在於一旦你已經創建了一個超類,而該超類定義了適用於一組對象的屬性,它可用來創建任何數量的說明更多細節的子類。每一個子類能夠正好製作它自己的分類。例如,下面的類繼承了Box並增加了一個顏色屬性:
// Here, Box is extended to include color.
class ColorBox extends Box {
int color; // color of box
ColorBox(double w, double h, double d, int c) {
width = w;
height = h;
depth = d;
color = c;
}
}
記住,一旦你已經創建了一個定義了對象一般屬性的超類,該超類可以被繼承以生成特殊用途的類。每一個子類只增添它自己獨特的屬性。這是繼承的本質。
超類變量可以引用子類對象
超類的一個引用變量可以被任何從該超類派生的子類的引用賦值。你將發現繼承的這個方面在很多條件下是很有用的。例如,考慮下面的程序:
class RefDemo {
public static void main(String args[]) {
BoxWeight weightbox = new BoxWeight(3, 5, 7, 8.37);
Box plainbox = new Box(); double vol;
vol = weightbox.volume();
System.out.println(“Volume of weightbox is ” + vol);
System.out.println(“Weight of weightbox is ” + weightbox.weight);
System.out.println();
// assign BoxWeight reference to Box reference
plainbox = weightbox;
vol = plainbox.volume(); // OK, volume() defined in Box
System.out.println(“Volume of plainbox is ” + vol);
/* The following statement is invalid because plainbox does not define a weight member. */
// System.out.println(“Weight of plainbox is ” + plainbox.weight);
}
}
這裡,weightbox 是BoxWeight 對象的一個引用,plainbox 是Box對象的一個引用。既然BoxWeight 是Box的一個子類,允許用一個weightbox 對象的引用給plainbox 賦值。
當一個子類對象的引用被賦給一個超類引用變量時,你只能訪問超類定義的對象的那一部分。這是為什麼plainbox 不能訪問weight 的原因,甚至是它引用了一個BoxWeight 對象也不行。仔細想一想,這是有道理的,因為超類不知道子類增加的屬性。這就是本程序中的最後一行被注釋掉的原因。Box的引用訪問weight 域是不可能的,因為它沒有定義。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/253594.html