随笔分类 - Java学习笔记
Java学习笔记
摘要:2019.4.12 适配器模式,如果某个类需要实现多个方法,但是开发过程中只需要实现其中的一两个方法,直接使用该类的适配器类,复写需要实现的方法即可 观察者模式:有多个观察者observe观察一个主体,当主体发生变化时候,回调观察者绑定的监听器的方法 使用观察者模式,对某个文件夹进行监控 这里使用第
阅读全文
摘要:题目一 本质上来说,线程是不可控制的,线程的执行是由CPU资源分配决定的,我们无法干预系统CPU的资源分配,但我们可以增加条件来让线程按照我们的预想顺序来执行。 比如。如果当前的执行的线程不满足我们所定的条件,那么就让CPU重新进行资源的分配,直到资源分配给我们所需要的某个线程 题目说明 编写一个线
阅读全文
摘要:2019.4.2 线程实现的两种方式 1. 继承线程,复写其中的run方法 2. 实现runnable接口,复写run方法 使用: synchronized 同步操作 1. 同步代码块 声明一个互斥锁 在一个线程的run方法中 2. synchronized同步方法以及使用
阅读全文
摘要:泛型 上界匹配 ? extends Number 下界匹配 ? super Number getSimpleName 不包括包名 getName 会包括包名 常和反射联合使用,做框架 Type是一个标识符接口,通过 获得 我们需要将此强制转型为其的子类 类来使用 例如有一个框架
阅读全文
摘要:反射 使用反射获得Class类 使用反射获得构造方法 有个构造方法如: 在使用反射来获得的构造方法的时候需要与构造方法中的参数类型进行对应 使用反射获得一个对象实例 例如 使用反射获得属性名(字段名,成员变量名) 以下的方法都是返回Field数组 getDeclaredFields() 返回所有的字
阅读全文
摘要:2019.3.27 正则表达式 \w 单词字符,匹配[]a-zA-Z_0-9] \w{3} 表示匹配3个字符()ab8,abc,a_c,a5_...) \w+ 至少一个,1到多个 \w* 0个到n个 ^ 行的开头 $ 行的末尾 a*b a的个数可以有无数个,例如可以匹配aaaab [abc] abc
阅读全文
摘要:执行外部命令 Runtime只能通过静态方法getRuntime获得,可以用来执行外部的命令 枚举 枚举类型,里面的每一个数值都是MediaType类 使用示例: IDEA可以自动生成枚举类型的switch语句,在switch的括号内输入一个枚举类型,之后按下alt+enter 包装类 包装类:in
阅读全文
摘要:Jsoup的作用 当你想获得某网页的内容,可以使用此框架做个爬虫程序,爬某图片网站的图片(先获得图片地址,之后再借助其他工具下载图片)或者是小说网站的小说内容 我使用Jsoup写出的一款小说下载器, "小说下载器" Jsoup导入 "Jsoup官网" 1. 使用gradle导入 2. 第三方包导入
阅读全文
摘要:思路 升序:每次比较数组中的两个数的时候,最大的数一定是前一个 降序: 每次比较数组中的两个数的时候,最小的数一定是前一个 Flag1和flag2都是假的时候,返回flase,否则,返回flase 代码 public static boolean isSorted(int[] data) { boo
阅读全文
摘要:可能你只想简单的使用,暂时不想了解太多的知识,那么请看这里,了解一下如何读文件,写文件 读文件示例代码 File file = new File("D:\\test\\t.txt"); //这里的有两条斜杠,其实实际的路径为D:\test\t.txt,多的那一条斜杠是转义用的 InputStream
阅读全文
摘要:功能 可以根据使用路径修改文件名,已经测试,可以成功运行 思路 先是读取到txt文本文件,之后使用String的 进行分割,每一行的格式为 ,中间的空格可以使用 或者其他字符代替,以此为标志分割String 之后将旧名字当做key,新名字当做value写入到map中去 获得文件的所在的文件夹, 遍历
阅读全文
摘要:instanceof 对象名 instanceof 类名 该对象是否属于该类 Animal animal = new Dog(); if(animal instanceof Dog){ Dog d = (Dog)animal; } 多态 Animal animal = new Dog(); anim
阅读全文
摘要:问题描述 Scanner使用了nextInt方法的时候,如果接下来要使用nextLine,会获取不到内容 原因 因为Scanner读取用户输入数据,是先判断缓冲区是否含有数据,没有则接收用户输入的数据,把用户输入的数据放在缓冲区中读取。 Scanner先获取用户的内容到缓冲区中,调用nextInt方
阅读全文
摘要:两大框架图解 Collection接口 由第一张图,我们可以知道,Collection接口的子接口有三种,分别是List接口,Set接口和Queue接口 List接口 允许有重复的元素,元素按照添加的顺序进行排序 1. 接口方法 void add(int index,Objext o) Object
阅读全文
摘要:不同情况分析 逻辑运算符,++/ 在前则先执行++/ 。在后面则后执行++/ k++是执行逻辑判断符号,之后再进行k的递增 int k=3; k++==3; //结果为true ++k则是先递增,后判断 int k=3; ++k==3;//结果为false PS:在输出语句中也是按照之前的规则 例如
阅读全文
摘要:常用方法 下面所说的均是静态方法,也就是可以不创建对象直接调用 例: isLetter 判断参数是否为字母(不分大小写),返回结果 isDigit 判断参数是否为数字,返回结果 isSpaceChar 判断参数是否为空格,返回结果 isLowerCase 判断参数是否为小写字母,返回结果 isUpp
阅读全文
摘要:String与StringBuffer String.substring(start,end); 范围为[start,end) StringBuffer.delete(start,end) 范围也是为[start,end) String常用方法 spilt 切割,返回一个String数组 charA
阅读全文
摘要:定义二维数组 可以不指定列数 + 获取行 如果使用第一个例子,这里就是返回4 + 获取列 使用第一个例子,这里就是返回5 + 定义一个对象数组 Book[] books = new Book[50]; 这里的Book是个实体类,之后的用法与一维数组的用法是一样的
阅读全文
摘要:前言 今天java练习的时候,遇到了一道有趣的题目,加深了我对 的理解,所以我写个笔记,记录一下 的特殊用法 continue作用说明 这里我使用个例子来简单说明一下: for(int i=0;i 题目要求:在1 10范围内,循环生成7个数,并且不重复 Random random = new Ran
阅读全文
摘要:前言 一般情况,我们在Java中给数组排序,比起自己写个冒泡排序,更加喜欢使用Java中自带的sort方法,也就是 方法 但是,这个方法只会将数组从小到大排列,如果我们需要从大到小排列的数组,怎么办呢? 思路 我的想法是,把经过 方法之后从小到大排列的数组,后面位置的元素与之前的元素进行交换,这样,
阅读全文