《Java 应用与开发》课程讲义 - 王晓东中的常用包如表所示。 表 4.1 JDK API 常用包 包名 功能说明 包的含义 java.lang Java 语言程序设计的基础类 language 的简写 java.awt 创建图形用户界面和绘制图形图像的相关类 抽象窗口工具集 java.util 集合、日期、国际化、各种实用工具 utility 的简写 java.io 可提供数据输入/输出相关功能的类 input/output 的简写 java 又没有无参的构造方 法,则编译出错。 . 课程配套代码 ± sample.oop.ConstructorOverloadSample.java 5.2.3 对象构造/初始化细节 第一阶段 为新建对象的实例变量分配存储空间并进行默认初始化。 第二阶段 按下述步骤继续初始化实例变量: 1. 绑定构造方法参数; 2. 如有 this() 调用,则调用相应的重载构造方法然后跳转到步骤 5; 线程的生命周期包含以下 5 个状态(状态间关系如图14.1所示): 新建状态 调用 Thread 构造方法,未显式调用 start() 方法前; 就绪状态 调用 start() 方法后,线程在就绪队列里等候; 运行状态 开始执行线程体代码; 阻塞状态 因某事件发生,例如线程进行 I/O 操作,等待用户输入数据; 终止状态 线程 run() 方法执行完毕。 新建状态 阻塞状态 就绪状态 运行状态 终止状态0 码力 | 330 页 | 6.54 MB | 1 年前3
Hello 算法 1.0.0b4 Java版度,因此更易于理解。在本书中,重点和难点知识 将主要通过动画和图解形式展示,而文字则作为动画和图片的解释与补充。 在阅读本书时,如果发现某段内容提供了动画或图解,建议以图为主线,以文字(通常位于图像上方)为辅, 综合两者来理解内容。 Figure 0‑2. 动画图解示例 0. 前言 hello‑algo.com 4 0.2.3. 在代码实践中加深理解 本书的配套代码托管在GitHub 4. 数组与链表 hello‑algo.com 52 4.1.2. 数组缺点 数组在初始化后长度不可变。由于系统无法保证数组之后的内存空间是可用的,因此数组长度无法扩展。而 若希望扩容数组,则需新建一个数组,然后把原数组元素依次拷贝到新数组,在数组很大的情况下,这是非 常耗时的。 // === File: array.java === /* 扩展数组长度 */ int[] extend(int[] 64 // 更新元素数量 size--; // 返回被删除元素 return num; } /* 列表扩容 */ public void extendCapacity() { // 新建一个长度为原数组 extendRatio 倍的新数组,并将原数组拷贝到新数组 nums = Arrays.copyOf(nums, capacity() * extendRatio); // 更新列表容量0 码力 | 342 页 | 27.39 MB | 1 年前3
Java 应用与开发 - 线程编程线程的同步 线程生命的周期 线程的生命周期 新建状态 调用 Thread 构造方法,未显式调用 start() 方法前; 就绪状态 调用 start() 方法后,线程在就绪队列里等候; 运行状态 开始执行线程体代码; 阻塞状态 因某事件发生,例如线程进行 I/O 操作,等待用户 输入数据; 终止状态 线程 run() 方法执行完毕。 新建状态 阻塞状态 就绪状态 运行状态 终止状态 线程的同步 线程生命的周期 线程的生命周期 新建状态 调用 Thread 构造方法,未显式调用 start() 方法前; 就绪状态 调用 start() 方法后,线程在就绪队列里等候; 运行状态 开始执行线程体代码; 阻塞状态 因某事件发生,例如线程进行 I/O 操作,等待用户 输入数据; 终止状态 线程 run() 方法执行完毕。 新建状态 阻塞状态 就绪状态 运行状态 终止状态 线程的同步 线程生命的周期 线程的生命周期 新建状态 调用 Thread 构造方法,未显式调用 start() 方法前; 就绪状态 调用 start() 方法后,线程在就绪队列里等候; 运行状态 开始执行线程体代码; 阻塞状态 因某事件发生,例如线程进行 I/O 操作,等待用户 输入数据; 终止状态 线程 run() 方法执行完毕。 新建状态 阻塞状态 就绪状态 运行状态 终止状态0 码力 | 82 页 | 1010.73 KB | 1 年前3
Linux Docker Mess可配额/可度量 Control Groups (cgroups) cgroups 实现了对资源的配额和度量。cgroups 提供类似文件的接口,在/cgroup目录下 新建一个文件夹即可新建一个group,在此文件夹中新建task文件,并将pid写入该文件, 即可实现对该进程的资源控制。groups可以限制blkio、cpu、cpuacct、cpuset、devices、 freezer、me0 码力 | 77 页 | 7.40 MB | 1 年前3
一次线上java 应用响应时间过长问题的排查是在方法内部的,方法内的局部变量按道理说,方法结束后直接就可以回收的啊,这不科 ,肯定是 ossClient 的源码中搞了鬼。于是直接去源码中看了一下。
发现在 new OssClient 时,源码中会新建上面提到的 PoolHttpConnectionManager,然后调用 oss lient 存取数据时,PoolHttpConnectionManager 会从内部维护的 http 连接池中找到可用连接,进 这没问题,大多是框架都是这么设计的。
既然 JVM 堆内存中有 160 多万个 PoolHttpConnectionManager 对象,说明肯定是有地方把内次 n w OssClient 时新建的 PoolHttpConnectionManager 给缓存起来了,导致垃圾回收无能为力。
0 码力 | 3 页 | 247.74 KB | 1 年前3
Nacos架构&原理
Nacos 架构 < 66 图 3 服务的逻辑隔离模型 Nacos 提供了四层的数据逻辑隔离模型,用户账号对应的可能是⼀个企业或者独立的个体,这个数 据⼀般情况下不会透传到服务注册中心。⼀个用户账号可以新建多个命名空间,每个命名空间对应 ⼀个客户端实例,这个命名空间对应的注册中心物理集群是可以根据规则进行路由的,这样可以让 注册中心内部的升级和迁移对用户是无感知的,同时可以根据用户的级别,为用户提供不同服务级 插件可以选择使用或者忽略这个参数。 CMDB 插件开发流程 参考 https://github.com/nacos-group/nacos-examples,这里已经给出了⼀个示例 plugin 实现。 具体步骤如下: 1、新建⼀个 maven 工程,引入依赖 nacos-api:com.alibaba.nacos nacos-api alibaba.nacos.api.cmdb.CmdbService,并实现相关方法。 4、在 src/main/resource/ 目录下新建目录:META-INF/services 5、在 src/main/resources/META-INF/services 目录下新建文件 com.alibaba.nacos.api.cmdb.Cm dbService,并在文件里将第三步中创建的实现类全名写入该文件:0 码力 | 326 页 | 12.83 MB | 9 月前3
Hello 算法 1.0.0b1 Java版nums[randomIndex]; return randomNum; } 4.1.2. 数组缺点 数组在初始化后长度不可变。由于系统无法保证数组之后的内存空间是可用的,因此数组长度无法扩展。而若 希望扩容数组,则需新建一个数组,然后把原数组元素依次拷贝到新数组,在数组很大的情况下,这是非常耗 4. 数组与链表 hello‑algo.com 47 时的。 // === File: array.java === } // 更新元素数量 size--; // 返回被删除元素 return num; } /* 列表扩容 */ public void extendCapacity() { // 新建一个长度为 size 的数组,并将原数组拷贝到新数组 nums = Arrays.copyOf(nums, capacity() * extendRatio); // 更新列表容量 capacity change”按钮;页面跳转后,点击“Create pull request”按钮发起拉取请求即可。 12. 附录 hello‑algo.com 181 Figure 12‑1. 页面编辑按键 图片无法直接修改,需要通过新建 Issue 或评论留言来描述图片问题,我会第一时间重新画图并替换图片。 12.2.2. 内容创作 如果您想要参与本开源项目,包括翻译代码至其他编程语言、拓展文章内容等,那么需要实施 Pull Request0 码力 | 186 页 | 14.71 MB | 1 年前3
Java 应用与开发 - 面向对象编程进阶 PART1关键字 this JDK API 中的常用包 包名 功能说明 包的含义 java.lang Java 语言程序设计的基础类 language 的简写 java.awt 创建图形用户界面和绘制图形图像 的相关类 抽象窗口工具集 java.util 集合、日期、国际化、各种实用工具 utility 的简写 java.io 可提供数据输入/输出相关功能的类 input/output 的简写 java0 码力 | 39 页 | 614.13 KB | 1 年前3
Hello 算法 1.0.0b2 Java版nums[randomIndex]; return randomNum; } 4.1.2. 数组缺点 数组在初始化后长度不可变。由于系统无法保证数组之后的内存空间是可用的,因此数组长度无法扩展。而若 希望扩容数组,则需新建一个数组,然后把原数组元素依次拷贝到新数组,在数组很大的情况下,这是非常耗 4. 数组与链表 hello‑algo.com 47 时的。 // === File: array.java === } // 更新元素数量 size--; // 返回被删除元素 return num; } /* 列表扩容 */ public void extendCapacity() { // 新建一个长度为 size 的数组,并将原数组拷贝到新数组 nums = Arrays.copyOf(nums, capacity() * extendRatio); // 更新列表容量 capacity change”按钮;页面跳转后,点击“Create pull request”按钮发起拉取请求即可。 12. 附录 hello‑algo.com 192 Figure 12‑1. 页面编辑按键 图片无法直接修改,需要通过新建 Issue 或评论留言来描述图片问题,我会第一时间重新画图并替换图片。 12.2.2. 内容创作 如果您想要参与本开源项目,包括翻译代码至其他编程语言、拓展文章内容等,那么需要实施 Pull Request0 码力 | 197 页 | 15.72 MB | 1 年前3
MySQL ZIP Archive版本安装说明定位到C盘根目录,创建MySQL目录。 将所下载的MySQL软件压缩包mysql-5.7.20-winx64.zip放在MySQL目录下,并使用解压缩工具(WinRAR等)解压 缩;cd到解压目录内,新建my.ini文件,并将以下内容拷贝到my.ini文件内。 [mysql] # 设置mysql客户端默认字符集 default-character-set=utf8 [mysqld] #设置3306端⼝口0 码力 | 4 页 | 756.23 KB | 1 年前3
共 19 条
- 1
- 2













