- 博客(27)
- 收藏
- 关注
原创 关于Java的运用
Java 9引入了JLink工具,它可以将Java应用程序和其依赖的模块打包成一个小型的可执行文件,提高程序的启动速度和运行性能。当对CopyOnWriteArrayList进行修改操作(如add、remove、set等)时,会创建一个新的数组,将原数组中的元素复制到新数组中,然后在新数组上进行修改操作,最后将原数组的引用指向新数组。清除阶段清空堆内存的另一端。首先,Java程序运行在JVM的沙箱(Sandbox)中,沙箱限制了程序的访问权限,防止程序访问本地系统的敏感资源(如文件系统、网络资源等)。
2025-12-09 10:58:32
942
原创 Java的awp
在 Java 早期,java.awt 是创建 GUI 程序的唯一选择。随着 Java 技术的发展,后来出现了更先进的 javax.swing 包(基于 java.awt 构建),以及近年来的 JavaFX。它是 Java 最早提供的用于创建图形用户界面(GUI)的工具集,自 JDK 1.0 版本起就已存在,是 Java 平台无关性在图形界面领域的重要体现。javax.swing 是在 java.awt 基础上构建的更强大的 GUI 工具包,也称为"轻量级组件"。// 只需要实现需要的方法。
2025-10-14 08:40:07
425
原创 idea的起源
每一个成功的实践背后,都是将idea落地的决心和日复一日的坚持。在日常生活中,一次不经意的观察、一场与他人的对话、甚至是一段看似无用的“胡思乱想”,都可能成为idea萌发的契机。现代互联网的发展,让信息共享变得前所未有的便捷,也为idea的诞生提供了更广阔的平台。从人类钻木取火的智慧灵光,到如今改变生活的科技创新,每一次文明的飞跃,都始于一个看似微小却充满无限可能的“idea”。它是思想的种子,是创造力的源泉,更是推动世界前行的无形引擎。idea是点亮世界的火花,它源于生活,成于实践,最终照亮前行的道路。
2025-10-13 21:04:46
413
原创 IntelliJ IDEA 的中文使用指南
如果你想更系统地了解这个强大的工具,我可以为你整理一份中文界面下的核心功能探索清单,引导你熟悉项目配置、代码导航和调试等关键功能。这份指南会带你一步步将 IntelliJ IDEA 的界面语言设置为中文,并介绍几个核心功能的中文名称,让你上手更轻松。一键让你的代码格式变得整洁规范。了解了中文界面后,我们来看看几个核心功能的中文叫法,这样你再看教程或文章时就能对应上了。• Project (项目):左侧的项目结构面板,显示你的所有代码文件。• Run (运行):顶部的运行按钮,用来执行你的程序。
2025-09-23 08:49:33
903
原创 如何运用IntelliJ IDEA 编程
◦ 在左侧的 Project 面板中,右键点击 src 文件夹,选择 New -> Package,输入一个包名,比如 com.example。为了让你更快地熟悉这个强大的工具,我可以为你整理一份 IntelliJ IDEA 常用快捷键清单,包含编辑、导航、重构等方面,帮你提高编码效率。◦ 或者,你也可以在代码空白处右键,选择 Run 'HelloWorld.main()'。在代码编辑区,找到 main 方法。你会发现,IDEA 的代码提示功能非常强大,能帮你自动补全代码,减少输入错误。
2025-09-23 08:47:01
494
原创 java awp的用法
Java AWT 是 Java 最早的图形用户界面(GUI)工具包,虽然现在更多人会选择功能更强大的 Swing 或 JavaFX,但 AWT 作为基础,理解它对于学习 Java GUI 编程仍然很有帮助。在第一个例子中,addActionListener 就是在给按钮注册一个“动作监听器”,当按钮被点击时,actionPerformed 方法里的代码就会被执行。4. 事件处理 (Event Handling):当事件发生时,事件源会通知所有注册过的监听器,监听器就会执行相应的代码。
2025-09-23 08:42:28
449
原创 一文读懂 java.awt 与 java.util:Java 核心包的定位与区别
• java.awt 的跨平台:依赖底层操作系统的 GUI 接口(如 Windows 的 Win32 API、Linux 的 X Window),Java 虚拟机(JVM)会将 java.awt 组件转为对应系统的原生界面元素,因此界面风格会贴合系统(如 Windows 下的按钮样式、macOS 下的窗口样式)。注意:Java 后期推出的 javax.swing 是 java.awt 的增强版(更轻量、跨平台更好),但核心依赖 java.awt 的基础能力(如事件处理、布局管理器)。
2025-09-16 09:09:00
390
原创 详解 java.awt.im:Java 输入法框架的使用与实践
在 Java 图形界面(GUI)开发中,java.awt.im 包(输入法框架)负责对接系统输入法,实现文本输入时的输入法切换、候选词展示、输入内容预处理等功能。InputContext 是 java.awt.im 的核心类,可主动控制输入法的启用、禁用、切换等状态,适用于需要自定义输入法交互的场景(如“输入密码时禁用中文输入法”)。// -------------------------- 实现 InputMethodRequests 接口 --------------------------
2025-09-16 09:02:42
726
原创 详解 java.net:Java 网络编程的核心工具包
若需更复杂的 HTTP 交互(如 POST 请求、文件上传),可在此基础上扩展,或使用 java.net.http(Java 11+ 新增,更强大的 HTTP 客户端)。URL(统一资源定位符)用于表示网络资源地址(如 https://www.example.com),URLConnection 则是基于 URL 建立连接、读写资源的核心类,适合快速获取网页内容、下载文件等场景。System.out.println("百度 IP 地址:" + baiduAddr.getHostAddress());
2025-09-16 08:57:01
842
原创 玩转 java.math:解锁 Java 高精度计算与数学操作
java.math 包提供了 BigInteger(任意精度整数)和 BigDecimal(任意精度浮点数)两大核心类,完美解决这些问题,同时包含数学工具类 MathContext(控制计算精度/舍入模式),是金融、科学计算等场景的必备工具。3. 忽略对象不可变:BigDecimal 和 BigInteger 都是不可变对象,运算后需用新变量接收结果(如 a.add(b) 不会改变 a,需 BigDecimal c = a.add(b));// false(精度不同:1.0 vs 1)
2025-09-16 08:52:22
370
原创 IntelliJ 「使用法术」指南:解锁高效编码的“魔法咒语”
效果:当代码出现红色波浪线(语法错误、缺少依赖、变量未定义等),把光标放在错误处按Alt + Enter,IntelliJ 会弹出“治愈方案”——比如自动导入包、创建缺失的变量、添加依赖坐标,甚至修复语法错误(如把String写成Strng时,会提示“修改为 String”)。• 分不清Order、OrderItem、User三个类的关联关系,按Ctrl + Shift + Alt + U,会自动生成一张“类关系图”,清晰显示继承、依赖、关联等关系,像“透视眼”一样看透代码结构。
2025-09-16 08:49:18
370
原创 Java中super的用法
在Student类的构造方法中,通过super(name, age)调用了父类Person的构造方法,先完成了从父类继承的name和age属性的初始化,然后再初始化子类特有的school属性。这样既复用了父类的代码,又实现了子类的个性化功能扩展,使得代码的结构更加清晰,维护更加方便。在Dog类的showName方法中,name访问的是子类自身的属性,而super.name则访问了父类Animal中的name属性。在子类的构造方法中,使用super关键字可以调用父类的构造方法,用于初始化从父类继承的属性。
2025-05-26 11:39:46
588
原创 Java中this的用法
在Java中,每个对象都有其自身的内存空间,当一个方法被调用时,this就代表调用该方法的那个具体对象。在上述Circle类中,无参构造方法Circle()通过this(1.0)调用了有参构造方法Circle(double r),这样在创建Circle对象时,如果使用无参构造方法,就会将半径初始化为1.0,避免了在无参构造方法中重复编写初始化半径的代码。当在一个类的内部定义了内部类时,如果内部类的方法中存在与外部类成员同名的变量,并且需要访问外部类的成员,可以使用外部类名.this.成员名的形式。
2025-05-26 11:36:35
494
原创 关于Java的UDP
UDP的无连接和快速传输特点,使得游戏数据能够及时发送和接收,保证游戏的流畅性和实时性。5. 支持广播和多播:UDP允许将数据发送到多个目标地址,支持广播(发送给同一网络中的所有设备)和多播(发送给特定的一组设备)通信模式,这使得UDP在一些需要向多个接收方发送相同数据的场景中具有很大的优势,如网络电视、在线游戏中的状态同步等。3. 面向数据报:UDP将应用层的数据按照一定的大小分割成一个个独立的数据报进行传输,每个数据报都包含目标地址、端口号等头部信息以及数据部分,数据报之间相互独立,互不依赖。
2025-05-26 11:34:14
977
原创 Java与其他编程语言的区别
C++的高性能和对系统资源的直接控制,使其在系统级和性能敏感的应用中占据优势;例如,在数据分析领域,Python的pandas、numpy库,以及机器学习领域的scikit-learn、TensorFlow、PyTorch等库,极大地简化了开发过程,提高了开发效率。这种机制大大减轻了开发者的负担,降低了因内存管理不当导致的错误,但也可能带来一定的性能开销,尤其是在大规模对象创建和销毁的场景下。了解不同编程语言的特点和区别,有助于开发者在合适的场景中选择最合适的工具,提高开发效率和代码质量。
2025-05-26 11:32:21
448
原创 用Java编程爱心代码以及原理
代码使用了爱心的数学表达式 x² + (y - √|x|)² ≤ 1 的变形,通过调整系数 size * 0.6 来适配控制台输出的比例,使图案更接近爱心形状。◦ 使用 "❤️" Unicode 符号(UTF-8 编码)绘制爱心,需确保控制台支持 Unicode 显示(多数 IDE 控制台默认支持)。◦ 若控制台显示异常,可替换为字符组合(如 "*" 或 "o"),修改输出部分为 System.out.print("* ");// 定义爱心的大小(可调整数值改变爱心宽度)
2025-05-26 11:30:16
562
原创 Java常见代码
无论是基础的变量声明、条件循环语句,还是面向对象编程、集合操作、IO处理和多线程编程,每一种代码示例都有其特定的应用场景和使用技巧。本文将从基础语法、面向对象编程、集合操作、IO处理、多线程编程等多个方面,通过具体代码示例,深入解析Java常见代码的使用方法和应用技巧。System.out.println(entry.getKey() + "的数量:" + entry.getValue());System.out.println("我叫" + name + ",今年" + age + "岁。
2025-05-26 11:29:06
420
原创 Java的反射机制
在JDK动态代理中,通过Proxy.newProxyInstance()方法结合反射创建代理对象,代理对象在调用方法时会通过反射调用InvocationHandler的invoke()方法,在该方法中可以实现诸如日志记录、事务管理、权限校验等横切关注点的功能。例如,当进行对象的反序列化时,JVM会使用反射调用类的默认构造函数创建对象实例,并通过反射设置对象的属性值,从而实现对象的重建。例如,通过反射获取类上的自定义注解,根据注解的配置信息生成对应的SQL语句或配置参数,实现代码的自动化生成,提高开发效率。
2025-05-26 11:27:43
408
原创 大学生如何学好Java
开源项目是学习和成长的宝库。建议花费2 - 3个月时间,通过阅读教材、观看教学视频等方式,系统地学习这些知识,并通过编写简单的控制台程序进行练习,如计算阶乘、判断素数、实现学生信息管理系统等,巩固所学内容。此外,许多技术博客也分享了大量的Java学习经验和实战案例,如InfoQ、开源中国、优快云等平台上的技术博客,可以帮助我们了解行业动态,学习他人的经验和技巧。大学生学好Java需要明确学习目标,制定科学的学习计划,掌握有效的学习方法,通过大量的项目实践提升能力,并培养良好的学习习惯和职业素养。
2025-05-26 11:25:41
989
原创 Java的发展历程
2014年3月的Java 8堪称经典,添加Lambda表达式、Stream API、新版日期时间API等,为函数式编程在Java中的应用铺平道路,极大提升开发效率与代码简洁性。1998年12月发布的Java 1.2,在图形化用户界面、数据库互联等多方面改进,如引入strictfp关键字、类装载器的双亲委派模型等,极大增强了Java的稳定性和功能性。2005年,Java三大平台更名为Java ME、Java SE、Java EE ,标志着Java品牌重塑与战略升级。Java:从诞生到如今,代码世界的常青树。
2025-05-26 11:24:11
448
原创 如何提升自己的编程能力
可以从简单的项目入手,如开发一个天气查询小程序、设计一个图书管理系统,逐步过渡到复杂的项目,如电商平台、在线教育系统。重复编写相似代码是编程中的大忌。同时,采用模块化编程思想,将复杂的程序分解为多个功能独立的模块,每个模块负责特定的任务,模块之间通过接口进行交互。同时,将学习成果应用到实际项目中,形成“学习—实践—反思—再学习”的良性循环,不断突破自我,实现编程能力的持续提升。通过系统化的学习方法和长期的实践积累,不仅能掌握扎实的编程技能,还能培养解决复杂问题的能力,在编程领域不断进步,实现个人职业目标。
2025-05-26 11:22:35
808
原创 Java的学习思路
如果目标是进入互联网、金融、电商等行业从事企业级应用开发,学习重点在于掌握JavaEE体系(虽然JavaEE已更名为Jakarta EE,但核心技术依然重要)、Spring全家桶(Spring、Spring Boot、Spring Cloud等)、MyBatis等持久层框架,以及数据库(MySQL、Oracle)和Web开发技术(HTML、CSS、JavaScript、Servlet、JSP等)。Java技术不断发展,新的版本和特性不断推出,如Java 17引入的新特性,以及新的框架和工具也在不断涌现。
2025-05-26 11:21:02
895
原创 学习Java的心得体会
在学习封装时,我学会将类的属性私有化,通过公共的方法来访问和修改属性,这样既保护了数据的安全性,又提高了代码的可维护性。继承的概念则让我体会到代码复用的强大之处,通过创建子类继承父类的属性和方法,可以减少重复代码的编写。例如,在学习数据类型时,我了解到基本数据类型和引用数据类型的区别,基本数据类型直接存储值,而引用数据类型存储的是对象的引用。在未来的学习和工作中,我将继续深入学习Java相关技术,紧跟行业发展趋势,不断提升自己的技术水平,在代码的世界中创造更多的价值。
2025-05-26 11:18:37
428
原创 大学生计算机系的就业前景
这为计算机专业的大学生提供了大量的就业机会,如人工智能工程师、机器学习工程师等岗位,需要具备扎实的数学基础、编程能力和算法知识,以推动人工智能技术的创新和应用。计算机专业对数理基础和逻辑思维能力要求较高,需要掌握大量的专业知识和技能,如编程语言(C、C++、Java、Python等)、算法设计、数据结构、操作系统、数据库等。而且,计算机技术迭代迅速,新的技术和框架不断涌现,如云原生、大模型、边缘计算等,这要求从业者不断学习新知识、新技能,以跟上行业发展的步伐。大数据时代,数据成为企业的重要资产。
2025-05-26 11:16:52
1388
原创 Java语言编程的技巧
例如,在一个Web项目中,可以将数据访问层(DAO)的类放在com.example.dao包中,业务逻辑层(Service)的类放在com.example.service包中,控制器层(Controller)的类放在com.example.controller包中。通过模块化编程,能够更好地管理项目的依赖,减少类路径的复杂性,提高代码的隔离性和安全性。Java提供了强大的调试工具,如System.out.println语句可以用于简单的输出调试,但在复杂的项目中,更推荐使用IDE自带的调试功能。
2025-05-26 11:07:13
426
原创 DeepSeek的发展前景
此外,在教育、医疗、电商等领域,DeepSeek也逐渐渗透,助力行业智能化升级。但挑战往往与机遇并存,随着全球对人工智能需求的不断增长,只要DeepSeek能够持续创新、强化数据安全管理、拓展应用场景、完善合作生态,就有望在大模型市场中占据更重要的地位,引领人工智能技术变革,为各行业的数字化转型注入强大动力,成为推动社会进步的重要科技力量。另一方面,与高校的合作也在不断深入,浙江大学、东南大学等高校上线DeepSeek,有助于推动学术研究与产业应用的结合,培养AI专业人才,为技术创新提供智力源泉。
2025-03-05 16:26:26
580
1
原创 Java的认识与学习
随着互联网的蓬勃发展,Java凭借其“一次编写,到处运行”的特性,成为了Web开发、企业级应用开发的首选语言之一。Java凭借其强大的性能、良好的可扩展性和稳定性,成为企业级应用开发的首选语言。常见的Java Web框架,如Spring MVC、Struts等,简化了Web开发的过程,提高了开发效率。通过深入学习和实践,我们可以利用Java的力量,开发出各种各样的软件和应用,为数字化世界贡献自己的智慧和力量。要保持学习的热情,关注Java技术的最新动态,学习新的知识和技能,不断提升自己的技术水平。
2025-03-05 16:14:39
545
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅