![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java学习
快乐的大猿
这个作者很懒,什么都没留下…
展开
-
Java中的线程操作
一般操作系统运行时,会执行多个任务,每一个任务就是一个程序,而每一个运行中的程序就是进程,而一个进程可能包含多个线程程序:指令+数据的byte序列进程:正在运行的程序,是程序动态运行的过程(在内存中运行)线程:存在程序的内部,用来完成某个特定的目标;比如:看电视,放音乐,下载文件等并发:多个线程可以同时运行抢占资源;比如:一边听音乐,一边打游戏等Windows操作系统是多任务操作系统,它以进程为单位。一个进程是一个包含有自身地址的程序,每个独立执行的程序都称为进程,比如正在运行的QQ是一个进程、原创 2020-08-06 10:21:32 · 207 阅读 · 0 评论 -
Java中对象的序列化和反序列化操作
Java的IO流不仅可以对字符进行传输,也可以对对象进行传输,叫做对象的序列化和反序列化序列化:将对象转为方便传输的流(对象写入文件)反序列化:将流转换成对应的对象(把对象从文件中拿出)注意:如果我们需要将对象序列化到文件,首先需要让需要序列化对象对应的类实现序列化接口Serializable,该接口中没有任何方法和属性,仅仅只是一个标志,表示实现该接口的类是可以被序列化的;如果没有实现该接口就进行序列化,会报出NotSerializableException没有序列化的异常import java原创 2020-07-15 14:37:50 · 245 阅读 · 0 评论 -
Java中的IO流操作类
IO流:是用来操作文件内容的的技术,输入输出都是针对程序而言的I(in)输入:向程序中输入数据,一般是从文件中读取数据到程序中O(out)输出:程序向外部输送数据,一般是将数据输出到文件中下图为IO继承体系图IO流可以分为两类,分别是字节流和字符流字节流可以分为字节输出流,字节输入流和字节缓冲流字符流可以分为字符输出流,字符输入流和字符缓冲流主要使用到的类为表所示:分类输出流输入流缓冲输入流缓冲输出流字节流FileInputStreamFileOutput原创 2020-07-04 23:28:30 · 217 阅读 · 0 评论 -
Java文件操作类File
File类:是java中针对文件进行操作的一个类该类可以根据封装的文件路径对指定的文件或者目录进行相关的操作该类的构造方法是需要我们传递参数的,该参数就是需要封装的文件路径 File file = new File("src/FileTest");上述给的是相对路径,也可以给绝对路径绝对路径:完整的路径名,不需要任何其他信息就可以定位它所表示的文件相对路径:必须使用取自其他路径名的信息进行解释我们可以通过该类中的方法进行拿取文件的路径名称或者绝对路径方法名作用Strin原创 2020-07-02 22:24:27 · 323 阅读 · 0 评论 -
Java中的异常处理机制
无论是在程序编译阶段,还是运行阶段,都会因为一些逻辑问题导致程序出现异常,那么我们就需要对其进行处理下图是java中的异常继承体系图java中的异常主要分类两大类,一种是程序本身无法处理的严重异常Error;一种是程序可以处理的异常Exception,对于Exception异常又可以分为编译时异常和运行时异常运行时异常:RuntimeException及其子类,在编译期间不检查的,出现问题后,需要我们回来修改代码编译时异常:非RuntimeException,编译期就必须处理的,否则程序不能通过编原创 2020-06-29 23:15:22 · 207 阅读 · 0 评论 -
Java集合工具类Collections
对于数组有针对数组操作的工具类Arrays对于集合也有针对集合操作的工具类Collections针对集合,当我们想要对其进行一些操作,比如排序,乱序等操作时,就会比较麻烦,这时候可以使用Collections里的方法对其进行操作1.void sort(List list):对集合进行自然升序排列 //创建集合对象 ArrayList<Integer> list = new ArrayList<Integer>(); //添加数据 list.add(24);原创 2020-06-25 22:05:18 · 159 阅读 · 0 评论 -
Java集合框架之双列Map集合简介
对于Map集合,它和Collection集合不同在于:Collection体系下的集合为单列集合,而Map体系下的集合为双列集合Map集合:无序,由Key(键)和Value(值)组成在Map集合中一个键对应一个值,并且键不能重复,但值可以重复出现Map是一个接口,所以无法直接创建实例化对象,所以我们需要根据其子类来创建实例化对象上图为Map中两个常用的子类HashMap:散列的键值对,常用TreeMap:树状键值队通过上述两个子类我们就可以创建实例化对象了 //通过HashMap创建实例原创 2020-06-23 21:08:46 · 234 阅读 · 0 评论 -
Java集合框架之Set集合简介
和List集合一样,Set集合也是属于单列集合,同属于Collcetion集合体系下List和Set都是单列集合,但是他们是存在区别的List:有序,元素可重复的单列集合Set:无序,元素不可重复的单列集合Set和List集合一样属于接口,无法直接创建实例化对象,需要子类来创建;下面介绍两个两个常用的子类:HashSet:散列集合,存放是无序的 //通过HashSet创建Set的实例化对象 Set<String> set = new HashSet<String>原创 2020-06-20 16:50:08 · 235 阅读 · 0 评论 -
Java集合中的迭代器和列表迭代器
迭代器:迭代器是java中用来遍历集合的一种设计模式,并且需要依赖集合而存在在Java中存在迭代器Iterator接口,由于迭代器是依赖于集合而存在的,所以我们创建迭代器的实例化对象就需要通过集合中的iterator()方法 //创建集合对象 ArrayList<String> list = new ArrayList<String>(); //添加元素 list.add("hello"); list.add("java"); list.add("world原创 2020-06-17 23:33:00 · 444 阅读 · 1 评论 -
Java集合中的数据结构双向队列
双向队列:与单向队列相比,双向队列在队列两端都可以进行入队和出队的操作,增加了数据的可操作性下图为双向队列的增删操作从上图我们可以看到,无论是队头还是队尾,都可以进行数据的增删操作,这样我们就可以根据需要对数据进行添加和删除了。但是无论是单向队列还是双向队列,都是运算受限的线性表在java集合体系中也存在双向队列的接口Deque,下图为Collection集合的继承体系Deque是双向队列接口,是队列Queue的子接口;是指队列两端的元素既能入队,也能出队如果我们需要创建Deque创建实例化对原创 2020-06-15 21:40:40 · 778 阅读 · 0 评论 -
Java集合中的数据结构单向队列
队列是一种数据结构,这种数据结构实现数据的先进先出;队列是一种特殊的线性表,一种运算受限的线性表;只允许在表的一端进行插入数据,在表的另一端进行删除数据;队尾(rear):是允许插入数据的一端队头(front):是允许删除数据的一端下图为队列中数据的增删操作从图中可以看到,我们要向队列中插入数据,需要从队列后面依此插入数据;我们需要删除数据的时候,需要从队列前面进行依此删除数据对于队列,在java集合框架中也存在队列Queue(单向队列),我们通过下面的Collection继承体系图来了解队列所原创 2020-06-13 21:27:55 · 449 阅读 · 0 评论 -
Java集合中的数据结构栈
栈是一种数据结构,这种结构实现了数据的先进后出,那么栈是怎么运行的呢?由上图我们可以看到,栈相当于一个封底的盒子;封底的一端我们叫栈底,数据进出的一端我们叫栈顶;当我们向栈里存放数据的时候,最先放入的数据会被放入最下面,当我们要拿出数据的时候,只能先拿出它上面的数据后才能拿到最下面的数据,这样就实现了数据的先进后出(栈的特点)在java集合体系中也存在栈类Stack Stack<Integer> st = new Stack<Integer>();他和其他集合一样,可以传原创 2020-06-11 22:39:57 · 467 阅读 · 0 评论 -
java集合框架之List集合
数组和集合的区别:数组:长度不可变集合:长度可变Conllection是集合框架的父接口他的子接口有List和Set集合,均为接口下图所表示的是Collection的集合框架的继承体系今天主要分享List集合:List集合是有序的单列可重复的集合,其中两个常见的实现类是ArrayList和LinkedListArrayList:底层实现是用的数组,有下标;查询快,但是增删数据比较慢LinkedList:底层实现是用的双向链表,没有下标;查询慢,但是增删数据比较快List集合常用方法:1原创 2020-06-08 18:43:11 · 174 阅读 · 0 评论 -
Java中的递归之斐波那契数列
斐波那契数列是指:1,1,2,3,5,8,13…这样的数组组成原创 2020-06-06 22:16:03 · 396 阅读 · 0 评论 -
Java中的拆箱和装箱
装箱:将基本数据类型转换为包装类型拆箱:将包装类型转换为基本数据类型在JDK5之前是手动做这件事(包括1.5)在JDK5以后是自动做这件事下面主要用Integer演示自动装箱:int–>Integer我们知道Integer是引用数据类型,需要通过new关键字创建对象,但是JDK5以后对于基本数据类型的包装类可以直接对其赋值 //通过new关键字赋值 Integer in = new Integer(6); //直接赋值 Integer i = 6;第二种虽然看着是直接赋值,原创 2020-06-05 23:36:29 · 247 阅读 · 0 评论 -
Java字符串String中可能会用到的方法
字符串String是我们使用最多的数据之一,做为一个最终类,里面肯定会有各种操作方法供我们使用;接下来就会看到一些可能会使用到的方法1.int length()方法:返回字符串的长度 String s = "HelloJava"; int len = s.length(); System.out.println(len);//打印结果:9当字符串的长度是变化或比较长的时候,,我们可以通过此方法直接获取一个int类型的长度及字符串的长度2.char charAt(int index):返回原创 2020-06-03 16:20:36 · 411 阅读 · 0 评论 -
正则表达式之在java中使用
正则表达式:不是java的,是独立的体系,有自己的语法,但是java是支持正在表达式的用正则表达式是用来描述一种格式一些特殊的字符表示一些特定的语义职责范围:只判断格式,不关注有效性正则表达式中的特殊符号:[] 一个字符[abc] a,b,c中的一个[^abc] 除了a,b,c以外的任意一个[a-z] a-z中的任意一个[a-zA-Z0-9] 所有字母和数字中的任意一个\d 任意一个数字\w 任意一个单词字符[a-zA-Z0-9]x? 表示有0个或者1个xx+ 表示一个或者一个以上原创 2020-06-02 13:22:32 · 195 阅读 · 0 评论 -
Java中字符串不同使用方式的比较
一般我们使用字符串有两种情况1是直接赋值2是通过new关键字创建对象我们首先通过new关键字创建的字符串进行比较` String s1 = new String("java"); String s2 = new String("java"); System.out.println(s1==s2);//false System.out.println(s1.equals(s2));//true首先创建两个字符串对象,通过 == 号比较;对于 == :如果比较基本数据类型,比较的是原创 2020-06-01 10:36:43 · 495 阅读 · 0 评论 -
java时间Calendar类实现控制台打印日期
java中Calendar类包含有获取和设置时间/日期的方法;此方法为抽象方法,无法直接实例化,所以可以通过子类或工厂模式方法获取实例化对象。首先创建Calendar对象方法1:工厂模型getInstance()方法获取对象(常用)Calendar c = Calendar.getInstance();方法2:使用GregorianCalendar子类获取实例化对象Calendar c = new GregorianCalendar();打印日期我们需要从1号开始打印,所以首先就需要吧日期设原创 2020-05-30 23:58:22 · 788 阅读 · 0 评论