
JAVA高级
java高级知识
林九
如果你喜欢我的分享,请点赞关注我,让我们学习路上不孤独
展开
-
IO流详解
IO分类根据数据的流向分为输入流 : 把数据从其他设备上读取到内存中的流;输出流 : 把数据从内存中写出到其他设备上的流;根据数据的类型分为字节流 : 以字节为单位,读写数据的流;字符流 : 以字符为单位,读写数据的流;输入流输出流字节流字节输入流InputStream字节输出流OutputStream字符流字符输入流Reader字符输出流Writer字节输出流 OutputStreamjava.io.OutputStream此抽象类是表示字原创 2021-05-24 22:51:13 · 5594 阅读 · 0 评论 -
Map下的Properties集合
Properties集合java.util.Properties类继承HashTable表示一个持久的属性集;可保存在流中或从流中加载,每一个键值都是字符串,是一个双列集合;它是唯一一个跟IO流相结合的集合;可以使用store()方法把集合中的临时数据,持久化写入硬盘中存储;可以使用load()方法把硬盘中保存的键值对,读取到集合中使用;常用方法public Object setProperty(String key, String value) : 保存一对属性。底层就是put()方原创 2021-05-24 23:49:05 · 5530 阅读 · 0 评论 -
File类详解
概述java.io.File类是文件和目录路径名的抽象表示,主要用于文件和目录的创建,查找和删除等操作;File类的静态成员变量 //名称分隔符,windows下是分号 ; linux下是冒号 : File.pathSeparator; //文件名称分隔符,windows下是反斜杠 \ linux下是 / File.separator;绝对路径和相对路径绝对路径 : 一个完整的路径; 例: C:\demo\a.txt相对路径原创 2021-05-20 23:13:45 · 5455 阅读 · 0 评论 -
JAVA常用API : String
String //字符串3+1种创建方式,3种构造方法,1种直接创建 //public String(); 空参构造 String str1 = new String(); //public String(char [] array); 字符数组创建 char [] charArray = {'a','b','c'}; String str2 = new String(charArray); //publ原创 2021-04-06 23:30:03 · 5385 阅读 · 0 评论 -
JAVA常用API : Collections
Collectionsjava.util.Collections是集合工具类,不要跟java.util.Collection这个所有集合的父类接口弄混,Collections是集合工具类,提供了一些对集合操作的方法;public static boolean addAll(Collection c, T… elements) :往集合中添加多个元素;public static void shuffle(List<?> list) :打乱顺序,打乱集合顺序;public static原创 2021-04-14 21:57:46 · 5524 阅读 · 0 评论 -
JAVA常用API : Iterator
Iteratorjava.util.Iterator接口,迭代器(对集合进行迭代),有两个常用方法;因为java.util.Iterator是接口,不能直接使用,所有使用迭代器需要通过Collection接口的方法:iterator(),通过它获取迭代器;迭代器的方法boolean hasNext() : 如果仍有元素可以迭代,返回true;E next() : 取出集合中的下一个元素;迭代器的使用步骤使用集合中的方法iterator()获取迭代器的实现类对象,使用Iterator接口来接收原创 2021-04-10 17:18:37 · 5464 阅读 · 0 评论 -
JAVA常用API : Collection
Collectionjava.util.Collection接口所有单列集合最顶层的接口,里面定义了所有单列集合共性的方法;任意的单列集合都可以使用Collection接口中的方法;public boolean add(E e) : 把给定的对象添加到当前集合中;public void clear() : 清空集合中所有的元素;public boolean remove(E e) : 把给定的对象在当前集合中删除;public boolean contains(E e) : 判断当前集合中是原创 2021-04-10 13:24:31 · 5509 阅读 · 0 评论 -
JAVA常用API : Calendar
Calendarjava.util.Calendar是日历类,在Date后出现,替换掉了许多Date的方法。该类将所有可能用到的时间信息封装为静态成员变量,方便获取。日历类就是方便获取各个时间属性的。Calendar类无法直接创建对象使用,它有一个静态getInstance...原创 2021-04-08 20:59:32 · 5770 阅读 · 1 评论 -
JAVA常用API : Math
Math //Math.abs(double num);获取绝对值 System.out.println(Math.abs(-2.6));//2.6 //Math.ceil(double num);向上取整 System.out.println(Math.ceil(2.1));//3.0 //Math.floor(double num);向下取整 System.out.println原创 2021-04-06 23:31:12 · 5370 阅读 · 0 评论 -
JAVA常用API : 匿名对象
匿名对象 //创建一个person对象 public static class Person { String name; } public static void main(String[] args) { //一般创建对象 Person person = new Person(); person.name = "张三";原创 2021-04-06 23:26:54 · 5385 阅读 · 0 评论 -
JAVA常用API : ArrayList
ArrayList //创建一个ArrayList集合,尖括号是泛型,只能是引用类型,表示这个集合存的数据的类型,右边可以不写; ArrayList<String> list = new ArrayList<>(); //直接打印list,得到的是: [] ,是内容而不是地址值 System.out.println(list);//[] //向集合内添加一些String类型数据,add();原创 2021-04-06 23:29:26 · 5686 阅读 · 0 评论 -
JAVA常用API : System
Systemjava.lang.System可以获取与系统相关的信息,或系统级的操作currentTimeMillis()返回系统当前时间的毫秒值 public static void main(String[] args) { //返回系统当前时间的毫秒值 System.currentTimeMillis(); }arrayCopy()将数组中的指定数据拷贝到另一个数组中 public static void main(String[] args)原创 2021-04-08 21:29:15 · 5596 阅读 · 0 评论 -
JAVA常用API : SimpleDateFormat
SimpleDateFormatjava.text.DateFormat 是日期/时间格式化子类的抽象类,我们通过这个类可以帮我们完成日期和文本之间的转换,也就是可以在Date对象与String对象之间进行来回转换。由于DateFormat为抽象类,不能直接使用,所以需要常用的子类java.text.SimpleDateFormat。这个类需要一个模式(格式)来指定格式化或解析的标准。构造方法为:public SimpleDateFormat(String pattern):用给定的模式和默认语言环境原创 2021-04-08 16:05:11 · 5572 阅读 · 0 评论 -
JAVA常用API : Arrays
Arrays //Arrays.toString(数组);将参数数组变成字符串(按照默认格式:[元素1,元素2,元素3,...]); int[] arr = {2,1,7,5}; System.out.println(Arrays.toString(arr)); // [2, 1, 7, 5] //Arrays.sort(); 将数组从小到大顺序排序 Arrays.sort(arr); System.out.printl原创 2021-04-06 23:30:43 · 5411 阅读 · 0 评论 -
JAVA常用API : Scanner
Scanner //创建Scanner对象 Scanner scanner = new Scanner(System.in); //获取键盘录入的int类型的值,next()方法是获取String类型 int a = scanner.nextInt(); //打印 System.out.println("输入的数字是:"+ a);...原创 2021-04-06 23:25:39 · 5459 阅读 · 0 评论 -
JAVA常用API : Map集合的子类及常用方法
Mapjava.util.Map,元素是成对存在的,每个元素由key(键),value(值)两部分组成,通过键可以找到所对应的值,因为被称为双列集合;Collection是一个一个元素存储的,所以是单列集合;注意: Map中的集合不能包含重复的键,值可以重复,每个键只对应一个值;...原创 2021-04-15 16:07:02 · 5629 阅读 · 0 评论 -
JAVA常用API : Obejct
java.lang.Object 类是Java语言中的根类,即所有类的父类。Object类的所有方法子类都可以使用。在对象实例化的时候,最终找的父类就是Object。如果一个类没有特别指定父类, 那么默认则继承自Object类原创 2021-04-08 14:14:46 · 5393 阅读 · 0 评论 -
JAVA常用API : Date
Datejava.util.Date类表示特定的瞬间,精确到毫秒。 //获取从1970年1月1日00:00:00到当前系统时间一共经历了多少毫秒; //方式1 : System.currentTimeMillis() System.out.println(System.currentTimeMillis()); //方式2 : new Date().getTime() System.out.println(new Date().get原创 2021-04-08 15:09:14 · 5391 阅读 · 0 评论 -
JAVA常用API : Random
Random //用来生成随机数字 Random random = new Random(); //生成一个int类型随机数 int i = random.nextInt(); //生成范围内的随机数 //参数10表示0-9之间取值,不包括10,左闭右开区间 random.nextInt(10);...原创 2021-04-06 23:28:21 · 5400 阅读 · 0 评论 -
JAVA权限修饰符详解
java中一共有四个权限修饰符,他们的大小关系如下:public > protected > (default) > privatedefault:表示不写同一个类中:都可以访问同一个包下:private不可访问不同包的子类下:default,private不可访问不同包的非子类:protected,default,private不可访问...原创 2021-05-09 17:47:16 · 5508 阅读 · 0 评论 -
this关键字的三种用法
this关键词用来访问本类内容;在本类成员方法中,访问本类成员变量;(典型用法)//在本类成员方法中,访问本类成员变量;public class TestDemo { //成员变量 int a = 100; public void method(){ //局部变量 int a = 500; System.out.println(a); // 结果为500,成员变量; System.out.println(th原创 2021-03-22 16:11:14 · 5462 阅读 · 0 评论 -
super关键字的三种用法
在子类的成员方法中访问父类的成员变量;//在子类的成员方法中访问父类的成员变量;//父类public class Father { int a = 100;}//子类class Son extends Father { int a = 500; public void main(String[] args) { System.out.println(super.a); //输出结果为: 100,调用了父类Father的a }}在子类的成.原创 2021-03-22 17:08:15 · 5399 阅读 · 0 评论 -
JAVA集合的分类与区别
List集合:包含 : ArrayList,LinkedList,Vector;特点 : 元素是有序的,可重复的;ArrayList:线程不安全,查询速度快,增删速度慢;底层数据结构是数组结构;扩容增量:原容量的0.5倍+1;如 ArrayList的容量为10,一次扩容后是容量为16;LinkedList :线程不安全,查询速度比ArrayList慢,但增删速度快;底层数据结构是双向链表;没有初始化大小,也没有扩容的机制,一直在前面或者后面新增就...原创 2021-04-11 17:46:38 · 5473 阅读 · 0 评论 -
java基础复习卷
前言:这是我针对之前几年代码生活的一些梳理,以及一些小知识的总结,会分为基础卷,进阶卷,内容会慢慢完善,不推荐毫无基础的小伙伴观看.标识符:含义:类名,方法名,变量名;命名规则:不能以数字开头,不能是关键字;命名规范:类名:首字母大写,后面每个单词首字母都要大写(大驼峰式);变量名,方法名:首字母小写,后面每个单词首字母都要大写(小驼峰式);常量与变量常量的分类:字符串常量:用双引号引起的部分,例如:“hello”;整数常量:直接写数字,没有小数点,例如:999;浮原创 2021-01-05 23:06:21 · 5405 阅读 · 1 评论 -
一篇讲完Java异常及处理
什么是异常?异常是指在程序执行的过程中,出现了非正常的情况,最终会导致JVM非正常停止;java是如何处理异常的?如果程序在运行过程中出现了异常,那么会产生一个异常对象,程序会把这个异常对象交给JVM处理,JVM就会中断程序,并在控制台打印出这个异常的信息;异常的体系结构:最顶层的父类:'java.lang.Throwable',其下有两个子类:'java.lang.Error'和'java.lang.Exception';Error : 严重的错误,无法处理的错误,只能事先避免;原创 2021-04-21 16:30:22 · 5680 阅读 · 1 评论 -
final关键字的四种用法
final关键字的四种用法1,修饰一个类;2,修饰一个方法;3,修饰一个局部变量;4,修饰一个成员变量;//1.当final修饰一个类时,这个类不能有任何子类;public final class FinalDemo { //2.当final修饰一个方法时,这个方法就是最终方法,不能被覆盖重写; public final void method(){ System.out.println("成员方法"); } public static v.原创 2021-03-26 22:26:23 · 5396 阅读 · 0 评论 -
JAVA集合相关数据结构详解
栈特点:先进后出我们可以把栈内存的结构想象成一个弹夹,而一个个元素就相当于一颗颗子弹,当把元素存入集合中时,相当于把子弹压入弹夹,这叫做入栈,也叫压栈,元素一个一个进去,最先进的就被压在了集合最底层(栈底),而出口和入口又是同一个,等要取出时,就得从最顶层(栈顶)开始一个一个元素取出,也叫出栈或弹栈,所以规则是先进后出;队列特点: 先进先出队列类似于过安检,谁先排队(入栈),谁就先安检(出栈);数组特点: 查询快,增删慢查询快:因为在堆中新建一个数组时,会赋予它地址,通过地址可以查到这个数组原创 2021-04-11 15:25:26 · 5426 阅读 · 0 评论 -
Redis学习和Jedis使用,一篇搞定!
概念redis是一款高性能的Nosql非关系型数据库,mysql是关系型是关系型数据库;原创 2021-07-21 18:29:17 · 5361 阅读 · 0 评论 -
Request和Response详解以及常用方法
Request概念: 是服务器创建的请求对象,request对象是来获取请求消息;组成部分请求行GET /login.html HTTP/1.1分别对应了请求方式,请求的URL,请求协议/版本;请求头:客户端浏览器告诉服务器一些信息User-Agent:浏览器告诉服务器当前使用的浏览器版本信息;Referer:浏览器告诉服务器当前请求从哪里来;请求空行: 用于分割POST请求的请求头,和请求体的;请求体(正文):封装POST请求消息的请求参数的;//请求例子请原创 2021-07-18 21:38:46 · 7067 阅读 · 0 评论 -
Tomcat项目部署方式
Tomcat项目部署方式方式一将项目直接放在tomcat/webapps目录下;访问方式,启动tomcat后,在浏览器直接输入http://localhost:8080/hello/world.html即可访问或将hello项目打成压缩文件并以war为后缀名,再将项目直接放在tomcat/webapps目录下,tomcat会自动解压;访问方式不变;方式二配置conf/server.xml文件(不建议);在<Host>标签体中配置<Context doc原创 2021-07-13 18:43:13 · 5731 阅读 · 0 评论 -
Spring的JDBCTemplate快速入门
JDBCTemplateSpring框架对JDBC的简单封装,提供了一个JDBCTemplate对象简化JDBC的开发;快速入门引入jar包 <!--阿里巴巴druid连接池--> <dependency> <groupId>com.alibaba</groupId> <artifactId>druid</artifactId>原创 2021-07-06 17:34:11 · 5369 阅读 · 0 评论 -
C3P0连接池和Druid连接池
连接池以往的JDBC使用的方式,每次运行sql都需要从底层注册驱动获取连接,这样非常耗时,浪费资源,sql执行完毕后又需要释放资源,有点类似于开了一家饭店,有客人来,招聘了几个服务员,客人走后,开除了服务员,新的客人来,又得招聘新的服务员…而使用连接池,当系统初始化时,数据库连接池会自动申请一些连接对象,当用户访问数据库时,从连接池中获取连接对象,当用户访问完毕后,会将连接对象归还给连接池,节约了资源,更加高效;实现方式标准接口: DataSource javax.sql;一般我们不去实现它,一原创 2021-07-06 15:51:54 · 5499 阅读 · 0 评论 -
JDBC入门与工具类
JDBC本质:是官方定义的一套操作所有关系型数据库的规则,即接口,各个数据库厂商去实现这套接口,我们可以使用这套接口编程,真正执行的代码是驱动jar包中的实现类;快速入门导入jar包实现案例 public static void main(String[] args){ Connection connection = null; Statement statement = null; //注册驱动 try {原创 2021-07-04 18:51:10 · 5330 阅读 · 0 评论 -
java反射一篇搞定
反射机制它是java体系中非常重要的概念,也是框架设计的灵魂;原创 2021-06-29 16:27:46 · 5340 阅读 · 0 评论 -
JAVA递归
递归的分类直接递归: 方法自己调用自己;间接递归: A方法调用B方法,B方法调用C方法,C方法调用A方法;注意事项递归一定要有条件限定,保证递归能够停止下来,否则会发生栈内存溢出;递归次数不能太对,否则也会栈内存溢出;构造方法,禁止递归;递归的使用前提当调用方法的时候,方法的主体不变,每次调用方法的参数不同,可以使用递归;简单案例用递归的方式求1-n的和public class Solution { /* 1+2+3+...+n n+(n-1)+(n-2)+原创 2021-05-23 15:52:36 · 5333 阅读 · 0 评论