自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(55)
  • 资源 (1)
  • 收藏
  • 关注

原创 Java - Spring框架:利用 Java 注解配置 Aspect 织入

Spring框架:利用 Java 注解配置 Aspect 织入1 Java 示例代码1.1 案例介绍1.2 利用 Java 注解配置 IOC 依赖2 使用 XML 文档辅助配置织入关系2.1 在 XML 文档中配置 AOP 注解支持2.2 声明通知类:@Aspect2.2.1 前置通知:@Before2.2.2 后置通知:@AfterRunning2.2.3 环绕通知:@Around2.2.4 异常通知:@AfterThrowing2.2.5 最终通知:@After2.3.6 抽取切点表达式:@Pointc

2020-11-08 15:36:04 1641

原创 Java - Spring框架:利用 XML文档配置 Aspect 织入

Spring框架:利用 XML文档配置 Aspect 织入1 Java 示例代码1.1 案例介绍1.2 配置 Target 类 IOC 依赖2 配置织入关系2.1 导入 AOP 约束2.2 配置 Aspect2.2.1 AOP 织入动作2.2.2 切点表达式2.2.3 通知类型3 完整配置示例1 Java 示例代码1.1 案例介绍以下展示一个简单的方法增强示例 demo。案例中主要的类是 Target 类和 MyAspect 类。其中,Target 类中的方法应当定义核心业务代码;MyAspect 类

2020-11-08 13:39:26 637

原创 Java - Spring框架:理解 AOP

Spring框架:理解 AOP1 初识 AOP1.1 什么是 AOP1.2 一个简单的案例1.3 AOP 相关术语1.4 应用 Spring AOP2 Java 实现动态代理2.1 基于接口实现(JDK)2.1.1 定义 Target 接口及实现类2.1.2 定义 Advice 类2.1.3 定义 Proxy 测试类2.2 基于父类实现(cglib)2.2.1 定义 Target 类2.2.2 定义 Advice 类2.2.3 定义 Proxy 测试类1 初识 AOP1.1 什么是 AOPAOP,即

2020-11-07 22:53:41 231

原创 Java - Spring框架:利用 Java 注解配置依赖注入

Spring框架:利用 Java 注解配置依赖注入1 Java 实例代码2 常用注解2.1 创建对象2.1.1 @Component2.1.2 @Controller @Service @Repository2.2 注入数据2.2.1 @Autowired2.2.2 @Qualifier2.2.3 @Resource2.2.4 @Value2.3 设置作用范围2.3.1 @Scope2.4 对象生命周期2.4.1 @PostConstruct2.4.2 @PreDestroy3 Spring 新注解3.1

2020-11-06 15:03:35 511

原创 Java - Spring框架:利用 XML 文档配置依赖注入

Spring框架:配置XML文档实现依赖注入1 Java 示例代码1.1 Service 与 Dao 层1.2 Web 层2 IOC 中的对象管理2.1 bean 标签2.2 bean 的作用范围与生命周期2.2.1 单例对象2.2.2 多例对象2.3 实例化 Bean 对象的三种方式2.3.1 使用默认无参构造函数2.3.2 使用静态工厂2.3.3 使用实例工厂3 使用XML文档配置依赖3.1 有参构造注入 & setter方法注入3.1.1 有参构造3.1.2 setter 方法3.1.3 使用

2020-11-05 21:59:22 528 9

原创 Java - Spring框架:理解 IOC

Spring框架:理解 IOC1 什么是 IOC1.1 谁控制谁,控制什么1.2 何谓反转,何处反转1.3 IOC 与 “依赖注入”2 IOC 思想的主旨3 参考资料1 什么是 IOCIOC(Inversion of Control,控制反转)是一种计算机程序设计原则:百度百科中对控制反转有以下说明:IOC 设计原则的目的是用于降低代码之间的耦合度,其中最常见的 IOC 实现方式叫做 DI(Dependency Injection,依赖注入)。以 IOC 的方式创建一个对象的过程可以被描述为:通过一个

2020-11-05 17:59:59 170

原创 Java - 并发编程:同步方法的锁对象与锁竞争

并发编程:同步方法的锁对象与锁竞争1 示例描述2 同步方法的锁对象3 静态同步方法的锁对象1 示例描述示例:定义线程任务类如下所示:public class SynObj { public synchronized void showA(){ System.out.println("showA.."); try { Thread.sleep(3000); } catch (Interr

2020-11-01 23:22:50 202

原创 DB - 初识数据库索引

数据库索引1 索引概述2 索引的优点与缺点3 索引结构4 索引分类5 使用索引5.1 创建索引5.2 查看索引5.3 删除索引5.4 ALTER命令6 索引设计原则1 索引概述MySQL官方对索引的定义:索引(index)是帮助MySQL高效获取数据的数据结构(有序)。在保存数据的同时,数据库系统还维护着满足特定查找算法的数据结构,这些数据结构以某种方式引用(指向)数据, 这样就可以在这些数据结构上实现高级查找算法,这种数据结构就是索引。通过以下示意图理解索引:左边是数据表,一共有两列七条记录,最

2020-10-27 13:12:05 480

原创 JavaWeb - 黑马旅游网(番外3):取消收藏

黑马旅游网(番外3):取消收藏1 功能描述2 功能分析2.1 前端2.2 后端3 代码实现3.1 后端3.1.1 Servlet3.1.2 Service3.1.3 Dao3.2 前端4 相关链接1 功能描述接上篇黑马旅游网(番外2):用户收藏分页展示,在本篇博客中,我将实现另一个与收藏相关的功能:取消收藏。原始的旅游详情页面只有一个 点击收藏 的按钮。在我的实现方式中:在 点击收藏 旁边添加了一个 取消收藏 的按钮,两个按钮的样式相反。当用户没有登录或登录后没有收藏此线路,则 点击收藏 为红色且可点

2020-10-21 16:07:14 1045 2

原创 JavaWeb - 黑马旅游网(番外2):用户收藏分页展示

黑马旅游网(番外2):用户收藏界面展示1 功能描述2 功能分析2.1 业务逻辑2.2 实现细节2.2.1 用户身份获取2.2.2 特殊情况处理2.2.3 代码编写位置3 代码实现3.1 后端3.1.1 Servlet3.1.2 Service3.1.3 Dao3.2 前端4 相关链接笔者在之前的一系列博客中将黑马旅游网系列公开视频课程中涉及到的功能进行了分析和实现,详细内容可前往《黑马旅游网》系列博客及笔者源码传送门 进一步了解和阅读。1 功能描述接上篇黑马旅游网(番外1):“自动登录”,本篇博客介绍

2020-10-21 12:34:36 1829 6

原创 JavaWeb - 黑马旅游网(番外1):“自动登录”

黑马旅游网(番外1):“自动登录”1 功能描述2 功能分析2.1 Session 与 Cookie2.2 “自动登陆” 的本质2.3 Cookie 的生命周期与作用域2.3.1 生命周期2.3.2 作用域2.4 实现 “自动登陆”3 代码实现3.1 前端3.2 后端4 相关链接笔者在之前的一系列博客中将黑马旅游网系列公开视频课程中涉及到的功能进行了分析和实现,详细内容可前往 《黑马旅游网》系列博客及笔者源码传送门 进一步了解和阅读。1 功能描述本篇博客将对旅游网站中的用户“自动登陆”功能进行分析和实现

2020-10-20 13:37:30 881 1

原创 JavaWeb - 《黑马旅游网》系列博客及笔者源码传送门

黑马旅游网实战项目系列传送门项目启动用户注册登录与退出首页线路分类展示旅游线路分页展示旅游线路详情展示线路搜索分页展示

2020-10-20 01:42:52 4615 2

原创 JavaWeb - 黑马旅游网(8):旅游线路收藏

黑马旅游网(8):旅游线路收藏1 功能描述2 功能分析2.1 线路收藏判定2.2 旅游线路收藏2.3 页面样式更新3 代码实现:是否收藏3.1 后端3.1.1 Servlet3.1.2 Service3.1.3 Dao3.2 前端4 代码实现:收藏线路4.1 后端4.1.1 Servlet4.1.2 Service4.1.3 Dao4.2 前端5 相关链接1 功能描述接上篇黑马旅游网(7):线路搜索分页展示,本篇博客对旅游线路收藏功能进行分析和实现。线路详情页面中带有 点击收藏 按钮,提示用户可以将喜欢

2020-10-20 00:00:00 1403 2

原创 JavaWeb - 黑马旅游网(7):线路搜索分页展示

黑马旅游网(7):线路搜索分页展示1 功能描述2 功能分析3 代码实现3.1 后端3.1.1 Servlet3.1.2 Service3.1.3 Dao3.2 前端4 相关链接1 功能描述接上篇黑马旅游网(6):旅游线路详情展示,本篇博客将分析和实现网页中的搜索栏的关键词搜索功能:用户在搜索栏中输入 关键词,点击 搜索 按钮,进而获取包含对应关键词的所有旅游线路,最后将这些旅游线路分页展示。关于分页展示功能的实现,详见:黑马旅游网(5):旅游线路分页展示。2 功能分析因为最终的结果是分页展示,所

2020-10-19 16:22:27 938

原创 JavaWeb - 黑马旅游网(6):旅游线路详情展示

黑马旅游网(6):旅游线路详情展示1 功能描述2 功能分析3 代码实现3.1 后端3.1.1 Servlet3.1.2 Service3.1.3 Dao3.1.4 route/findOne 程序的响应内容3.2 前端4 相关链接1 功能描述接上篇黑马旅游网(5):旅游线路分页展示,本篇博客对网站中的旅游线路详情页面的展示功能进行分析和实现。在浏览旅游线路分页展示页面时,当用户想进一步了解某条旅游线路的更多内容时,通过单击对应的 查看详情 按钮时,使网页能够跳转至对应的线路详情页面中。分页展示页面,单

2020-10-19 12:25:38 1358 1

原创 JavaWeb - 黑马旅游网(5):旅游线路分页展示

黑马旅游网(5):旅游线路分页展示1 功能描述2 功能分析3 代码实现项目课程链接:https://www.bilibili.com/video/BV1CE411E7h4完整课程连接:https://www.bilibili.com/video/BV1uJ411k7wy1 功能描述接上篇黑马旅游网(4):分类数据展示,本篇博客将分析和实现将具体某类旅游线路分成多个页面在前端网页进行展示。本案例预先提供了 国内游 分类的相关图片和文本数据,当功能正确实现后,单击分类栏中的 国内游 按钮,便可切换至对应

2020-10-16 11:28:22 1559 2

原创 JavaWeb - 黑马旅游网(4):首页线路分类展示

黑马旅游网(4):分类数据展示1 功能描述2 功能分析2.1 功能逻辑抽象2.2 性能优化策略3 代码实现3.2 后端3.1.1 Servlet3.1.2 Service3.1.3 Dao3.2 前端项目课程链接:https://www.bilibili.com/video/BV1CE411E7h4完整课程连接:https://www.bilibili.com/video/BV1uJ411k7wy1 功能描述此功能旨在控制 banner 顶部的展示内容。如以下H5页面所示:2 功能分析2.1

2020-10-14 16:18:35 915 1

原创 JavaWeb - 黑马旅游网(3):登录与退出

黑马旅游网(3):登录与退出1 业务描述2 业务分析2.1 业务流程抽象2.1.1 登录信息核验2.1.2 用户信息展示2.1.2 退出登录2.2 可能的技术难点与解决策略3 代码实现3.1 登录信息校验3.1.1 前端3.1.2 Servlet3.1.3 Service3.1.4 Dao3.2 用户信息展示3.2.1 前端3.2.2 Servlet3.3 退出登录3.3.1 前端3.3.2 Servlet1 业务描述接上篇黑马旅游网(2):用户注册,本篇博客将分析和实现用户登录与退出。登录是后台获取当

2020-10-14 11:39:41 1189

原创 JavaWeb - 黑马旅游网(2):用户注册

黑马旅游网(2):用户注册1 业务描述2 业务分析2.1 业务流程抽象2.2 可能的技术难点与解决策略3 代码实现3.1 信息验证与提交3.1.1 前端3.1.2 Servlet3.1.3 Service3.1.4 Dao3.2 邮件激活3.2.1 Servlet3.2.2 Service3.2.3 Dao项目课程链接:https://www.bilibili.com/video/BV1CE411E7h4完整课程连接:https://www.bilibili.com/video/BV1uJ411k7wy

2020-10-13 01:57:56 1708

原创 JavaWeb - 黑马旅游网(1):项目启动

Web开发综合案例:黑马旅游网(1)一、案例引述二、项目架构与技术选型1. Web 层2. Service 层3. Dao 层三、代码文件结构1. domain2. dao3. service4. web5.util四、数据库表设计1.tab_user2.tab_favorite3.tab_route4.tab_seller5.tab_route_img6.tab_category五、内容小结项目课程链接:https://www.bilibili.com/video/BV1CE411E7h4完整课程连接

2020-10-12 22:18:44 3396 3

原创 JVM - 浅谈 GC 垃圾回收

浅谈GC垃圾回收器一、关于回收目标二、方法区回收1. 常量回收2. 类卸载三、堆回收1. 堆空间的划分(1) 新生代(2) 老年代2. 对象存活判定(1) 标记算法a. 引用计数法b. 可达性分析算法(2) 死亡判定一、关于回收目标一个GC过程在逻辑上需要经过两个步骤:先判断,再回收。即先判断哪些对象是存活的、哪些对象是死亡的,然后对死亡的对象进行回收。JVM的内存分为多个区域,不同区域的实现机制以及功能不同,那么各自的回收目标也不同。一般来说,内存回收主要涉及以下 3 个区域:虚拟机栈/本地方法

2020-09-13 20:06:13 180

原创 JVM - 浅谈对象的内存管理与实例化

浅谈对象的内存管理与实例化一、对象的内存布局1. 对象头(1)标记字(2)类型指针(3)数组长度2. 实例数据3. 对齐填充二、对象的访问定位1. 通过句柄(handler)实现2. 通过直接指针(direct point)实现:三、对象的创建过程1. 类加载2. 内存分配(1) 内存分配的方式(2) 内存分配的安全3. 内存初始化4. 对象头初始化5. 对象实例数据初始化一、对象的内存布局以HotSpot虚拟机为例,对象在内存中的结构可以分为 3 部分:对象头(header)实例数据(insta

2020-09-13 17:26:13 100

原创 JVM - 浅谈JVM运行时内存结构(2)

JVM - 浅谈JVM内存结构(2)一、堆(Heap)1. 什么是堆2. 堆异常二、方法区(Method Area)1. 什么是方法区2. 运行时常量池3. 方法区的实现4. 方法区异常三、直接内存(Direct Memory)1. 什么是直接内存2. 直接内存的 OutOfMemoryError一、堆(Heap)1. 什么是堆堆是用于存放对象的内存区域。因此,它是垃圾收集器(GC)管理的主要目标。其具有以下特点:堆在逻辑上划分为新生代和老年代。由于 Java 对象大部分是朝生夕灭,还有一小部分能

2020-09-13 12:16:37 142

原创 JVM - 浅谈JVM运行时内存结构(1)

浅谈JVM内存结构(1)一、程序计数器(Program Counter Register)1. 什么是程序计数器2. 程序计数器的特点二、虚拟机栈(VM Stack)1. 什么是虚拟机栈2. 虚拟机栈的特点3. 虚拟机栈的 StackOverflowError4. 虚拟机栈的 OutOfMemoryError三、本地方法栈(Native Method Stack)参考资料JVM 在执行 Java 程序的过程中会将内存划分为若干不同功能的数据区。分析 JVM 的内存结构,主要就是分析 JVM 运行时的数据存

2020-09-13 11:15:28 141

原创 DB - 数据库事务

数据库事务一、基本介绍1. 事务的概念2. 事务操作3. 自动提交&手动提交二、四大特征三、隔离级别一、基本介绍1. 事务的概念数据库事务:如果一个包含多个步骤的业务操作,被事务管理,那么这些操作要么同时成功,要么同时失败。例如:银行转账业务可以被事务管理。张三给李四转账500元,从数据库的角度看,可以是这样一个事务1. 查询张三的账户余额是否大于5002. 张三的账户 -5003. 李四的账户 +500首先,开启事务,依序执行上述步骤。只有 3 步全部完成才算事务完成,此时会提交

2020-09-10 00:22:43 798

原创 DB - 多表查询

多表查询一、基本概念二、多表查询分类1. 内连接查询2. 外连接查询3. 子查询子查询示例子查询的不同情况一、基本概念多表查询语法SELECT 字段列表FROM 表名列表WHERE 约束条件;笛卡尔积现象:有两个集合 A,B,取这两个集合的所有组成情况。MySQL的多表查询结果就是以笛卡尔积的结果形式返回,这样的结果通常伴随一些无效结果。要完成多表查询,需要采用相应的手段消除无效结果。二、多表查询分类案例:结合对以下数据表的查询语句理解多表查询# 创建部门表CREATETABL

2020-09-09 22:42:36 1764

原创 DB - 数据库设计

数据库设计范式一、多表之间的关系1. 多表关系分类2. 综合案例二、设计范式1. 设计范式概念2. 设计范式分类3. 理解设计范式4. 设计范式总结一、多表之间的关系1. 多表关系分类一对一例如:公民和身份证号分析:一个人只能有一个身份证号,一个身份证号只能对应一个人。实现方式:一对一关系实现,可以在任意一方添加唯一外键指向另一方的主键。一对多 / 多对一例如:部门和员工分析:一个部门可以有多个员工,一个员工只能属于一个部门。实现方式:在多的一方建立外键,指向一的一方的主键。多对多

2020-09-09 20:52:51 1130

原创 DB - MySQL进阶操作

MySQL进阶操作一、高级查询语句1. 排序查询2. 聚合查询3. 分组查询4. 分页查询二、约束1. 主键约束:PRIMARY KEY2. 外键约束:FOREIGN KEY一、高级查询语句1. 排序查询-- 语法ORDER BY 排序字段1 排序方式1, 排序字段2 排序方式2, ...排序方式:- ASC:升序,默认的- DESC:降序当存在多个排序条件时,只有当前面的条件值一样时,才会判断第二个条件。2. 聚合查询将一个字段的数据作为一个整体进行计算,常用的聚合函数有

2020-09-09 15:25:02 91

原创 DB - MySQL基础操作

MySQL基础操作一、SQL的基本概念1.什么是SQL?2.SQL通用语法3. SQL分类二、DDL:操作数据库、表1. 操作数据库:CRUD2. 操作表二、DML:增删改表中数据1. 添加数据2. 删除数据3. 修改数据三、DQL:查询表中的记录1. 查询语法(1)查询整张表(2)完整查询语法2. 基础查询(1)多字段查询(2)去除重复(3)计算列(4)起别名3. 条件查询四、DCL:用户管理与权限控制1. 管理用户2. 权限管理:一、SQL的基本概念1.什么是SQL?Structured Quer

2020-09-09 13:29:01 356

原创 Java - 源码走读:HashMap(JDK1.7)

源码走读:HashMap(JDK1.7)〇、HashMap 功能概述一、从 ArrayList 谈起二、添加元素1. Entry 接口2. 哈希冲突4. 初识构造方法5. 数组容量的初始化6. 利用哈希值确定数组索引7. 对于 key==null 的处理四、扩容1. 单线程下的扩容2. 多线程场景下的扩容五、重哈希六、查找元素七、modCount〇、HashMap 功能概述HashMap 作为一种双列集合,从使用者的角度来看,它最主要的两个功能就是添加和查找。添加键值对:将键值对(key-value

2020-08-25 21:06:43 289 1

原创 Java - 并发编程:线程状态

并发编程:线程状态一、线程状态概述二、Timed Wating(计时等待)三、Blocked(被阻塞)四、Waiting(无限等待)1. 案例描述2. 需求分析:需要哪些类?3. 代码实现一、线程状态概述当线程被创建并启动以后,它既不是一启动就进入了执行状态,也不是一直处于执行状态。在 API 中 java.lang.Thread.State 这个枚举给出了一个线程在整个生命周期中的6种线程状态,下表对这6种线程状态做了简要归纳线程状态导致状态发生的事件New(新建)线程刚被创建

2020-08-19 00:35:55 153

原创 Java - 并发编程:线程安全

并发编程:线程安全一、线程安全1. 多线程的潜在风险2. 线程不安全原因分析二、线程同步1. 同步代码块2. 同步方法3. Lock锁一、线程安全如果有多个线程在同时运行,而这些线程可能会同时运行这段代码。程序每次运行结果和单线程运行的结果是一样的,而且其他的变量的值也和预期的是一样的,就是线程安全的。1. 多线程的潜在风险电影院的多窗口售票:假设一场电影可以卖100张票。使用线程对象模拟售票窗口,多个线程对象同时执行售票任务。使用 Runnable 接口实现线程类class RunnableIm

2020-08-18 23:45:03 108

原创 Java - 内存分析:多线程调度

内存分析:多线程调度一、绘制内存结构图二、类加载三、启动 main 线程四、启动其它线程五、争夺 CPU 执行权多线程调度内存分析:给定以下多线程实现相关代码,观察和分析不同线程在内存中的的调度过程一、绘制内存结构图二、类加载将 Thread 和 DemoThread 类的字节码文件加载到方法区中三、启动 main 线程程序总是从 main() 方法开始执行,首先,JVM在栈区中创建并启动一个 main 线程栈。然后在 main 线程栈中为 main 方法开辟一个栈帧,将 main() 方法压

2020-08-18 23:26:18 183

原创 Java - 并发编程:创建线程

并发编程:创建线程一、继承 Thread 类1. 实现步骤2. 相关方法二、实现 Runnable 接口1. 实现步骤2. 相关方法3. Runnable 接口与 Thread 类对比三、匿名线程1. 继承 Thread 类的匿名线程2. 实现 Runnable 接口的匿名线程Java程序总是从一个静态且无返回值的 main() 方法开始从上至下依次执行。在不添加其它线程情况下,程序执行时会占用一个CPU进程,且这个进程中只包含一条主线程。在Java中,创建线程首先要定义线程类,然后将线程类实例化为线程对

2020-08-18 23:20:07 110

原创 Java - 并发编程:基本概念

并发编程的基本概念一、并发与并行二、进程与线程三、多线程四、线程调度一、并发与并行无论是并行还是并发,在用户看来都是“同时”运行的。实际上,一个CPU同一时刻只能执行一个任务。并发:指两个或多个事件在同一时段内发生,即单核CPU在固定时段内交替执行多个任务并行:指两个或多个事件在同一时刻发生,即多核CPU同时执行多个任务。在单处理器(CPU)系统中,每一时刻只能有一道程序执行,多个程序在单 CPU 上采取分时的交替运行(并发执行)。而在多 CPU 系统中,多个程序可以被分配到多个CPU中,实现

2020-08-18 23:04:45 103

原创 Java - Map 接口及主要实现类

Map 接口及主要实现类一、Map 接口1. 基本介绍2. 常用方法3. Map接口的主要实现类二、Map 类集合的遍历1. 键找值方式2. 键值对方式Entry一、Map 接口1. 基本介绍现实生活中,我们常会看到这样的一种集合:IP地址与主机名,身份证号与个人,系统用户名与系统用户对象等。这种元素之间成对保持一一对应的关系称为映射。通常称构成映射关系的两个元素称为键值对(key-value)。Java 提供了专门的集合类用来存放这种对象关系的对象,java.util.Map 接口。Map:双列集合

2020-08-16 22:11:25 1436

原创 Java - Collection 接口及主要实现类

Collection 接口及主要实现类一、Collection1. 基本介绍2. 常用方法二、List1. 基本介绍2. List 的特有方法3. List 接口的实现类三、Set 接口1. 基本介绍2. Set 接口的实现类一、Collection1. 基本介绍Collection:单列集合类的根接口,用于存储一系列符合某种规则的元素,它有两个重要的子接口,分别是 java.util.List 与 java.util.Set。其中:List 的特点是有索引、存取有序、可重复。Set 的特点是无

2020-08-16 21:57:18 9244 2

原创 JVM - 浅谈JVM、JRE、JDK

浅谈JVM、JRE、JDKJDK、JRE、JVM之间的关系示意图一、Java虚拟机JVM(Java Virtual Machine):Java虚拟机,简称JVM,是Java程序的运行环境。所有的Java程序都运行在JVM上。跨平台特性:Java编写的软件可以运行在任何操作系统上,只要这台机器上安装了与之操作系统对应JVM,这称为Java语言的跨平台特性。也就是Java程序运行在JVM上,JVM运行在操作系统上。注意:JVM本身不具备跨平台特性,每种操作系统下都有与之适配的JVM。

2020-08-12 00:23:47 102

原创 Java - String.intern()方法

@TOC一、从字符串比较说起一个String类型 “==” 比较样例代码如下:public class StringTest { public static void main(String[] args) { String str1 = "todo"; String str2 = "todo"; String str3 = "to"; String str4 = "do"; String str5 = s

2020-08-11 00:43:06 562 1

原创 Java - 内存分析:字符串常量池

内存分析:字符串常量池一、绘制内存结构图二、字符串实例化三、字符数组实例化四、字符串对象实例化五、总结图片内容源自B站黑马Java基础公开课给定以下字符串实例化的代码段,分析内存中的数据流动一、绘制内存结构图二、字符串实例化 String str1 = "abc";栈中开辟main方法栈帧(图中省略),在栈帧中开辟一段名为str1的地址空间,用于保存字符串实例的地址堆中实例化一个字符编码数组,数组长度为字符串长度,内容为字符串中每个字符的编码值(图中以ASCII码为例)堆中有一块专门存

2020-08-10 23:01:30 184

基于Matlab语言以面向对象的程序设计思想开发的粒子群算法(PSO)

在matlab环境下采用面向对象编程的思想编写粒子群算法,将每个粒子个体抽象为一个class,在内部设置属性和方法。

2018-01-27

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除