![](https://img-blog.csdnimg.cn/20200310105541246.jpg?x-oss-process=image/resize,m_fixed,h_224,w_224)
JAVA
JAVA学习,目前日更
GUI Research Group
机器学习, 生物信息
展开
-
JavaWeb(part2)--request
学习笔记,仅供参考,有错必纠文章目录requestRequest的功能举个例子获取请求参数通用方式(get,post都可用)举个例子中文乱码问题请求转发请求转发的特点举个例子requestRequest的功能//1.获取请求方式String getMethod()//2.获取虚拟目录String getContextPath()//3.获取Servlet路径String getServletPath()//4.获取Get方式请求参数String getQueryString(原创 2020-12-09 21:25:26 · 162 阅读 · 1 评论 -
JavaWeb(part1)--servlet
学习笔记,仅供参考,有错必究文章目录JavaWeb什么是Servlet举个例子Servlet执行原理Servlet注解Servlet的体系结构Servlet访问路径的配置注意事项JavaWeb什么是ServletServlet就是运行在服务器端的小程序,本质上servlet就是一个实现了servlet接口的类,servlet接口定义了Java类被tomcat识别的规则。举个例子首先,我们创建一个JAVAEE项目项目ServletDemo,并在src文件夹下创建com.servlet.原创 2020-12-09 20:23:49 · 232 阅读 · 0 评论 -
第三次学JAVA再学不好就吃翔(part117)--单例设计模式
学习笔记,仅供参考,有错必纠文章目录多线程单例设计模式饿汉式懒汉式第三种格式Timer类线程的五种状态多线程单例设计模式单例设计模式,即保证类在内存中只有一个对象,如何保证类在内存中只有一个对象呢:控制类的创建,不让其他类来创建本类的对象;在本类中定义一个本类的对象;提供本类对象的公共访问方式。饿汉式class Singleton { //1,私有构造方法,其他类不能访问该构造方法了 private Singleton(){} //2,创建本类对象 private原创 2020-09-26 12:18:52 · 195 阅读 · 0 评论 -
第三次学JAVA再学不好就吃翔(part116)--同步代码块
学习笔记,仅供参考,有错必纠文章目录多线程设置线程的优先级同步代码块什么情况下需要同步同步代码块死锁多线程设置线程的优先级设置线程优先级:package com.guiyang.restudy3;public class D5GetThreadObject { public static void main(String[] args) { Thread t1 = new Thread(){ public void run() { for(int i = 0;原创 2020-09-26 09:31:22 · 198 阅读 · 0 评论 -
第三次学JAVA再学不好就吃翔(part115)--多线程
学习笔记,仅供参考,有错必纠文章目录多线程多线程引入什么是线程多线程并行和并发的区别Java程序运行原理多线程的实现方式多线程实现的方式1多线程程序实现的方式2以上两种实现方式的区别获取和设置线程名字获取当前线程对象休眠线程守护线程加入线程礼让线程(略)多线程多线程引入什么是线程线程是程序执行的一条路径, 一个进程中可以包含多条线程;多线程并发执行可以提高程序的效率,可以同时完成多项工作。多线程并行和并发的区别并行就是两个任务同时运行,就是甲任务进行的同时,乙任务也在进行;并原创 2020-09-26 08:27:40 · 208 阅读 · 0 评论 -
第三次学JAVA再学不好就吃翔(part114)--Properties类
学习笔记,仅供参考,有错必纠文章目录Properties类Properties类概述Properties类的特殊功能Properties的load和store功能Properties类Properties类概述Properties 类表示了一个持久的属性集;Properties 可保存在流中或从流中加载;属性列表中每个键及其对应值都是一个字符串。举个例子JAVA代码:package com.guiyang.restudy3;import java.util.Propert原创 2020-08-27 19:46:33 · 244 阅读 · 0 评论 -
第三次学JAVA再学不好就吃翔(part113)--对象操作流
学习笔记,仅供参考,有错必纠对象操作流对象操作流可以将一个对象写出, 或者读取一个对象到程序中,也就是执行了序列化和反序列化的操作。举个例子先构造一个Role类:package com.guiyang.bean;import java.io.Serializable;public class Role implements Serializable { private String name; private int age; public Role() { su原创 2020-08-27 15:45:17 · 214 阅读 · 0 评论 -
第三次学JAVA再学不好就吃翔(part112)--内存输出流
学习笔记,仅供参考,有错必纠内存输出流内存输出流可以向内存中写数据, 把内存当作一个缓冲区,写出之后可以一次性获取出所有数据。ByteArrayOutputStream类该类继承自java.io.OutputStream,它实现了一个输出流,其中的数据被写入一个 byte 数组。缓冲区会随着数据的不断写入而自动增长。可使用 toByteArray() 和 toString() 获取数据。 关闭 ByteArrayOutputStream 无效,此类中的方法在关闭此流后仍可被调用,而不会产原创 2020-08-27 14:28:31 · 226 阅读 · 0 评论 -
第三次学JAVA再学不好就吃翔(part111)--序列流
学习笔记,仅供参考,有错必纠序列流序列流可以把多个字节输入流整合成一个,从序列流中读取数据时,将从被整合的第一个流开始读,读完一个之后继续读第二个,以此类推。SequenceInputStream类SequenceInputStream 表示其他输入流的逻辑串联。它从输入流的有序集合开始,并从第一个输入流开始读取,直到到达文件末尾,接着从第二个输入流读取,依次类推,直到到达包含的最后一个输入流的文件末尾为止。构造方法SequenceInputStream(InputStrea原创 2020-08-27 14:06:29 · 180 阅读 · 0 评论 -
第三次学JAVA再学不好就吃翔(part110)--使用指定的码表读写字符
学习笔记,仅供参考,有错必纠使用指定的码表读写字符FileReader和FileWriter是使用默认码表(比如gbk)读写文件,如果某个文件的编码表采用的不是gbk而是utf-8,则在进行读写操作时,就会出现乱码。举个例子创建一个采用utf-8编码的utf-8.txt文件:你好你好java代码如下:package com.guiyang.restudy3;import java.io.FileNotFoundException;import java.io.FileR原创 2020-08-27 11:53:53 · 231 阅读 · 0 评论 -
第三次学JAVA再学不好就吃翔(part109)--LineNumberReader类
学习笔记,仅供参考,有错必纠IO流LineNumberReader类该类继承自java.io.BufferedReader,该类可以跟踪行号的缓冲字符输入流。此类定义了方法 setLineNumber(int) 和 getLineNumber(),它们可分别用于设置和获取当前行号。构造方法public LineNumberReader(Reader in)使用默认输入缓冲区的大小创建新的行编号readersetLineNumber方法public void setLin原创 2020-08-27 10:49:35 · 198 阅读 · 0 评论 -
第三次学JAVA再学不好就吃翔(part108)--带缓冲的字符流
学习笔记,仅供参考,有错必纠IO流带缓冲的字符流BufferedReader和BufferedWriterBufferedReader的read()方法读取字符时会一次读取若干字符到缓冲区, 然后逐个返回给程序, 降低读取文件的次数, 提高效率;BufferedWriter的write()方法写出字符时会先写到缓冲区, 缓冲区写满时才会写到文件, 降低写文件的次数, 提高效率。举个例子package com.guiyang.bean;import java.io.Buffe原创 2020-08-27 10:04:02 · 183 阅读 · 0 评论 -
第三次学JAVA再学不好就吃翔(part107)--字符流的拷贝
学习笔记,仅供参考,有错必纠文章目录IO流字符流的拷贝拷贝纯文本文件注意事项自定义字符数组的拷贝IO流字符流的拷贝拷贝纯文本文件zzz.txt:安徽财经大学JAVA代码:package com.guiyang.bean;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.FileOutputStream;import java.io.FileReader原创 2020-08-27 09:52:23 · 173 阅读 · 0 评论 -
第三次学JAVA再学不好就吃翔(part106)--字符流
学习笔记,仅供参考,有错必纠文章目录IO流字符流输入流FileReader字符流是什么FileReader类构造方法举个例子字符流输出流FileWriterFileWriter构造方法从其父类OutputStreamWriter继承的方法举个例子IO流字符流输入流FileReader字符流是什么字符流是可以直接读写字符的IO流;字符流读取字符, 就要先读取到字节数据, 然后转为字符;如果要写出字符, 需要把字符转为字节再写出。FileReader类构造方法public Fil原创 2020-08-27 08:48:44 · 217 阅读 · 0 评论 -
第三次学JAVA再学不好就吃翔(part105)--流的标准处理异常
学习笔记,仅供参考,有错必纠流的标准处理异常JDK1.6FileInputStream fis = null;FileOutputStream fos = null;try { fis = new FileInputStream("beiyesi.png"); fos = new FileOutputStream("newCopy.png"); int b; while ((b = fis.read()) != -1) { fos.wr原创 2020-07-21 11:59:10 · 235 阅读 · 0 评论 -
第三次学JAVA再学不好就吃翔(part104)--flush和close
学习笔记,仅供参考,有错必纠flush和closeflush方法对于写出数据来说,当缓冲区满了之后,缓冲区中的数据会自动写出,但是当缓冲区没有满时,调用flush方法,那么缓冲区就会被刷新,数据将会被写出。与close方法不同的是,当我们刷新缓冲区之后,依然可以再次写出。close该方法用来关闭流释放资源,如果是带缓冲区的流对象的close()方法,会在关闭流之前刷新缓冲区,关闭流后不能再写出,否则会报错。举个例子package com.guiyang.bean;im原创 2020-07-21 10:35:18 · 396 阅读 · 0 评论 -
第三次学JAVA再学不好就吃翔(part103)--BufferedInputStream和BufferOutputStream
学习笔记,仅供参考,有错必纠BufferedInputStream和BufferOutputStreamBufferedInputStreamBufferedInputStream 为另一个输入流添加一些功能,即缓冲输入以及支持 mark 和 reset 方法的能力。在创建 BufferedInputStream 时,会创建一个内部缓冲区数组。在读取或跳过流中的字节时,可根据需要从包含的输入流再次填充该内部缓冲区,一次填充多个字节。mark 操作记录输入流中的某个点,reset 操作使得原创 2020-07-21 10:09:29 · 377 阅读 · 1 评论 -
第三次学JAVA再学不好就吃翔(part102)--拷贝图片
学习笔记,仅供参考,有错必纠拷贝图片逐个字节拷贝实现package com.guiyang.bean;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.FileOutputStream;import java.io.IOException;public class Demo3_Copy { public static void main(String[] a原创 2020-07-21 09:27:02 · 213 阅读 · 0 评论 -
第三次学JAVA再学不好就吃翔(part101)--IO流
学习笔记,仅供参考文章目录IO流IO流的概述及其分类FileInputStream构造方法成员方法举个例子FileOutputStream构造方法成员方法举个例子IO流IO流的概述及其分类概念IO流用来处理设备之间的数据传输Java对数据的操作是通过流的方式Java用于操作流的类都在IO包中流按流向分为两种:输入流,输出流。流按操作类型分为两种:字节流 : 字节流可以操作任何数据,因为在计算机中任何数据都是以字节的形式存储的字符流 : 字符流只能操作纯字符数据。原创 2020-07-20 11:26:55 · 259 阅读 · 0 评论 -
第三次学JAVA再学不好就吃翔(part100)--文件名称过滤器
学习笔记,仅供参考,有错必究文件名称过滤器FilenameFilter接口FilenameFilter是java.io包下的一个接口,实现此接口的类实例可用于过滤器文件名。list方法public String[] list(FilenameFilter filter)返回一个字符串数组,这些字符串指定此抽象路径名表示的目录中满足指定过滤器的文件和目录。除了返回数组中的字符串必须满足过滤器外,此方法的行为与 list() 方法相同。如果给定 filter 为 null,则接受原创 2020-07-20 09:33:11 · 410 阅读 · 0 评论 -
第三次学JAVA再学不好就吃翔(part99)--File类
学习笔记,仅供参考,有错必究文章目录File类构造方法举个例子File类创建功能举个例子File类的重命名及删除功能举个例子注意事项File类的判断功能File类的获取功能举个例子File类File是java.io包下的一个类,它是文件和目录路径名的抽象表示形式。构造方法构造方法1File(File parent, String child)根据 parent 抽象路径名和 child 路径名字符串创建一个新 File 实例。构造方法2File(String pare原创 2020-07-20 08:47:04 · 221 阅读 · 0 评论 -
第三次学JAVA再学不好就吃翔(part98)--自定义异常类
学习笔记,仅供参考,有错必纠自定义异常类自定义异常需要继承Exception或者是RuntimeException,如果我们的自定义异常类继承了Exception,则在方法上需要进行声明,如果我们的自定义异常类继承了RuntimeException,那么我们就不需要再方法上进行声明。举个例子继承Exception的自定义异常类:package com.guiyang.restudy3;public class D8Exception { public static void m原创 2020-07-19 23:48:58 · 240 阅读 · 0 评论 -
第三次学JAVA再学不好就吃翔(part97)--抛出异常
学习笔记,仅供参考,有错必纠抛出异常我们先用一个例子来说明这个事。举个例子我们对setAge方法进行改进,对于不合法的年龄,抛出Exception异常:package com.guiyang.restudy3;import com.guiyang.bean.Person;public class D6Exception { public static void main(String[] args) throws Exception { Pig pig = new Pig原创 2020-07-19 22:52:15 · 214 阅读 · 0 评论 -
第三次学JAVA再学不好就吃翔(part96)--异常
学习笔记,仅供参考,有错必纠文章目录异常异常概述JVM如何处理异常异常处理方式(try...catch)Throwable类的几个常见方法常用方法举个例子异常异常概述异常概述异常就是Java程序在运行过程中出现的错误。Throwable类Throwable 类是java.lang 包下的一个类,它是 Java 语言中所有错误或异常的超类。只有当对象是此类(或其子类之一)的实例时,才能通过 Java 虚拟机或者 Java throw 语句抛出。类似地,只有此类或其子类之一才可原创 2020-07-19 19:42:42 · 265 阅读 · 0 评论 -
第三次学JAVA再学不好就吃翔(part95)--Collections工具类
学习笔记,仅供参考,有错必纠Collections工具类该类完全由在collection上进行操作或返回 collection 的静态方法组成,它包含在 collection上操作的多态算法,即"包装器",包装器返回由指定collection支持的新collection,以及少数其他内容。很好,我没大听懂啥意思,但大致意思是这个类中都是静态方法。而且它是一个针对集合操作的工具类。成员方法sortpublic static <T extends Comparable<?原创 2020-07-19 15:59:16 · 211 阅读 · 0 评论 -
第三次学JAVA再学不好就吃翔(part94)--HashMap嵌套HashMap
学习笔记,仅供参考,有错必纠HashMap嵌套HashMap没啥好说的,直接看代码。输入:package com.guiyang.bean;import java.util.HashMap;public class Demo8_HashMapHashMap { public static void main(String[] args) { HashMap<People, String> c1 = new HashMap<>(); c1.pu原创 2020-07-19 15:17:17 · 150 阅读 · 0 评论 -
第三次学JAVA再学不好就吃翔(part93)--LinkedHashMap
学习笔记,仅供参考,有错必纠LinkedHashMap该类是由Map 接口的哈希表和链接列表实现,具有可预知的迭代顺序。此实现与 HashMap 的不同之处在于,后者维护着一个运行于所有条目的双重链接列表。此链接列表定义了迭代顺序,该迭代顺序通常就是将键插入到映射中的顺序(插入顺序)。注意,如果在映射中重新插入键,则插入顺序不受影响。举个例子package com.guiyang.restudy3;import java.util.LinkedHashMap;public c原创 2020-07-19 12:48:08 · 277 阅读 · 0 评论 -
第三次学JAVA再学不好就吃翔(part92)--Map集合的遍历
学习笔记,仅供参考,有错必纠Map集合的遍历方法1(利用键找值)由于Map集合中没有iterator方法,所以如果我们想要遍历Map,则需要先提取出键,拿到Set集合,再利用Set集合的iterator方法进行遍历,再利用Map集合的get方法得到值。举个例子package com.guiyang.bean;import java.util.HashMap;import java.util.Iterator;import java.util.Map;import java.u原创 2020-07-19 11:51:50 · 193 阅读 · 0 评论 -
第三次学JAVA再学不好就吃翔(part91)--Map接口
学习笔记,仅供参考,有错必纠Map接口Map集合概述Map是java.util包下的一个接口,它将键映射到值的对象,且一个映射不能包含重复的键,每个键最多只能映射一个值。Map接口和Collection接口的不同:Map是双列的,Collection是单列的;Map的键唯一,Collection的子体系Set是唯一的;Map集合的数据结构值针对键有效,跟值无关,Collection集合的数据结构是针对元素有效。Map集合的功能概述添加功能V put(K key, V原创 2020-07-19 11:09:21 · 471 阅读 · 0 评论 -
第三次学JAVA再学不好就吃翔(part90)--TreeSet
学习笔记,仅供参考,有错必纠文章目录TreeSetTreeSet存储自定义对象Comparable接口定义Dog类实现Comparable接口比较器Comparator接口的方法实现Comparator方法的案例TreeSet原理TreeSet该类基于TreeMap的 NavigableSet 实现,使用元素的自然顺序对元素进行排序,或者根据创建 set 时提供的Comparator进行排序,具体取决于使用的构造方法。举个例子package com.guiyang.restudy3原创 2020-07-10 21:57:09 · 261 阅读 · 0 评论 -
第三次学JAVA再学不好就吃翔(part89)--HashSet
学习笔记,仅供参考,有错必纠HashSetHashSet实现了Set接口,由哈希表(实际上是一个 HashMap 实例)支持。它不保证 set 的迭代顺序;特别是它不保证该顺序恒久不变。此类允许使用 null 元素。HashSet存储字符串并遍历package com.guiyang.object;import java.util.HashSet;public class Demo1_HashSet { public static void main(String[] args)原创 2020-07-10 19:57:35 · 260 阅读 · 0 评论 -
第三次学JAVA再学不好就吃翔(part88)--ArrayList嵌套ArrayList
学习笔记,仅供参考,有错必纠ArrayList嵌套ArrayList举个例子package com.guiyang.object;import java.sql.Array;import java.util.ArrayList;import com.guiyang.bean.People;public class Demo5_ArrayListArrayList { public static void main(String[] args) { ArrayList&原创 2020-07-10 00:57:58 · 171 阅读 · 0 评论 -
第三次学JAVA再学不好就吃翔(part87)--Arrays工具类的asList方法
学习笔记,仅供参考,有错必纠Arrays工具类的asList方法方法概述public static <T> List<T> asList(T... a)返回一个受指定数组支持的固定大小的列表,参数a表示一个支持列表的数组。举个例子package com.guiyang.object;import java.util.List;import java.sql.Array;import java.util.ArrayList;import java原创 2020-07-10 00:53:53 · 205 阅读 · 0 评论 -
第三次学JAVA再学不好就吃翔(part86)--可变参数
学习笔记,仅供参考,有错必纠可变参数可变参数的概述当我们在定义一个方法,却不知道该定义多少个参数时,可以使用可变参数。格式修饰符 返回值类型 方法名(数据类型...变量名){}可变参数其实就是一个数组,但是比数组传参更加强大。举个例子package com.guiyang.object;public class Demo3_ChangeableArgs { public static void main(String[] args) { int[] ar原创 2020-07-10 00:04:37 · 170 阅读 · 0 评论 -
第三次学JAVA再学不好就吃翔(part85)--静态导入
学习笔记,仅供参考,有错必纠静态导入静态导入的概述静态导入是导入类中的静态方法。格式import static 包名….类名.方法名;举个例子package com.guiyang.restudy3;import static java.util.Arrays.sort;import java.util.Arrays;public class D2StaticImport { public static void main(String[] args) {原创 2020-07-09 23:40:54 · 183 阅读 · 0 评论 -
第三次学JAVA再学不好就吃翔(part84)--增强for循环
学习笔记,仅供参考,有错必纠文章目录增强for循环增强for循环增强for循环概述增强for循环可以简化数组和Collection集合遍历。格式for(元素数据类型 变量 : 数组或者Collection集合) { 变量 }举个例子package com.guiyang.object;import java.util.ArrayList;import com.guiyang.bean.People;import com.guiyang.bean.Stud原创 2020-07-09 23:20:26 · 194 阅读 · 0 评论 -
第三次学JAVA再学不好就吃翔(part83)--泛型类
学习笔记,仅供参考,有错必纠文章目录泛型类泛型类概述泛型方法泛型接口泛型通配符泛型类泛型类概述泛型类,就是在定义类时,在类名后加一个尖括号:public class 类名<泛型类型1,…>//一般泛型会设置为一个大写字母,比如<T>等等需要注意的是,泛型类型必须是引用类型。在我们定义这个泛型时,该泛型并没有明确的数据类型,但是当我们创建该类对象时,我们指定的泛型类型是啥(比如<Person>),这个泛型类型<T>就是啥。比如,在我们创原创 2020-06-28 01:00:18 · 238 阅读 · 0 评论 -
第三次学JAVA再学不好就吃翔(part82)--泛型
学习笔记,仅供参考收集的泛型Blog:泛型泛型泛型的概述泛型概述通常而言我们只会使用容器来存储一种类型的对象。泛型的主要目的之一就是用来指定容器要持有什么类型的,因此与其使用Object,我们更喜欢暂时不指定类型,而是稍后再決定具体使用什么类型。要达到这个目的,需要使用类型参数,用尖括号括住,放在类名后面。然后在使用这个类的时候,再用实际的类型替换此类型参数。泛型好处提高安全性(将运行期的错误转换到编译期)省去强转的麻烦泛型基本使用<>中放的必须是引用数原创 2020-06-27 22:40:04 · 219 阅读 · 0 评论 -
第三次学JAVA再学不好就吃翔(part81)--去除ArrayList中重复元素
学习笔记,仅供参考因为我突然懒了,所以这个Blog以代码为主,解释为辅文章目录集合去除ArrayList中重复的字符串元素去除ArrayList中重复的自定义对象元素LinkedList的特有功能集合去除ArrayList中重复的字符串元素package com.guiyang.object;import java.util.ArrayList;import java.util.Iterator;@SuppressWarnings({ "rawtypes", "unchecked原创 2020-06-27 21:11:21 · 254 阅读 · 0 评论 -
第三次学JAVA再学不好就吃翔(part80)--List三个子类的特点
学习笔记,仅供参考集合List的三个子类的特点ArrayList底层数据结构是数组,查询快,增删慢。线程不安全,效率高。Vector底层数据结构是数组,查询快,增删慢。线程安全,效率低。Vector相对ArrayList查询慢(线程安全的)Vector相对LinkedList增删慢(数组结构的性质)LinkedList底层数据结构是链表,查询慢,增删快。线程不安全,效率高。Vector和ArrayList的区别Vector是线程安全的,效率低原创 2020-06-27 19:48:44 · 205 阅读 · 0 评论