JAVA高级
java高级知识
林九
如果你喜欢我的分享,请点赞关注我,让我们学习路上不孤独
展开
-
IO流详解
IO分类 根据数据的流向分为 输入流 : 把数据从其他设备上读取到内存中的流; 输出流 : 把数据从内存中写出到其他设备上的流; 根据数据的类型分为 字节流 : 以字节为单位,读写数据的流; 字符流 : 以字符为单位,读写数据的流; 输入流 输出流 字节流 字节输入流InputStream 字节输出流OutputStream 字符流 字符输入流Reader 字符输出流Writer 字节输出流 OutputStream java.io.OutputStream此抽象类是表示字原创 2021-05-24 22:51:13 · 5561 阅读 · 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 · 5505 阅读 · 0 评论 -
File类详解
概述 java.io.File类是文件和目录路径名的抽象表示,主要用于文件和目录的创建,查找和删除等操作; File类的静态成员变量 //名称分隔符,windows下是分号 ; linux下是冒号 : File.pathSeparator; //文件名称分隔符,windows下是反斜杠 \ linux下是 / File.separator; 绝对路径和相对路径 绝对路径 : 一个完整的路径; 例: C:\demo\a.txt 相对路径原创 2021-05-20 23:13:45 · 5418 阅读 · 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 · 5347 阅读 · 0 评论 -
JAVA常用API : Collections
Collections java.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 · 5421 阅读 · 0 评论 -
JAVA常用API : Iterator
Iterator java.util.Iterator接口,迭代器(对集合进行迭代),有两个常用方法; 因为java.util.Iterator是接口,不能直接使用,所有使用迭代器需要通过Collection接口的方法:iterator(),通过它获取迭代器; 迭代器的方法 boolean hasNext() : 如果仍有元素可以迭代,返回true; E next() : 取出集合中的下一个元素; 迭代器的使用步骤 使用集合中的方法iterator()获取迭代器的实现类对象,使用Iterator接口来接收原创 2021-04-10 17:18:37 · 5425 阅读 · 0 评论 -
JAVA常用API : Collection
Collection java.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 · 5441 阅读 · 0 评论 -
JAVA常用API : Calendar
Calendar java.util.Calendar是日历类,在Date后出现,替换掉了许多Date的方法。该类将所有可能用到的时间信息封装为静态成员变量,方便获取。日历类就是方便获取各个时间属性的。 Calendar类无法直接创建对象使用,它有一个静态getInstance ...原创 2021-04-08 20:59:32 · 5712 阅读 · 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 · 5338 阅读 · 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 · 5349 阅读 · 0 评论 -
JAVA常用API : ArrayList
ArrayList //创建一个ArrayList集合,尖括号是泛型,只能是引用类型,表示这个集合存的数据的类型,右边可以不写; ArrayList<String> list = new ArrayList<>(); //直接打印list,得到的是: [] ,是内容而不是地址值 System.out.println(list);//[] //向集合内添加一些String类型数据,add();原创 2021-04-06 23:29:26 · 5641 阅读 · 0 评论 -
JAVA常用API : System
System java.lang.System可以获取与系统相关的信息,或系统级的操作 currentTimeMillis() 返回系统当前时间的毫秒值 public static void main(String[] args) { //返回系统当前时间的毫秒值 System.currentTimeMillis(); } arrayCopy() 将数组中的指定数据拷贝到另一个数组中 public static void main(String[] args)原创 2021-04-08 21:29:15 · 5530 阅读 · 0 评论 -
JAVA常用API : SimpleDateFormat
SimpleDateFormat java.text.DateFormat 是日期/时间格式化子类的抽象类,我们通过这个类可以帮我们完成日期和文本之间的转换,也就是可以在Date对象与String对象之间进行来回转换。 由于DateFormat为抽象类,不能直接使用,所以需要常用的子类java.text.SimpleDateFormat。这个类需要一个模式(格式)来指定格式化或解析的标准。构造方法为: public SimpleDateFormat(String pattern):用给定的模式和默认语言环境原创 2021-04-08 16:05:11 · 5525 阅读 · 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 · 5367 阅读 · 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 · 5396 阅读 · 0 评论 -
JAVA常用API : Map集合的子类及常用方法
Map java.util.Map,元素是成对存在的,每个元素由key(键),value(值)两部分组成,通过键可以找到所对应的值,因为被称为双列集合;Collection是一个一个元素存储的,所以是单列集合; 注意: Map中的集合不能包含重复的键,值可以重复,每个键只对应一个值; ...原创 2021-04-15 16:07:02 · 5579 阅读 · 0 评论 -
JAVA常用API : Obejct
java.lang.Object 类是Java语言中的根类,即所有类的父类。Object类的所有方法子类都可以使用。在对象实例化的时候,最终找的父类就是Object。 如果一个类没有特别指定父类, 那么默认则继承自Object类原创 2021-04-08 14:14:46 · 5368 阅读 · 0 评论 -
JAVA常用API : Date
Date java.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 · 5358 阅读 · 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 · 5357 阅读 · 0 评论 -
JAVA权限修饰符详解
java中一共有四个权限修饰符,他们的大小关系如下: public > protected > (default) > private default:表示不写 同一个类中: 都可以访问 同一个包下: private不可访问 不同包的子类下: default,private不可访问 不同包的非子类: protected,default,private不可访问 ...原创 2021-05-09 17:47:16 · 5473 阅读 · 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 · 5423 阅读 · 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 · 5375 阅读 · 0 评论 -
JAVA集合的分类与区别
List集合: 包含 : ArrayList,LinkedList,Vector; 特点 : 元素是有序的,可重复的; ArrayList: 线程不安全,查询速度快,增删速度慢; 底层数据结构是数组结构; 扩容增量:原容量的0.5倍+1; 如 ArrayList的容量为10,一次扩容后是容量为16; LinkedList : 线程不安全,查询速度比ArrayList慢,但增删速度快; 底层数据结构是双向链表; 没有初始化大小,也没有扩容的机制,一直在前面或者后面新增就...原创 2021-04-11 17:46:38 · 5433 阅读 · 0 评论 -
java基础复习卷
前言: 这是我针对之前几年代码生活的一些梳理,以及一些小知识的总结,会分为基础卷,进阶卷,内容会慢慢完善,不推荐毫无基础的小伙伴观看. 标识符: 含义: 类名,方法名,变量名; 命名规则: 不能以数字开头,不能是关键字; 命名规范: 类名:首字母大写,后面每个单词首字母都要大写(大驼峰式); 变量名,方法名:首字母小写,后面每个单词首字母都要大写(小驼峰式); 常量与变量 常量的分类: 字符串常量:用双引号引起的部分,例如:“hello”; 整数常量:直接写数字,没有小数点,例如:999; 浮原创 2021-01-05 23:06:21 · 5355 阅读 · 1 评论 -
一篇讲完Java异常及处理
什么是异常? 异常是指在程序执行的过程中,出现了非正常的情况,最终会导致JVM非正常停止; java是如何处理异常的? 如果程序在运行过程中出现了异常,那么会产生一个异常对象,程序会把这个异常对象交给JVM处理,JVM就会中断程序,并在控制台打印出这个异常的信息; 异常的体系结构: 最顶层的父类:'java.lang.Throwable',其下有两个子类:'java.lang.Error'和'java.lang.Exception'; Error : 严重的错误,无法处理的错误,只能事先避免;原创 2021-04-21 16:30:22 · 5619 阅读 · 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 · 5360 阅读 · 0 评论 -
JAVA集合相关数据结构详解
栈 特点:先进后出 我们可以把栈内存的结构想象成一个弹夹,而一个个元素就相当于一颗颗子弹,当把元素存入集合中时,相当于把子弹压入弹夹,这叫做入栈,也叫压栈,元素一个一个进去,最先进的就被压在了集合最底层(栈底),而出口和入口又是同一个,等要取出时,就得从最顶层(栈顶)开始一个一个元素取出,也叫出栈或弹栈,所以规则是先进后出; 队列 特点: 先进先出 队列类似于过安检,谁先排队(入栈),谁就先安检(出栈); 数组 特点: 查询快,增删慢 查询快:因为在堆中新建一个数组时,会赋予它地址,通过地址可以查到这个数组原创 2021-04-11 15:25:26 · 5394 阅读 · 0 评论 -
Redis学习和Jedis使用,一篇搞定!
概念 redis是一款高性能的Nosql非关系型数据库,mysql是关系型是关系型数据库;原创 2021-07-21 18:29:17 · 5330 阅读 · 0 评论 -
Request和Response详解以及常用方法
Request 概念: 是服务器创建的请求对象,request对象是来获取请求消息; 组成部分 请求行 GET /login.html HTTP/1.1分别对应了请求方式,请求的URL,请求协议/版本; 请求头:客户端浏览器告诉服务器一些信息 User-Agent:浏览器告诉服务器当前使用的浏览器版本信息; Referer:浏览器告诉服务器当前请求从哪里来; 请求空行: 用于分割POST请求的请求头,和请求体的; 请求体(正文):封装POST请求消息的请求参数的; //请求例子 请原创 2021-07-18 21:38:46 · 6813 阅读 · 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 · 5684 阅读 · 0 评论 -
Spring的JDBCTemplate快速入门
JDBCTemplate Spring框架对JDBC的简单封装,提供了一个JDBCTemplate对象简化JDBC的开发; 快速入门 引入jar包 <!--阿里巴巴druid连接池--> <dependency> <groupId>com.alibaba</groupId> <artifactId>druid</artifactId>原创 2021-07-06 17:34:11 · 5346 阅读 · 0 评论 -
C3P0连接池和Druid连接池
连接池 以往的JDBC使用的方式,每次运行sql都需要从底层注册驱动获取连接,这样非常耗时,浪费资源,sql执行完毕后又需要释放资源,有点类似于开了一家饭店,有客人来,招聘了几个服务员,客人走后,开除了服务员,新的客人来,又得招聘新的服务员… 而使用连接池,当系统初始化时,数据库连接池会自动申请一些连接对象,当用户访问数据库时,从连接池中获取连接对象,当用户访问完毕后,会将连接对象归还给连接池,节约了资源,更加高效; 实现方式 标准接口: DataSource javax.sql; 一般我们不去实现它,一原创 2021-07-06 15:51:54 · 5451 阅读 · 0 评论 -
JDBC入门与工具类
JDBC 本质:是官方定义的一套操作所有关系型数据库的规则,即接口,各个数据库厂商去实现这套接口,我们可以使用这套接口编程,真正执行的代码是驱动jar包中的实现类; 快速入门 导入jar包 实现案例 public static void main(String[] args){ Connection connection = null; Statement statement = null; //注册驱动 try {原创 2021-07-04 18:51:10 · 5304 阅读 · 0 评论 -
java反射一篇搞定
反射机制 它是java体系中非常重要的概念,也是框架设计的灵魂;原创 2021-06-29 16:27:46 · 5312 阅读 · 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 · 5303 阅读 · 0 评论