这个仓库是 java-for-linux 综合型开源项目 就是把自己开发的多个开源项目集成在一起维护 与编程相关的内容都会存放到 这个仓库里 目前有 6+ 个开源项目 涉及一直要不断复习 开发 改造 维护 两个主要的子项目 写一些开源笔记 开发或维护一些辅助编程小工具 录制一些开源课程 与其他开源项目合作 一直要研究的 JVM JDK 相关源码等。
开源课程子项目:Java 写游戏安全、基于 Linux 的 JNI 动态函数注册、Kali Linux 内核编程、基于 Java For OpenCV 的百度云失效链接自动分享、在 JVM 源码内嵌写 Native 函数给 Java 层调用、C 语言指针、Java 泛型反编译(在开源课程文件夹)。
💡 使用说明:
开源笔记子项目:阅读英文技术文档基础、Docker、Kubernetes、Elasticsearch、FastDFS、OSS、Spring Cloud、Vultr 搭建服务器、互联网视频高效率学习技巧、DDOS 防御、Nginx、Redis、RocketMQ、Java 语法基础、Web 入门、Java 后台数据库、Java SSM框架、Spring Boot 等(在开源笔记、java-for-gitee 文件夹)。
💡 使用说明:
OpenToolbox 子项目:(在 OpenToolbox 文件夹)。
简介:
仿黑客命令行终端工具 一个辅助编程小工具 是一款终端命令小工具 用于敲 Linux 命令 敲各种软件的命令行命令 使用 SSH 命令连接服务器 可以多开窗口。
OpenToolbox 主要功能模块:
命令行输入输出组件模块。
多开窗口模块。
自定义黑色的标题栏,不要系统自带的标题栏模块。
hacker工具箱模块。
爬虫、爬取最新的网络安全新闻显示到GUI模块。
Hacker学习路线、hacking指令搜索模块。
负责系统模块:
-
负责实现命令行输入输出组件模块。
-
负责实现多开窗口模块。
OpenToolbox 核心技术栈:
node-pty、electron、vue、xterm。
业绩:
成为更加专业的开发者。
💡 使用说明:
# 克隆项目
git clone https://gitee.com/OpenDevel/java-for-linux.git
# 进入 OpenToolbox 子项目文件夹
cd OpenToolbox
# 安装 npm
sudo npm install -g cnpm
# 安装 cnpm
sudo cnpm install -g yarn
# 安装依赖
sudo sh npm_install.sh
# 运行
sudo yarn run dev
# 编译
sudo yarn run build
# 启动(Mac OS X)
sudo open build/OpenToolbox-darwin-x64/OpenToolbox.app/
开源指北开源项目:参与 Gitee 官方开源项目 贡献开源项目与自媒体结合实战经验。
💡 使用说明:
WebRTC 直播子项目:(在 WebRTC 文件夹)。
简介:
此项目为直播子项目,主要是为客户提供直播指导用户购物,解答用户购物的问题,主播可以进行直播导购,客户可以观看直播导购优质服务。
WebRTC 核心系统模块:
内容中心核心系统:开始直播核心模块、直播权限控制模块、观看直播核心模块、WebSocket 信令服务器模块、Bootstrap 前端直播模板模块。
负责系统模块:
- 负责实现 Java 信令服务器接收 KMS 流媒体服务器或客户端发来的 WebRTC 数据核心模块。
- 负责实现封装用户会话与流媒体元素、流媒体管道进行一对多直播核心模块。
- 负责实现直播权限控制模块。
- 负责实现 Bootstrap 前端直播模板改造整合作为前端页面模块。
WebRTC 核心技术栈:
采用前后端从不分离到分离单体架构开发模式。
后端:Spring Boot 2.2.4、Spring、Spring MVC、Spring Security、Spring WebSocket 核心技术、Kurento Client 6.14.1、Tomcat 9.0.24、JDK 8、Maven、Kurento Media Server、Coturn。
服务器系统:CentOS 7.4。
前端:Bootstrap、Html、Css、JavaScript、JQuery、Vue、Kurento-utils、Sockjs-client、Stompjs、Webpack。
开发环境:IntelliJ IDEA 开发工具、FileZilla、SecureCRT、PostMan、Mac OS 10.15 操作系统。
业绩:
- 重构前后端分离 Kurento 的 Client 客户端通信问题。三层跨域问题。前后端开启 HTTPS 服务器问题。Chrome 浏览器无法访问 HTTPS 问题,Spring Security 登录接口返回数据格式问题。
- 重构项目为前后端分离项目、前端使用 Vue 框架、前后端使用 STOMP 子协议通信。
- 阅读 WebRTC 开源技术英文文档。
- 云服务器项目搭建开源 KMS 流媒体服务器、开源 Coturn 穿透服务器部署与上线。
- 为未来结合 5G 时代的高带宽、超低延时的特性做准备,赋予 WebRTC 低延时性能。
- 传统的 WebRTC 直播,只适合一对一直播,不适合一对多直播。只有在服务器端搭建流媒体服务器把客户端流量转发到流媒体服务器,才适合一对多直播。
💡 使用说明:
# 克隆项目
git clone https://gitee.com/OpenDevel/java-for-linux.git
# 进入 webrtc子项目文件夹
cd webrtc
# 安装依赖
mvn clean install
# 安装 KMS 流媒体服务器
docker pull kurento/kurento-media-server
# 运行 KMS 并把本地 8888 端口 映射到容器 8888 端口
docker run -itd --name kms --network host --restart always -p 8888:8888 kurento/kurento-media-server
# 安装 Coturn 服务器
git clong https://github.com/konoui/kurento-coturn-docker.git
cd kurento-coturn-docker
cd coturn
sudo docker build --tag coturn .
sudo docker run --name coturn -p 3478:3478 -p 3478:3478/udp coturn
docker exec -it kms /bin/bash
apt-get update
apt-get install vim
cd /etc/kurento/modules/kurento/
# 修改配置文件
vim WebRtcEndpoint.conf.ini
# 找到以下配置 并修改为
stunServerAddress=127.0.0.1
stunServerPort=3478
turnURL=kurento:kurento@127.0.0.1?transport=tcp
# 回到 webrtc 子项目目录
cd java-for-linux
cd webrtc
cd target
# 启动项目
java -jar webrtc-6.14.1-SNAPSHOT.jar
# 打开 Chrome 浏览器访问
https://127.0.0.1:8443/admin.html
泡泡堂子项目:(在 bubble-hall 文件夹)。
简介:
该项目是基于C/S架构休闲类型泡泡堂游戏,是一种由键盘操作的休闲小游戏,游戏控制简便,只要使用一个方向键控制方向,再加上一个空格键放置泡泡,5个按键就可以进行游戏了。
主要功能模块:
Control模块包含游戏逻辑设计,游戏动作事件监听,Element模块包含元素加载、管理元素,元素类型,Frame模块包含窗口显示,元素图像渲染等模块。
责任描述:
- 负责小组之间合理的分配任务,检查小组任务完成情况。
- 负责实现泡泡爆炸。
- 负责实现泡泡爆炸转换为泡泡波纹数组。
- 负责实现箱子与泡泡爆炸碰撞摧毁。
- 负责实现泡泡波纹与泡泡爆炸碰撞形成连爆。
技术描述:
采用Java SE 核心架构开发模式。
项目主要利用的技术有Java SE 1.8 核心技术、JLayer、Swing、MSpaint、Photoshop。
开发环境:IntelliJ IDEA开发工具、Windows 7。
业绩:
通过这个项目锻炼了Java面向对象分散式逻辑思维,排除不符合逻辑的编程思想,不同的类,在不同的包、不同的模块编写,而不是一个类写出所有游戏模块功能;借鉴Spring框架IOC、DL思想,编写游戏元素对象加载类,元素对象管理器类,如何以高内聚低耦合的方式管理、加载游戏里各种对象资源;当然作为组长最为重要的是,小组之间如何合理的分配任务了,共同的去完成这个项目。
💡 使用说明:
# 克隆项目
git clone https://gitee.com/OpenDevel/java-for-linux.git
cd bubble-hall
mvn clean install
cd target
# 启动项目
java -jar bubble-hall-1.0-SNAPSHOT.jar
2048 小游戏子项目:(在 2048 文件夹里)。
💡 使用说明:
# 克隆项目
git clone https://gitee.com/OpenDevel/java-for-linux.git
cd 2048
mvn clean install
cd target
# 启动项目
java -jar 2048-1.0-SNAPSHOT.jar
其他开源子项目:cppmm 子项目搜集了市面上 JVM 源码 所有研究资料、auto-homework 子项目使用 Selenium 库自动选择试卷选项题答题考卷(在 cppmm 文件夹 auto-homework 文件夹 其他文件夹)。
💡 使用说明:
-
负责实现开源课程子项目。
-
负责实现开源笔记子项目。
-
负责实现 OpenToolbox 子项目。
-
负责实现其他开源子项目。
-
负责在开源指北项目贡献开源项目与自媒体结合实战经验
-
负责实现 WebRTC 直播子项目
-
负责实现 泡泡堂子项目
-
负责实现 2048 小游戏子项目
Gitee、Github、为知笔记、Bilibili、JetBrains、Teambition、Photoshop、IntelliJ IDEA、WebStorm、Mac OS 10.15 操作系统、OpenToolbox、百度搜索引擎、Google 搜索引擎。
-
获得 JetBrains 开源许可证 可以免费使用 JetBrains 全家桶所有产品 IntelliJ IDEA DataGrip WebStorm Clion TeamCity 等 使用 JetBrains 各种工具集成到 IntelliJ IDEA 工具里。
-
获得 Gitee 官方开源指北项目贡献纸质证书 T恤 并在开源指北电子书编写成员栏署名 成为该项目的优质贡献者 成为其他开源爱好者的开源项目贡献者。
-
开源的收入来源 开源赞赏。
-
与其他开源爱好者的开源项目合作 收获了一群开源爱好者朋友 。
-
学习 Git Gitee 版本控制软件的使用 代码托管到 Git Gitee 方便复习代码。
-
自媒体开源课程与开源项目结合 建立交流群 传播开源入门知识 贡献自己一点点的开源贡献。
-
制作专业 Logo 头像 开发专业开发者小工具 成为更加专业的开发者。
JetBrains 开源许可证认证者。
Gitee 官方开源指北项目贡献者。
项目地址:
文件夹:
文件夹:
项目地址:
webrtc-live (Vue 重构版 还在开发当中)
......
文件夹:
......
文件夹:
......
文件夹:
......
文件夹:
项目地址:
项目地址:
可以看第三方实现精简版的 JVM 1.2 虚拟机源码 只有一个 C++ 小项目的代码量 OpenJDK 源码太复杂 1.6 版本才开源 代码量很庞大 不利于研究 这是一种学习技巧。
微软的 JVM 虚拟机是 1.1 版本的 不开源 被 SUN 公司起诉了 1.0 版本 JVM 源码 只有 SUN 公司有了。
项目地址:
项目地址:
项目地址:
项目地址:
项目地址:
jni-dynamic-register-for-linux
项目地址:
项目地址:
JVM 系列的项目地址:
项目地址:
使用 Apache2.0 开源许可协议
foodie-mall 吃货商城项目库(foodie-center foodie-cloud foodie-dev foodie-payment foodie-shop mybatis-generator nginx-url-hash sso-mtv sso-music 文件夹)
来自慕课网 Java 架构师-技术专家
movie-trailer 电影预告项目库(movie-trailer 文件夹)
来自腾讯课堂 uni-app 商业级应用实战
OA 办公项目库(oa 文件夹)
来自 慕课网 Java 工程师 2018 版
online-education 在线教育项目库(online-education 文件夹)
来自 慕课网 Spring Cloud + Vue 前后端分离 开发企业级在线视频课程系统
social-sharing 社交分享项目库 (social-sharing 文件夹)
来自 慕课网 Spring Cloud Alibaba 微服务从入门到进阶
来自 GitHub MyJacking 开源作者