《Java入门与Web基础》
文章平均质量分 92
黑马程序员Java+AI Java web速成课程笔记 以及面试题 等等 个人回顾
好学且牛逼的马
ikun 一遍不会,就再学一遍
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
我的15天Java重生之旅:从HelloWorld到能造轮子的蜕变实录
第一,理解“为什么”比记住“是什么”更重要。每次学习一个新特性,问问自己:设计者为什么这样设计?它解决了什么问题?在什么场景下最有用?第二,编程是手艺,需要刻意练习。看懂了不代表会了,会写了不代表精通了。我建议为每个知识点创建“微项目”——不超过200行代码,但完整演示该特性的使用场景。初学者:官方教程 + 《Head First Java》(建立直觉)进阶者:《Effective Java》 + Stack Overflow(学习最佳实践)深入者:JDK源码 + 《深入理解Java虚拟机》(理解原理)原创 2026-01-30 19:20:15 · 633 阅读 · 0 评论
-
重塑你的Java知识树:从“会用”到“精通”的认知升级路线图
摘要:本文提出Java工程师的三层能力模型:核心根基(JVM、新特性)、必备武库(数据库、框架)和高阶视野(系统设计、工具链)。强调从"会用"到"精通"需要构建知识地图而非零散知识点,建议通过项目实践和源码阅读实现认知升级。核心观点是技术学习应形成解决问题的直觉,而非单纯知识堆砌。原创 2026-01-28 22:56:55 · 1082 阅读 · 0 评论
-
HttpServlet 深度拆解:从设计模式看透其核心原理
设计模式的实践载体(适配器 + 模板方法协议适配的经典案例(通用接口→具体协议线程模型的示范实现(单例多线程 + 无状态设计从设计模式理解其核心机制(适配 + 模板方法);从线程模型掌握安全开发规范;从分层设计领悟框架扩展思路;从异步扩展理解高并发优化方向。原创 2025-12-17 11:05:27 · 1133 阅读 · 1 评论 -
【JavaWeb|day16 Web前端基础】
本文从后端开发者视角梳理前端对接核心知识:1.HTML重点关注表单数据提交与展示,强调name属性对参数传递的关键作用;2.JavaScript核心掌握JSON数据转换和事件触发机制;3.Vue只需理解数据渲染逻辑;4.Axios是交互核心,需明确不同请求方式的参数传递规范(GET用@RequestParam,POST用@RequestBody)。特别指出后端对接三大要点:统一JSON响应格式(code/data/msg)、解决跨域问题(@CrossOrigin)、保持参数命名一致性。后端应聚焦接口稳定性,原创 2025-10-30 11:00:23 · 798 阅读 · 1 评论 -
原生 JDBC 深度问答:强逻辑拆解 + 引导式思考
JDBC是Java访问数据库的标准接口规范,而非具体实现类库。其核心价值在于解耦Java代码与具体数据库,通过接口与实现分离的设计,使代码只需面向JDBC接口编程,更换数据库时仅需替换驱动Jar包。JDBC驱动作为接口的具体实现,负责与数据库建立物理连接和执行SQL指令。JDBC4.0后通过SPI机制自动加载驱动,简化了开发流程。在SQL执行层面,PreparedStatement通过预编译和参数分离机制有效防止SQL注入。事务管理以Connection为载体,遵循"一个连接一个事务"的原创 2025-12-17 12:29:35 · 951 阅读 · 0 评论 -
JavaWeb 核心深度解析:Servlet 全家桶(原理 + 实战 + 踩坑)
本文深入剖析JavaWeb开发中的Servlet核心组件,从底层原理到企业级实战应用。主要内容包括:1)Servlet配置的URL映射规则与优先级,以及初始化优化技巧;2)Servlet生命周期与线程安全问题;3)请求响应处理的高级用法;4)转发与重定向的底层差异;5)过滤器链实现与安全防护;6)监听器的应用场景;7)Cookie/Session的底层机制与分布式解决方案;8)JSP原理与现代模板引擎替代方案。文章通过大量代码示例和典型场景分析,揭示了Servlet体系的核心机制与常见陷阱,为开发者构建稳定原创 2025-12-08 23:45:49 · 790 阅读 · 1 评论 -
Apache Commons DbUtils
引导思考:回忆原生 JDBC 写增删改查的流程 ——要创建连接、PreparedStatement、处理结果集,还要在 finally 中层层关闭资源,容易出现什么问题?核心解答:原生 JDBC 痛点:① 资源关闭代码冗余(try-catch 嵌套);② 结果集遍历繁琐(手动映射到 JavaBean/Map);③ 事务控制与连接管理耦合;④ 容易因空值 / 异常导致资源泄漏。封装关闭逻辑,自动判空 + 屏蔽关闭异常,一行替代多层 try-catch;执行层面。原创 2025-12-17 11:56:10 · 1089 阅读 · 3 评论 -
【JavaWeb|day19 Web后端进阶 SpringAOP、SpringBoot原理、自定义Starter、Maven高级】
需求:SpringBoot 默认配置的序列化方式为 JDK 序列化(序列化后数据乱码),自定义自动配置类,将序列化方式改为 Jackson。步骤 1:创建自动配置类java运行// 当项目中存在RedisTemplate类时,该配置类生效// 当容器中不存在RedisTemplate Bean时,才创建该Bean(允许用户自定义覆盖)@Bean// 配置Jackson序列化// 支持Java 8时间类型// Key用String序列化。原创 2025-10-30 15:32:53 · 735 阅读 · 3 评论 -
原生 JDBC + DbUtils + MyBatis 同场景 Demo(C3P0 数据源 XML 配置版)
解耦配置与代码:数据库连接信息、连接池参数通过 XML 配置,无需硬编码,便于维护和多环境切换;连接复用提升性能:C3P0 连接池复用物理连接,避免原生 JDBC 频繁创建 / 关闭连接的性能损耗;资源管控更安全:连接池限制最大连接数、空闲时间等参数,避免数据库连接数超限导致的服务不可用;框架适配性强:DbUtils 可直接复用 C3P0 数据源,MyBatis 通过自定义适配后,也能无缝使用 C3P0 的连接池能力。原创 2025-12-17 19:13:46 · 830 阅读 · 0 评论 -
【JavaWeb|day20 Web前端实战 项目部署】
前端实战关键:统一结构、封装请求、前后端数据对齐。部署核心:服务器环境准备→项目打包→上传部署→反向代理配置。排查技巧:优先看日志(后端 app.log、Nginx 日志),用浏览器调试前端请求。原创 2025-10-30 15:33:15 · 595 阅读 · 0 评论 -
【JavaWeb|day17 Web后端基础 Maven、HTTP协议、Spring IOC、DI、MySQL、JDBC、Mybatis】
本文摘要: 这份技术笔记涵盖了多个核心Java开发知识点,包括Maven依赖管理、HTTP协议、Spring原理、MySQL优化、JDBC和MyBatis框架。重点解析了Maven依赖传递规则、Spring循环依赖解决方案、MySQL索引优化策略、MyBatis缓存机制等关键技术点,并提供了实际场景的优化方案和常见问题的解决方案。笔记还包含针对高级面试题的系统性解答,如RESTful API设计规范、事务隔离级别、批量处理优化等,适合开发者进阶学习和面试准备。建议先掌握基础知识,再逐步深入理解底层原理。原创 2025-10-30 11:49:38 · 915 阅读 · 0 评论 -
【JavaWeb|day18 Web后端实战 Tlias员工管理系统】
Tlias(Talent Information Management System)是一款员工信息管理系统,是 Web 开发的经典入门 + 进阶案例。它覆盖了后端开发的核心场景:数据 CRUD、分页查询、条件筛选、文件上传、前后端对接、异常处理、事务控制等,技术栈贴合企业实际(SpringBoot+Mybatis+MySQL+Vue),能直观落地 Java Web 核心知识。原创 2025-10-30 15:22:50 · 979 阅读 · 0 评论 -
聊天项目复盘:我的第一个聊天室,在演示现场崩溃了
演示失败的那个下午,我感到无比沮丧。但教授课后对我说的话,我现在都记得:“每个优秀的程序员都写过糟糕的代码。重要的是,你能否从失败中学到什么。今天你学到了线程管理的教训,这比成功演示更有价值。现在,当我看到那些“简单”的技术方案时,总会多问自己几个问题:它能扩展到多少用户?失败情况下会怎么样?我该如何监控它的状态?网络编程教会我的,不仅是技术,更是对复杂性的敬畏。每一个简单的accept()背后,都可能藏着连接管理、资源限制、并发安全等一系列问题。原创 2026-01-30 13:08:36 · 608 阅读 · 0 评论 -
重走Java Day08:从“语法学究”到“架构叛徒”:我是如何用函数式编程重构千行垃圾代码的
初学 Java 函数式编程时,我看不懂 Lambda 表达式的简化规则、方法引用的适用场景,面试时面对综合案例题无从下手 —— 函数式编程是 JDK8+ 的核心特性,常用 API(String、ArrayList)是开发必备,综合案例则是检验 OOP 掌握程度的关键。这篇内容把函数式编程、常用 API、GUI 编程和 15 道难度递增的面试题拆解清楚,所有代码极简可运行,帮新手从理论落地到实践,应对面试和开发场景。函数式编程核心:Lambda 基于函数式接口,方法引用是 Lambda 的简化,让代码更简洁。原创 2026-01-28 11:21:42 · 497 阅读 · 0 评论 -
重走Java Day07:抽象、接口与内部类——从“语法理解”到“架构思维”的觉醒
初学 Java 抽象类和接口时,我分不清 “什么时候用抽象类、什么时候用接口”,被代码块的执行顺序、内部类的创建方式绕得晕头转向,面试时对抽象类与接口的核心区别答不到点上 —— 抽象类是 “不完整的模板”,接口是 “行为的规范”,代码块和内部类是类的特殊成分,掌握这些才能真正灵活设计 Java 程序。这篇内容把抽象类、接口、代码块、内部类的核心概念、语法要素和高频面试题拆解清楚,所有代码极简可运行,帮新手吃透这些 OOP 核心知识点。原创 2026-01-28 11:21:39 · 363 阅读 · 0 评论 -
【Java学习路线| 最佳食用指南 60days】
60days 每天10h以上时间 笔记知识点熟悉 附录面试题掌握 以下技术栈可牢固掌握。原创 2025-11-01 22:39:30 · 1369 阅读 · 3 评论 -
重走我的Java Day15:当我的代码突然有了“读心术”:反射和注解的魔法之旅
用@interface关键字定义注解。属性类型 属性名() default 默认值;添加元注解(@Retention@Target示例:自定义日志注解java// 元注解:运行时存活,可标记在方法上// 注解属性:日志描述,默认值为"执行方法"String desc() default "执行方法";// 注解属性:是否记录耗时,默认值为falsejava// 目标接口// 目标类(实现接口)@Overridetry {// 模拟业务耗时。原创 2025-10-29 11:54:49 · 567 阅读 · 2 评论 -
重走我的Java Day14 :网络编程:从“聊天室玩具”到“百万并发网关”的惊魂一夜
互联网协议地址(Internet Protocol Address),用于定位网络中的设备,确保数据发送到正确目标。分类IPv4:32 位,点分十进制表示(如 192.168.1.66),地址池有限,目前仍广泛使用。IPv6:128 位,冒分十六进制表示(如 2001:0db8:0000:0023:0008:0800:200c:417a),解决 IPv4 地址枯竭问题。关键概念公网 IP:可直接连接互联网的地址(如服务器 IP)。原创 2025-10-29 11:44:23 · 791 阅读 · 2 评论 -
重走我的Java Day13:那个让系统瘫痪的并发bug:我是如何从一个死锁问题中学会多线程的
模块核心重点底层原理 / 场景线程创建三种方式对比、start () 与 run () 的区别start () 启动线程,run () 是任务方法;Callable 支持返回值线程安全问题原因(共享资源 + 修改)、三种同步方案对比synchronized 隐式锁,Lock 显式锁;银行转账、库存扣减场景线程池7 个核心参数、工作流程、拒绝策略高并发请求处理(电商秒杀、接口调用)并发并行单核并发(轮询)、多核并行(同时执行)CPU 调度机制。原创 2025-10-29 11:38:52 · 682 阅读 · 0 评论 -
重走我的Java Day12:那个让公司损失百万的“小文件”:我是如何用递归和IO流拯救一个濒临崩溃的日志系统
按行读写文本。异常处理:兼容文件不存在场景,返回默认值。String与int互转,确保步数存储正确。技术点核心特点适用场景字节流 vs 字符流字节流:万能,无编码;字符流:纯文本,防乱码字节流:文件复制;字符流:文本读写原始流 vs 缓冲流缓冲流自带 8KB 缓冲区,性能提升 5-10 倍优先使用缓冲流 + 字节数组try-with-resource 自动关流,代码简洁JDK7 + 首选 try-with-resource。原创 2025-10-29 11:38:05 · 868 阅读 · 5 评论 -
重走我的Java Day11:从“数据泥潭”到“数据流道”:我如何用Stream+Map+Set重构电商系统的“屎山”代码
TreeSet 存储自定义类型(如 Student)时,必须指定排序规则,否则抛出。Map 集合的核心应用:存储 “分类统计” 数据(键为分类项,值为统计数)。键的去重特性:保证每个景点仅统计一次。遍历效率:HashMap 的forEach遍历效率高于传统循环,适合大数据量统计。原创 2025-10-29 11:05:15 · 544 阅读 · 3 评论 -
重走我的Java Day10:我是如何用一场线上事故,彻底理解Java异常、泛型和集合的
异常、泛型、集合框架是 Java 基础的 “三座大山”,也是中大厂面试的核心考点 —— 很多新手只会用 ArrayList、HashMap,却答不上 HashMap 扩容机制、泛型类型擦除、异常分层处理的核心逻辑。这篇内容从「基础用法→底层原理→实战场景→面试题拆解」层层递进,不仅覆盖核心知识点,还配套 5 道高频面试题的详细答案 + 高效记忆法,帮你从 “会用” 到 “懂原理”,应对面试和开发场景都够用。推荐继承(无需强制处理,更灵活);提供无参、带消息、支持异常链的构造器。java运行。原创 2025-10-29 10:39:27 · 759 阅读 · 0 评论 -
银行系统项目复盘:从学生作业到生产级别的三次架构演变
大一那年,我用300行Java代码写了个“银行系统”,得意地交作业。直到工作后,我亲眼看到因为并发问题,同一个账户被取走了两笔钱——那一刻我才明白,。原创 2025-10-29 09:04:05 · 809 阅读 · 2 评论 -
重走Java Day06:继承与多态——那些年我掉进的“优雅陷阱”
二年前那个让我重构三次的宠物店系统,今天看来是我面向对象思维的成人礼。继承不是代码复用的快捷键,而是概念抽象的工具——用错了会让系统僵化,用对了能让架构灵活。多态不是语法特性,而是架构的润滑剂——它让代码在面对变化时依然稳固,让新功能可以轻松加入而不破坏旧有结构。final不是限制,而是自由的保障——它通过限制局部的可变性,来换取全局的安全性和可维护性。单例不是设计模式,而是责任分配的艺术——它告诉我们,有些东西确实应该只有一份,但更重要的是知道为什么只有一份。原创 2025-10-28 21:37:04 · 685 阅读 · 0 评论 -
重走我的Java Day05:面向对象——从“理解概念”到“设计思维”的蜕变
两年前那个让我重构三次的学生管理系统,今天看来是我职业生涯的转折点。面向对象不是语法规则,而是思考复杂系统的方式。从“面向过程”到“面向对象”的转变,不是学习class关键字和new操作符,而是学习:如何识别现实世界中的概念和关系如何分配职责给合适的对象如何设计对象之间的协作契约如何管理对象的状态和生命周期好的面向对象设计像一部运转良好的机器——每个零件(对象)都有明确的职责,通过清晰的接口(方法)协作,共同完成复杂任务。Day5的内容看似只是开始,但你已经站在了Java编程真正的大门。原创 2025-10-28 20:09:19 · 888 阅读 · 2 评论 -
重走我的Java Day04:数组——那场让我彻底理解“数据结构”的惨败
六年前那个让我崩溃的报表导出功能,今天看来是我职业生涯中最宝贵的一课。数据结构和算法不只是面试题,而是解决实际工程问题的工具。数组是编程世界里的“积木”——最简单、最基础,但用好了能构建摩天大楼,用不好连个小房子都搭不稳。一份内存契约(你向JVM承诺的使用方式)一个性能赌注(你的访问模式vsCPU缓存架构)一种数据哲学(连续vs随机,顺序vs跳跃)你就真正理解了数据结构的意义。Day4的内容看似只是语法,实则是你从“写代码”到“设计系统”的关键跨越。今天你对待数组的态度,决定了明天你设计架构的高度。原创 2025-10-28 19:45:08 · 684 阅读 · 1 评论 -
重走我的Java Day03:流程控制——从“能运行”到“写得好”的分水岭
一年前那个让我出丑的日志清理脚本,今天看来是个宝贵的礼物。流程控制不仅是让代码运行,更是让代码优雅地运行。好的流程控制像呼吸——自然、有节奏、无需刻意思考。差的流程控制像哮喘——时断时续,让人提心吊胆。Day3的内容看似基础,实则是你编程风格的奠基石。你今天写的每一个if、每一个for,都在塑造你作为程序员的思维习惯。当你能一眼看出嵌套循环的性能问题,当你能自然地将复杂条件重构为清晰策略,当你能在switch和if-else间做出最优选择——你就完成了从“码农”到“工程师”的关键转变。原创 2025-10-28 19:15:06 · 767 阅读 · 0 评论 -
重走我的Java Day2:那些让我通宵调试的“基础”陷阱
一年前,我认为Day2的内容“太简单了”。一年后,我带过的每个新人,几乎都在这些“基础”上栽过跟头。方法教会你的不只是代码复用,而是模块化设计思维——如何把复杂问题分解为简单的、可测试的单元。类型转换表面是语法规则,实际是数据安全的第一道防线——在金融、医疗、航天领域,一次类型转换错误可能就是灾难。运算符是表达逻辑的工具,但选择哪个运算符、如何组合它们,反映了你对问题理解的深度。今天的内容,像编程世界的“交通规则”——红灯停绿灯行很简单,但真正掌握需要理解为什么这样规定,以及在复杂路况下如何应变。原创 2025-10-28 18:44:49 · 695 阅读 · 1 评论 -
重走我的Java Day1:那些新手必踩的坑与救命的心法
一年前,我因为环境变量配置失败差点放弃Java。Java第一天的学习,表面上是技术,实际上是心智的转变:从“用户”到“创造者”,从“点击运行”到“理解运行”。精确、耐心与系统性思考。如果你今天配置环境失败了三次,恭喜你——你正在体验每个程序员都会经历的“入门仪式”。别放弃,最困难的部分已经过去了。明天,当你的HelloWorld成功运行,记得那一刻的感受。多年后你会明白:那个闪烁的光标,是你通往一个全新世界的起点。原创 2025-10-28 18:16:56 · 1051 阅读 · 4 评论
分享