- 博客(20)
- 收藏
- 关注
原创 第十三章 多线程并发
第一节 多进程和多线程简介当前的操作系统都是多任务os每个独立执行的任务就是一个进程OS将时间划分为多个时间片(时间很短)每个时间片内将CPU分配给某一个任务,时间片结束,CPU将自动回收,再分配给另外任务。从外部看,所有任务是同时在执行。但是在CPU上,任务是按照串行依次运行(单核CPU)。如果是多核,多个进程任务可以并行。但是单个核上,多进程只能串行执行。多进程的优点:- 可以同时运行多个任务- 程序因IO堵塞时,可以释放CPU,让CPU为其他程序服务- 当系统有多个CP
2020-09-08 16:15:30
128
原创 第十二章 高级字符串处理
第一节 正则表达式正则表达式(Regular Expression):- 规则表达式,计算机科学的基础概念- 用事先定义好的一些特定字符,及这些特定字符的组合,组成一个"规则字符串"- ^[A-Za-z]+$ 代表一个字符串只能由26个英文字母组成java.until.regex包:- Pattern 正则表达式的编译表示· compile编译一个正则表达式为Pattern对象· matcher用Pattern对象匹配一个字符串,返回匹配结果- Matcher· In
2020-09-07 14:16:00
148
原创 Leetcode Simple_26 删除排序数组中的重复项
我的思路1. 创建Arraylist记录非重复的值,因为arraylist这个类型不需要在创建是声明长度2. 记录非重复的值3. 将非重复值赋到原array
2020-09-03 20:06:04
143
原创 第十一章 Java文件读写
第一节 文件系统及Java文件基本操作java.if.File是文件和目录的重要类,目录也是用File类进行表示File类与OS无关,但会受到OS的权限限制常用方法:createNewFile, delete, exists, getAbsolutePath, getName, getParent, getPath...注意:file不涉及具体的文件内容,只涉及属性public static void main(String[] arts){ //创建目录 File d
2020-09-03 15:27:08
354
原创 第十章 Java数据结构
第一节 数组数组是一个存放多个数据的容器- 数据是同一类型- 所有的数据是线性规则排列- 可用过位置索引来快速定位访问数据- 需明确容器的长度第二节 Java Collection Framework容器框架:为表示和操作容器而规定的一种标准体系结构- 对外的接口:容器中所能存放的抽象数据类型- 接口的实现:可复用的数据结构- 算法:对数据的查找和排序容器框架的优点:提高数据存取效率,避免重复劳动绿色部分是列表-list黄色部分是散列集合-se
2020-09-01 16:48:01
206
原创 Leetcode Simple_20 有效的括弧
我的思路1. 利用栈2. 依次读入括弧3. 如果准备push的和栈顶的括弧相匹配,便取消push并将栈顶push出来4. 最后判断是否为空栈
2020-08-30 18:43:40
106
原创 第九章 Java异常和异常处理
第一节 Java异常分类异常:程序不正常的行为或者状态- int a = 5 / 0- 数组越界访问- 读取文件,结果该文件不存在异常处理- 程序返回到安全状态- 允许用户保存结果,并以适当方式关闭程序Throwable:所有错误的祖先Error:系统内部错误或者资源耗尽,不管Exception:程序有关的异常,重点关注。- RuntimeException:程序自身的错误,5/0,空指针,数组越界···- 非RuntimeException:外界相关的错
2020-08-30 17:14:45
349
原创 Leetcode Simple_14 最长公共前缀
我的思路1. 找到最短的string和最小长度2. 对每个字符串进行loop,如果某个字母不相等直接return题解思路1. 找到最短的String和最小长度2. 对最短的string,用二分查找来匹配。
2020-08-29 21:48:41
125
原创 Leetcode Simple_13 罗马数字转整数
我的思路这题似乎没有什么特别的思路,两个指针一个now一个next,对可以特别组合的字符进行判断,如果next满足那个组合,就+特定的数字。Java知识获取String的某个index: String.charAt(index)
2020-08-29 20:42:40
104
原创 第八章 Java常用类
第一节 Java类库概述包名以Java开始的包是Java的核心包(Java Core Package)包名以Javax开始的包是Java扩展包(Java Extension Package)第二节 数字相关类Java数字类- 整数 Short, Int, Long- 浮点数 Float, Double- 大数类 BigInteger(大整数), BigDecimal(大浮点数)- 随机数类 Random- 工具类 Math大整数类 BigInteger:支持无限.
2020-08-28 19:00:13
109
原创 Leetcode Simple_9 回文数
我的思路采用Simple_7的题解算法,在每次重组时进行测试,以免溢出int范围。题解思路1. 尽量在循环之前剔除特殊case,比如0结尾,负数。2. 循环时判断条件为x > revertedNumber,则只loop一半的回文数。3. 如果是偶数size的回文数x,则在循环结束时,revertedNumber刚好等于剩下的一半x。4. 如果时基数size的回文数x,则在循环结束时revertedNumber多一位,但是中间的数字不影响回文数的判断。...
2020-08-27 18:28:04
125
原创 第七章 package,import和classpath
第一节 package和import1. packagepackage包,和C++中namespace类似。包名package name尽量唯一。域名是唯一的,硬刺常用域名做包名。域名逆序:cn.edu.ecnu,范围通常从大到小。嘞的完整名字:包名+类名,cn.edu.ecru.PackageExample包名:和目录层次一样,cn\edu\ecnu\PackageExample但是包具体放在什么位置不重要,编译和运行的时候再指定。import规则:- i.
2020-08-27 17:00:52
296
原创 Leetcode Simple_7 整数反转
我的思路利用数学方法在long取值范围下进行运算,结尾对long类型的ans进行test,如果溢出则进行调整。Java知识用到了三元表达式x = (negativeFlag)? (int)(ans*(-1)) : (int)ans;题解思路直接在int取值范围下进行数学运算,但是在重组之前便判断此次重组是否会造成溢出。...
2020-08-26 19:53:55
143
原创 第六章 static, final和常量设计(续)
第四节 常量设计和常量池常量:一种不会修改的变量- Java没有constant关键字- 不能修改,final- 不会修改/只读,static- 方便访问publicJava中的常量- public static final- 建议变量名字全大写,以连字符相连,如UPPER_BOUNDJava为很多基本类型的包装类/字符串都建立常量池。常量池:相同的值只存储一份,节省内存,共享访问。基本类型的包装类:- Boolean, Byte, Short, Intege
2020-08-26 15:42:46
192
原创 Leetcode Simple_1 两数之和
我的思路1. 先对nums数组进行排序。2. 设置左右头尾指针。3. 如果 sort[left] + sort[right] > target, 则说明sum过大,需要将sum变小,于是将右指针左移。4.如果 sort[left] + sort[right] <target, 则说明sum过小,需要将sum变大,于是将左指针右移。5. 通过两次for循环找到两个指针在原数组中对应的index。Java知识1. 对某一个数组进行排序:Arrays.sort(nu...
2020-08-25 20:53:48
129
原创 第六章 static, final和常量设计
第一节 staticstatic可用在变量,方法,类,匿名方法块中。1. static变量static变量只依赖于类存在(通过类即可访问),不依赖于对象实例存在。即可以通过Potato.price即可访问。所有的对象实例,如例子中的obj1和obj2关于price变量的值都共享存储在一个共同的空间(栈)。2. static方法静态方法也无需通过对象来引用,而通过类名可以直接引用,在静态方法中只能使用静态变量,不能使用非静态变量。静态方法禁止引用非静态方法。3. s
2020-08-25 17:22:28
133
原创 第五章 继承,接口和抽象类
第一节 继承父类/基类/超类子类/派生类子类会继承父类的所有东西,除了private。单根继承原则:每个类只能继承一个类。默认继承Object类。第二节 抽象类和接口1. 抽象类如果一个类有方法未实现,则为抽象类。子类继承于抽象类,需要实现父类的所有abstract方法,否则子类也是abstract类。2. 接口如果一个类的所有方法都没有实现,则是interface接口类。类可以implements多个interface。a. 抽象类abstr
2020-08-24 18:12:34
153
原创 第四章 面向对象思想,类和对象
第一节 面向对象思想对象 = 属性 + 方法对象的规范 = 属性定义 + 方法定义子类extends父类,无法继承private类第二节 Java类和对象基本类型的值小,可以直接拷贝。对象包含多个值,不容易复制,赋值采用共享同一块内存区域。第三节 构造函数每个变量都只能存活在离他最近的{ }中,周期结束后,内存就会被JVM自动回收。第四节 信息隐藏和this1. 类的属性是私有的,private2. 类的方法是public3. this负责指向本类的成员变
2020-08-24 16:44:02
162
原创 第三章 类基础知识
第一节 Java类结构和main函数public static void main (String [] args) -> PSVM1. 一个Java文件只能有一个public class。2. 一个文件可以有多个class,但是只有一个是public类的构成:1. 成员变量/属性2. 成员方法/函数第二节 Java基本类型和运算符基本类型:1. boolean:布尔2. byte:字节3. short/int/long:短整数/整数/长整数4....
2020-08-24 16:36:43
137
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人