- 博客(18)
- 收藏
- 关注
原创 Java基础3:String类型
String(java.lang.String) 不可变性 public final class String{xxx…} 以final修饰,表示String类不可被继承 public final class String implements java.io.Serializable, Comparable<String>, CharSequence { /** ...
2018-11-01 19:58:12 268
原创 Java基础2:基本数据类型
8种基本数据类型 基本数据类型的大小 byte(-27 ~ 27-1) 1个字节 8位 --&gt; Byte(包装类) short(-215 ~ 215-1) 2个字节 16位 --&gt; Short int(-231 ~ 231-1) 4个字节 32位 --&gt; Integer long(-263 ~ 263-1) 8个字节 64位 --&gt; Long char(-27 ~...
2018-11-01 19:14:06 151
原创 Java基础1:面向对象四大特性
面向对象四大特性 抽象(有时候会省略) 封装 继承 多态 抽象 将一类对象的共同特征提取出来构建的类。包括数据抽象和行为抽 象。抽象只关注对象有哪些行为和属性,而不关注具体的细节。 封装 利用抽象数据类型将对象的属性和对属性的操作封装起来,使之成为 一个整体。数据被保护起来,对外保留必要的接口。用户无需知道具体的细节,可以通过对象对外提供的接口来访问数据。 优点 减少耦合:可以独立...
2018-11-01 18:10:10 823
原创 Java设计模式2之七大设计模式
一.开闭原则 一个软件实体如类,模块和函数应该对拓展开放,对修改关闭。 用抽象构建框架,用实现拓展细节。 优点:提高软件系统的可复用性和可维护性。 为了满足开闭原则,需要对系统进行抽象化设计,抽象化是开闭原则的关键。在Java、C#等编程语言中,可以为系统定义一个相对稳定的抽象层,而将不同的实现行为移至具体的实现层中完成。在很多面向对象编程语言中都提供了接口、抽象类等机制,可以通过它们定义系统的...
2018-10-16 21:17:16 109
原创 Java设计模式1之UML
UML定义 统一建模语言 UML展现了一系列最佳工程实践 这些最佳实践在对大规模,复杂系统进行建模方面,特别是在软件架构层次已经被证实有效。 UML分类 结构式图形 行为式图形 交互式图形 结构式图形 静态图(类图,对象图,包图) 实现图 剖面图 复合结构图 行为式图形 活动图 状态图 用例图 交互式图形 通信图 交互概述图 时序图 时间图 UML类图 用于表示类,接口,实例等之间...
2018-10-16 17:50:08 208
原创 leetcode题解之566
566.重塑矩阵 在MATLAB中,有一个非常有用的函数 reshape,它可以将一个矩阵重塑为另一个大小不同的新矩阵,但保留其原始数据。 给出一个由二维数组表示的矩阵,以及两个正整数r和c,分别表示想要的重构的矩阵的行数和列数。 重构后的矩阵需要将原始矩阵的所有元素以相同的行遍历顺序填充。 如果具有给定参数的reshape操作是可行且合理的,则输出新的重塑矩阵;否则,输出原始矩阵。 思路:简单题...
2018-10-09 20:43:45 138
原创 leetcode题解之189
189.旋转数组 给定一个数组,将数组中的元素向右移动 k 个位置,其中 k 是非负数。 一开始思路: 当k大于数组长度,对k取余。 k = k % nums.length; 将数组向后移动一位,将最后数字与之前每一项交换,依次循环k次 时间复杂度:O(n2) 进阶版: 以k位置为分割点将左右两部分分别反转,再整体反转。 代码: class Solution { public voi...
2018-10-09 20:23:21 173
原创 leetcode题解之172
172.阶乘后的零 给定一个整数 n,返回 n! 结果尾数中零的数量。 一开始思路:计算n!结果,再统计结果中零的个数。但当n很大时递归n!时间复杂度很高。 优化思路:找规律 1! = 1; 2! = 2; 3! = 6; 4! = 24; 5! = 120; 发现,当n等于5时,由于2和5会想乘,此时会出现尾数为0的情况。由此可见,问题可以转化为n中有多少个5。 代码 class ...
2018-10-09 20:10:12 149
原创 JVM学习篇一:认识运行时数据区
运行时数据区什么是虚拟机虚拟机作用JVM,JDK,JRE关系jvm结构运行时数据区(Runtime Data Areas) 什么是虚拟机 JVM是Java Virtual Machine(Java虚拟机)的缩写,JVM是一种用于计算设备的规范,它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的。 Java语言的一个非常重要的特点就是与平台的无关性。而使用Java虚拟机...
2018-10-09 19:50:58 112
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人