Java开发工程师学习路线
大三Java学习及实习冲刺计划(2025-2026)一、学习阶段划分1. Java基础强化(2-3个月)核心内容
Java语法:数据类型、面向对象、异常处理、泛型、枚举、注解
集合框架:List/Set/Map实现类(ArrayList/LinkedList/HashSet/HashMap等)、并发集合(ConcurrentHashMap/CopyOnWriteArrayList)
多线程与并发:线程生命周期、锁机制(synchronized/ReentrantLock)、线程池(ThreadPoolExecutor)、JUC包(CountDownLatch/CyclicBarrier)
IO与NIO:字节流/字符流、缓冲流、文件操作、NIO的Channel/Buffer/Selector
设计模式:单例、工厂、策略、观察者、装饰器、代理、模板方法等常用23种
JVM:内存模型、类加载机制、垃圾回收(CMS/G1)、性能调优工具(JVisualVM/JPro ...
Java基础
以下是整理后的Markdown格式Java学习指南:
Java学习全攻略:从入门到精通的详细指南一、引言1. Java的背景和发展
由Sun Microsystems(现Oracle)于1995年推出,最初用于嵌入式系统。
因”Write Once, Run Anywhere”的跨平台特性,成为互联网时代的主流语言。
广泛应用于企业级开发、大数据、移动应用(Android)等领域。
2. 学习Java的意义
多领域适用性:Web开发、移动应用、大数据处理等。
庞大的生态系统:丰富的开源框架(Spring、Hibernate)和工具链。
培养面向对象编程思维,提升软件设计能力。
二、Java的核心特性1. 面向对象编程(OOP)
封装:通过访问控制符(public/private/protected)保护数据。
继承:使用extends实现代码重用。
多态:通过方法重载和重写实现动态行为。
2. 跨平台性
依赖Java虚拟机(JVM)运行字节码,实现平台无关性。
3. 自动内存管理
垃圾回收(GC)机制自动回收不再使用的内存。
4. 强大的标准库
涵盖数据结 ...
算法笔记1(两数之和) | 2025-03-02
🎯 今日挑战题目名称: 1. 两数之和难度: ⭐️标签: 数组 哈希表提交次数: 3次(记录调试次数)
🚀 解题历程💡 初始思路1234567# 暴力解法 - 初版def twoSum(nums, target): for i in range(len(nums)): for j in range(i+1, len(nums)): if nums[i] + nums[j] == target: return [i, j] return []
测试用例失败:
输入:nums = [3,3], target = 6
预期输出:[0,1]
实际输出:[0,1] ✅
但时间复杂度 O(n²) 导致在 10^4 数据量时超时 ❌
🔄 优化路径关键突破:发现哈希表可以实现 O(1) 时间查找补数实现方案:
创建空字典存储已遍历数值
遍历时计算补数(target - current)
检查补数是否存在于字典
1234567# 优化版核心逻辑seen = {}for i, num in ...
工业品智能比价与采购助手项目(需求文档)
一、需求分析1. 项目背景工业品采购过程中,企业常常面临以下问题:
商品种类繁多,难以快速找到合适的供应商。
价格不透明,难以进行有效的比价。
供应商信用难以评估,采购风险较高。
缺乏智能化的采购建议,决策效率低。
2. 核心需求(1)网页端
商品搜索与展示:用户可以通过关键词搜索商品,查看商品详情。
智能比价:系统自动抓取多家供应商的价格,并进行比价分析。
供应商评价:展示供应商的信用评分和历史交易记录。
采购建议:根据用户历史行为和需求,提供智能化的采购建议。
用户管理:支持用户注册、登录、收藏商品等功能。
(2)管理端
商品管理:管理员可以添加、编辑、删除商品。
价格管理:管理员可以查看和更新商品价格。
供应商管理:管理员可以添加、编辑、删除供应商。
用户管理:管理员可以查看和管理用户信息。
数据统计:展示系统概览信息(如商品总数、供应商总数、用户总数)。
二、模块设计1. 网页端模块(1)首页
搜索栏:用户输入关键词搜索商品。
热门商品推荐:展示热门商品列表。
供应商排行榜:展示信用评分最高的供应商。
(2)商品详情页
展示商品详细信息。
展示多家供应商的价格对比。 ...
实训第一天
日期:2025 年 01 月 06 日星期:星期一天气:阴1. Anaconda 安装下载与安装:前往 Anaconda官网 下载适合你操作系统的安装程序。
安装路径:如果你的C盘空间足够,建议直接安装到C盘,以避免潜在的路径问题。安装过程中尽量避免使用包含中文或特殊字符的路径。
安装选项:在安装过程中,如果需要选择安装内容,通常建议全选以确保获得完整的Anaconda环境。
检查安装是否成功:
打开Anaconda Prompt(开始菜单中可以找到)。
输入 conda list 并回车,如果能列出已安装的包,则说明Anaconda安装成功。
2. PyCharm 安装下载与安装:
前往 JetBrains官网 下载适合你操作系统的PyCharm版本(社区版或专业版)。
安装路径:同样,建议安装到不含中文和特殊字符的路径下,如C盘。
安装选项:按照默认设置进行安装即可,除非你有特定的需求需要更改配置。
检查安装是否成功:
打开PyCharm,尝试创建一个新的Python项目。
在项目中创建一个Python文件,并编写简单的打印语句(如 print(“Hello, PyCharm!” ...
测试
测试
No-Deep-GomokuView-AI项目介绍
一、项目概述本项目旨在使用飞桨框架 2.0 实现 AlphaZero 算法,构建一个能够玩五子棋的 AI 模型。通过纯粹的自我博弈方式进行训练,使 AI 在短时间内达到一定的棋力水平,能够与人类玩家进行有挑战性的对弈。
二、五子棋游戏简介五子棋是一款经典的两人对弈棋类游戏,双方分别使用黑白棋子,在棋盘竖线与横线的交叉点上轮流落子,率先形成五子连线的一方获胜。其规则简单易懂,上手容易,适合各个年龄段的人群,具有很高的趣味性和竞技性。
三、本项目简介本项目专注于运用 AlphaZero 算法来实现五子棋 AI。相较于复杂的围棋和象棋,五子棋的规则较为简洁,这使得我们能够将更多精力放在 AlphaZero 算法的训练和优化上。通过在一台普通 PC 机上进行几个小时的训练,即可获得一个具有一定实力的 AI 模型,在与人类玩家的对弈中展现出较强的竞争力。
四、为什么使用 MCTS(蒙特卡洛树搜索)在传统的棋盘游戏决策过程中,玩家通常会思考多种走法及其可能的后续局面。类似 Minimax 这样的传统 AI 博弈树搜索算法,在做出决策前需要穷举所有可能的走法,这在面对复杂游戏时,其搜索空间会呈指数级 ...
队伍
团队成员简介刘来来
学号: 20224811139
简介: 刘来来,团队中的积极分子,擅长数据分析和项目管理。在团队中担任协调和规划的角色,确保项目的顺利进行。
张莉
学号: 20224811159
简介: 张莉,团队的技术骨干,精通多种编程语言和数据处理工具。在团队中负责技术开发和问题解决,是团队技术进步的推动者。
谢丹花
学号: 20224811143
简介: 谢丹花,团队的创意源泉,具有出色的创意思维和设计能力。在团队中负责创意设计和视觉呈现,为团队的作品增添独特的风格和魅力。
一策惠三区·脱贫攻坚的共鸣
数据来源本作品基于汇总全国脱贫人口数量、贵州省脱贫攻坚情况以及脱贫攻坚殉职人员名单等,数据集记录了贵州省在脱贫攻坚战役中英勇献身每一位英雄的事迹,由贵州省相关政府部门公开发布,确保了信息的真实性和权威性。
图1 数据部分截图数据规模数据集共收录了12位殉职英雄的事迹,时间跨度从2015年至2021年,覆盖了贵州省多个地区的脱贫攻坚前线。
技术路线本次作品我们采用现代数据处理与可视化技术,包括可视化设计、交互界面开发(运用HTML和JavaScript构建了一个用户更好查询的网页)允许各用户通过网页点击、筛选等方式探索贵州省脱贫攻坚的相关事迹。
创意思路作品题目“一策惠三区·脱贫攻坚的共鸣”,深刻揭示了国家层面脱贫攻坚政策的深远影响。“一策”即指国家层面的脱贫攻坚战略,而“三区”则特指西藏——西藏自治区;新疆南疆四地州——包括和田、阿克苏、喀什、克孜勒苏柯尔克孜自治州;以及青海、甘肃、四川和云南四省涉藏地区。这些区域构成了国家全面建成小康社会中最为艰巨的挑战,是深度贫困的核心地带,因此受到了国家层面的特别关注与大力支持。本作品旨在通过数据可视化的手法,向那些为脱贫攻坚事业默默奉献的英雄们 ...
无深个人博客说明
test1 1test1 2test1 3This is Tab one.This is Tab 2.This is Tab 3.