
Java学习笔记
Manduner_TJU
If you have a dream,you got to protect it!
展开
-
Java面试题整理(一)
1,String,StringBuffer,StringBuilder相关知识(1)String,StringBuffer,StringBulider的区别与联系(1)String一旦赋值,内容不可变;而StringBuffer,StringBuilder都是内容可变的(2)StringBuffer是同步的,数据安全,效率低;StringBuilder是不同步的,数据不安全,效率高...原创 2018-03-06 21:08:17 · 243 阅读 · 0 评论 -
Java实用方法整理(十四)——异常处理的几个常见方法 + 实例
1,方法描述遇到异常,尤其是编译期间的异常,应该怎么处理呢?通常使用的方法有如下几种:(1)public String getMessage() :返回此throwable即该异常的详细消息字符串(2)public String toString() :返回抛出异常的简短描述,结果是:这个对象的类的name “:”(一个冒号和一个空格) 调用这个对象的getLocalizedM...原创 2018-08-24 16:15:45 · 843 阅读 · 0 评论 -
Java实用方法整理(十五)——异常处理方法之throws
1,描述throws异常处理方法,简单粗暴。该方法只管将方法遇到的异常抛出,至于使用者怎么处理异常,那就不管了2,实例原创 2018-08-24 16:30:09 · 857 阅读 · 0 评论 -
Java实用方法整理(十六)——异常处理方法之 try...catch...finally
1,描述finally关键字的特点是:被finally控制的语句体一定会执行 特殊情况:在执行到finally之前,jvm被强制退出(例如,System.exit(0)),此时finally控制的语句体不再执行2,实例 ...原创 2018-08-24 17:02:19 · 220 阅读 · 0 评论 -
Java面试题整理(四)——final,finally和finalize的区别
1,final final:最终的意思,可以修饰类,成员变量,成员方法。 (1)修饰类,类不能被继承 (2)修饰变量,变量是常量 (3)修饰方法,方法不能被重写2,finally(1)finally是异常处理的一部分,用于释放资源。一般来说,代码肯定会执行,特殊情况:在执行到finally之前JVM退出了(2)如果catch里...原创 2018-08-24 17:48:57 · 624 阅读 · 0 评论 -
Java实用方法整理(十七)——File类常用方法总结
一,创建功能1,public boolean createNewFile() throws IOException 创建新文件2,public boolean mkdirs() 创建新的目录,若父目录不存在,会自动创建3,public boolean renameTo(File dest) 重命名文件二,判断功能1,public boolean isFile() ...原创 2018-09-12 20:46:37 · 1833 阅读 · 0 评论 -
Java实用方法整理(十八)——递归
1,递归方法注意事项(1)递归一定要有出口,否则就是死递归(2)递归的次数不能太多,否则就内存溢出(3)构造方法不能递归使用2,递归方法创建技巧(1)递归是一个方法(2)方法中要有出口(例如:return,输出命令等)(3)寻找规律,以代码实现规律3,案例+源码(1)有一对兔子,从出生后第3个月起每个月都生1对兔子,小兔子长到第3个月后每个月又生1对兔子,假如兔...原创 2018-10-26 22:42:13 · 396 阅读 · 0 评论 -
Java实用方法整理(十九)——IO流之InputStream、OutputStream
1,IO流概述(1)描述IO流是java程序用来进行设备间的数据传输问题(2)IO流分类1)字节流:当用windows记事本打开待传输文件时,是乱码形式,此时用字节流进行文件传输。当然,如果你不知道文件内容到底是啥,就完全可以用字节流传输文件,它是万能的InputStream:读取数据(例如:把磁盘文件读取到控制台) OutputStream:写出数据(例如:把数据写到磁盘)...原创 2018-10-30 22:25:27 · 370 阅读 · 0 评论 -
Java实用方法整理(二十)——IO流之字节缓冲流BufferedInputStream、BufferedOutputStream
1,描述BufferedInputStream、BufferedOutputStream是Java为高效传输IO流而设计的一种缓冲区类,使用方法和InputStream、OutputStream类似。下面用一个简单的文件复制的案例(同Java实用方法整理(十九)中的案例三)来说明它们的用法。2,案例+源码需求:将源文件复制到目的地文件中(大家可以直接测试下面的这段程序,效率真的很高0....原创 2018-11-02 19:37:35 · 268 阅读 · 0 评论 -
Java实用方法整理(二十一)——IO流之转换流
1,描述字符流的读取和写出有以下两种方式FileReader、FileWriter InputStreamReader、OutputStreamWriter两种方式的区别是:FileReader、FileWriter使用默认的字符编码和字节缓冲区进行字符流传输,是 InputStreamReader、 OutputStreamWriter的简化用法InputStreamR...原创 2018-11-07 17:43:35 · 886 阅读 · 0 评论 -
Java实用方法整理(二十二)——IO流之字符缓冲流BufferedReader、BufferedWriter
1,描述BufferedReader、BufferedWriter是java为了高效传输IO字符流而设计的一种缓冲类,用法和FileWriter,FileReader类似。BufferedReader、BufferedWriter只是对FileWriter,FileReader进行了装饰。2,特殊功能(1)BufferedReader的readLine()方法,每次读取文件的一行数据...原创 2018-11-07 20:13:49 · 260 阅读 · 0 评论 -
Java实用方法整理(二十三)——番外篇
好久没整理Java相关的技术文档了0.0, 因为从今年10月份就开始写小论文了,至此写完了两篇论文,第一篇C会,第二篇B会。 比较惨的是,第一篇被拒了,正在修改中,准备再投啊;第二篇还没出结果呢。嗯、、、不管结果如何吧,写论文的经历真是一笔宝贵的经验,当然写的过程,做实验的过程也是辛苦无比啊,什么假期,什么周末,什么早回宿舍都不会存在了,奋战到凌晨以后是家常便饭,所以还是希望论文能中哇,哈哈。...原创 2018-12-27 17:21:29 · 222 阅读 · 0 评论 -
Java实用方法整理(二十四)——IO流之序列化、反序列化
1,序列化、反序列化作用序列化:通过ObjectOutputSteam将对象以流的方式写到文件,或者用于网络传输。反序列化:序列化的逆过程,通过ObjectInputStream还原对象2,注意事项所有需要序列化的对象,需要实现Serializable接口 一定要给待序列化的对象分配一个固定的序列化ID,否则,修改序列化对象时,会导致反序列化时报错 以上两点注意事项如下图标注所...原创 2018-12-27 21:46:01 · 221 阅读 · 0 评论 -
Java实用方法整理(二十五)——多线程
1,线程与进程(1)概念进程:简单理解,就是上正在执行的应用程序,例如:QQ,微信,英雄联盟。。。 线程:进程的执行单元,也可以理解成执行路径 单线程:一个应用程序只有一条执行路径 多线程:一个应用程序有多条执行路径(2)意义多进程的意义:提高CPU的使用率 多线程的意义:提高应用程序的使用率2,线程的生命周期(1)线程的生命周期分为以下5个阶段:新建:创建线程对象...原创 2019-01-07 21:07:11 · 218 阅读 · 0 评论 -
Java实用方法整理(二十六)——线程安全
1,线程安全问题产生原因多线程环境 共享数据 多条语句操作共享数据2,线程安全问题解决方案(1)方案一:同步代码块1)特征描述格式:synchronized(对象){需要同步的代码} 同步可以解决安全问题的根本原因就在对象上,该对象如同锁的功能。该对象为任意对象(除同步方法,它的对象为this) 同步方案的优点:可解决多线程的安全问题 同步方案的缺点:当线程相当多时,每...原创 2019-01-23 21:38:26 · 156 阅读 · 0 评论 -
java实用方法整理(二十七)——PriorityQueue实现最小堆和最大堆
1,PriorityQueue默认实现的是最小堆import java.util.PriorityQueue;/*** @author Manduner_TJU* @version 创建时间:2019年4月10日下午4:51:00*/public class Test9 { public static void main(String[] args) { int[] a =...原创 2019-04-10 23:13:05 · 2391 阅读 · 0 评论 -
java实用方法(二十八)——比较器(Comparable、Comparator )
1,Arrays是针对数组操作的类,Collections是针对集合操作的类collections用法整理 Collections.sort的两种用法2,Comparable一般在自定义类的时候使用。如果自定义类没有实现Comparable接口,还需要有某种排序的功能, 那么就要用上Comparator 比较器了比较器(Comparable、Comparator) 对比较器升序、降序...原创 2019-04-24 17:26:36 · 433 阅读 · 0 评论 -
Java中的形参和实参的区别以及传值调用和传引用调用
1,名词解析(1)形参:形参出现函数定义中,在整个函数体内都可以使用,离开函数则不能使用。(2)实参:实参出现在主函数中,进入被调函数后,实参变量也不能使用。(3)形参和实参的功能是做数据传送。发生函数调用时,主调函数把实参的值传送给被调函数的形参从而向被调函数传送数据。2,形参和实参的区别(1)形参变量只有在被调用时才分配内存单元,在调用结束后,立即释放所分配的内存单元。因此...转载 2019-04-02 16:10:22 · 930 阅读 · 0 评论 -
Java实用方法整理(十三)——异常处理方法之try...catch...
一:处理一个异常1,格式try{ ......}catch(异常名 变量){ ......}2,实例package exceptionUtils;/*** @author Manduner_TJU* @version 创建时间:2018年8月24日上午9:27:44*/public class Test { public stati...原创 2018-08-24 11:27:50 · 335 阅读 · 0 评论 -
Java实用方法整理(十二)——异常
1, 异常分类异常通常分为三类,如下图所示:注 :(1)编译期的异常,必须进行处理,并且编译期抛出的异常,将来的调用者必须处理 (2)运行期的异常,不用必须处理,但是也可以进行处理 (3)编译期的异常,如果不处理,程序根本没法运行,所以不管用啥IDE,那个IDE工具肯定会报错;而运行期间的异常,只有运行起来才会出问题,而且一般可以通过修改完善代码来解...原创 2018-08-24 10:11:04 · 239 阅读 · 0 评论 -
Java面试题(三)——Collection和Collections的区别
1,区别Collection,是单列集合的接口,有子接口List和Set Collections,是针对集合操作的工具类,其中包含对集合进行排序和二分查找的方法2,Collections常用方法public static <T> void sort (List<T> list):排序,默认情况下是自然排序 public static <T> int...原创 2018-08-01 16:33:09 · 6642 阅读 · 0 评论 -
Java实用方法整理(一)
1,tocharArray() 将字符串转换成字符数组String s = "abhnmf";char[] ch = s.toCharArray(); 2,String类下的valueOf()将任意类型的数据转换成字符串,且可直接将字符数组转换成字符串char[] chs = {'l','o','v','e','y','o','u'};int x = 1314;String s1...原创 2018-03-09 19:26:19 · 657 阅读 · 3 评论 -
Java实用方法整理(二)——正则表达式的应用
1,正则表达式的应用(1)正则表达式应用——分割作用案例import java.util.Arrays;/* 正则表达式的应用——分割功能 * 需求:有如下字符串“88, 66; 99: 55, 22, 77; 33”,用代码实现输出“22 33 55 66 77 88 99” * 解决思路: * (1)分割字符串 * (2)将字符串数组转换为整型数组 * (3...原创 2018-03-15 22:49:54 · 340 阅读 · 0 评论 -
Java中,JSONObject判断一个json串中是否含有某个key值
调用has()方法举例如下:JSONObject obj = JSONObject.fromObject(str); //将字符串数据转化成JSON对象String text1 = "";if (obj.has("retweeted_status")) { //判断JSONObject是否包含含有retweeted_status属性值 }...原创 2018-03-20 09:50:16 · 73157 阅读 · 3 评论 -
Java实用方法整理(三)——Math常用方法
/* Math:用于数学运算的类 * 成员变量: * public static final double PI; * public static final double E; * 常用成员方法: * public static int abs(int a) 绝对值 public static double ceil(double a) 向上取整...原创 2018-03-26 23:24:15 · 441 阅读 · 0 评论 -
Java实用方法整理(四)——日期处理案例+常用方法
1,Date类常用方法(1)public long getTime()获取时间,以毫秒为单位。即,从Date得到一个毫秒值 import java.util.Date;public class DateDemo { public static void main(String[] args) { //创建对象 Date d = new Date(); //获取时间 lo...原创 2018-04-09 23:22:46 · 1528 阅读 · 0 评论 -
Java实用方法整理(五)——集合类常用方法
1,集合概述(1)集合的由来Java是面向对象的语言,而面向对象语言对事物的描述是通过对象体现的,为了方便对多个对象进行操作,我们必须把多个对象进行存储。已有的容器类型有:数组和StringBuffer。但是,StringBuffer的结果是一个字符串,不一定满足我们的要求,所以我们只能选择数组,这就是对象数组。而对象数组又不能适应变化的需求,因为数组的长度是固定的,此时,为了适应变化的需...原创 2018-04-17 23:23:07 · 15904 阅读 · 7 评论 -
Java实用方法整理(七)——增强for
1,描述是for循环的一种2,格式for(元素数据类型 变量 : 数组或者Collection集合) { 循环体中直接使用变量即可,变量就是元素}3,优缺点优点:简化了数组和集合的遍历,是迭代的一种替换方法缺点:增强for的目标不能为null,在使用之前需要判断一下目标是否为空4,实例//增强for遍历数组int[] arr = {11,22,33,44,55}for(int x : a...原创 2018-05-27 13:55:09 · 231 阅读 · 0 评论 -
Java实用方法整理(八)——可变参数
1,描述定义方法的时候不知道应该定义多少个参数2,格式修饰符 返回值类型 方法名(数据类型... 变量名){ 方法体}3,注意事项这里的变量其实是一个数组如果一个方法有可变参数,并且有多个参数,那么可变参数肯定是最后一个4,实例/*** @author Manduner_TJU* @version 创建时间:2018年5月27日下午3:30:52*/public ...原创 2018-05-27 15:39:59 · 287 阅读 · 2 评论 -
Java实用方法整理(十)——Map接口和Collection接口的不同
Map是双列的,即键值对;Collection是单列的Map的键唯一;Collection的子体系Set是唯一的Map集合的数据结构值针对键有效,跟值无关;Collection集合的数据结构是针对元素有效...原创 2018-06-11 22:56:51 · 566 阅读 · 0 评论 -
Java实用方法整理(六)——泛型
1,描述泛型:是一种吧类型明确的工作推迟到创建对象或者调用方法的时候才去明确的特殊类型。参数化类型,即吧类型当作参数一样的传递2,格式<数据类型>注:此处的数据类型只能是引用类型3,好处(1)把运行期间的问题提前到了编译期间(2)避免了强制类型转换(3)优化了程序设计4,实例import java.util.ArrayList;import java.util.Iterator;...原创 2018-05-24 22:52:17 · 217 阅读 · 0 评论 -
Java实用方法整理(九)——HashSet、LinkedHashSet、TreeSet
一、HashSet1,描述(1)元素唯一(2)元素无序(存储和取出不一致)2,如何实现元素的唯一(1)自定义元素唯一性的规则(2)在元素所属对象类中重写hashCode(),equals()方法3,应用案例需求:产生10个[1-20]之间的随机数,要求不能重复import java.util.HashSet;import java.util.Random;...原创 2018-06-06 23:15:04 · 438 阅读 · 0 评论 -
Java日常Tips——Java为什么要用接口
1,Java中的接口可以通过很多类去实现,这样起到规范的作用2,按照接口规范进行方法调用,就能获得所期望的功能3,按照接口规范实现接口的的方法,就能提供所期望的功能4,通俗易懂的l如下:...原创 2018-05-30 20:40:32 · 966 阅读 · 0 评论 -
设置eclipse自动生成的author等注释
转自:https://blog.youkuaiyun.com/fenglibing/article/details/40994541,转载内容每新建一个类上面都会有一行注释:/*** @author 马海宝 E-mail:rigger21@126.com* @version 创建时间:2007-8-30 下午04:58:52* 类说明*/感觉这个应该很好,多个人一起开发的时候能够看见谁是谁的, 我就想这个怎么...转载 2018-05-30 22:17:04 · 330 阅读 · 0 评论 -
Java实用方法整理(十一)——Map集合遍历的两种方法
一、根据键找值思路:获取所有键的集合遍历键的集合,获取到每一个键根据键找值代码import java.util.HashMap;import java.util.Map;import java.util.Set;public class MapDemo{ public static void main(String[] args){ ...原创 2018-06-21 21:44:09 · 297 阅读 · 0 评论 -
Java面试题整理(二)——Hashtable和HashMap的区别
1,就像ArrayList是Vector的替换一样,HashMap是Hashtable的替换2,Hashtable,线程安全,效率低;键和值不允许null值。 HashMap,线程不安全,效率高; 键和值允许null值。...原创 2018-08-01 15:37:32 · 200 阅读 · 0 评论