Java
文章平均质量分 84
Java学习
poixao
这个作者很懒,什么都没留下…
展开
-
Java 内存布局
值拷贝与引用拷贝 数组是引用类型 1.基本数据类型,直接在栈中分配值 2.引用类型,先在堆中开辟了一个数据空间(对数据的操作都在堆中进行),然后把该数据空间地址给栈中对应的变量名 3.值拷贝:基本数据类型是直接将值进行拷贝,不会对源数据造成影响 4.引用拷贝:引用类型拷贝,拷贝的是数据空间地址,也就是两个变量操作的是同一个数据空间,自然其中一个变量操作改变数据,会对另一个变量造成影响 二维数组的内存布局 1.在堆中创建一个长度为行个数大小的一维数组(假设为A数组) 2.A数组中每个元素再指向一个长度为列个原创 2022-02-28 23:05:40 · 373 阅读 · 0 评论 -
Java常用类
Java常用类常用类Object类getclass方法hashcode方法toString方法equals方法finalize方法包装类包装类的含义包装类对应装箱与拆箱Integer缓冲区包装类的常用方法Math类Arrays类BigInteger类BigDecimal类Date类Calendar类LocalDateTimeSimpleDateFormat类System类总结 常用类 Object类 getclass方法 返回Class类型 判断两个对象的类型是否相同 hashcode方法 to原创 2022-02-27 19:01:06 · 205 阅读 · 0 评论 -
Java-String类
Java-String类String类String结构剖析String创建剖析String对象特性String常用方法可变字符串StringBufferStringBuilder总结 API 解释 public int length() 返回字符串的长度。 public char charAt(int index) 根据下标获取字符。 public boolean contains(String str) 判断当前字符串中是否包含str。public char[] toCharA原创 2022-02-27 18:01:06 · 209 阅读 · 0 评论 -
正则表达式
正则表达式正则表达式语法分组正则表达式分类字符匹配符选择匹配符限定符定位符捕获分组非捕获分组非贪婪匹配应用Pattern类Matcher类反向引用在String中使用正则表达式替换匹配分割 字符匹配符 符号 解释 [] 可接收的字符列表[abc] 接收abc中任意1个字符 [^] 不可接收的字符列表 [^abc] 不接收abc中任意1个字符 - 连字符 a-c a到c任意一个小写字符 . 匹配除\n以外的任何字符a…b 以a开头,以b结尾,中间包括2个任意字符的长度为4的字符串原创 2022-02-26 22:05:40 · 2534 阅读 · 0 评论 -
Java-分层设计
Java-分层设计表 与 domainBasicDAO 与 XxxDAOService 与 XxxDAOAPPview 与 Service多表查询创建domain创建DAO在Service中调用DAO小问题属性重名分表操作 分而治之,各司其职 表 与 domain 表字段 domain属性 domain属性与表的字段要一一对应 提供相应的无参构造和getter和setter方法 (方法名一定要和表字段对应,比如表字段为id,那么方法为getId 和 setId) DBUtils是通过反射将数据库的数据原创 2022-02-25 11:04:13 · 754 阅读 · 0 评论 -
JDBC数据库连接池
JDBC数据库连接池数据库连接池传统获取Connection问题数据库连接池C3P0连接池第一种连接方式准备工作1.创建数据源对象2.给数据源设置相关的参数3.设置初始连接数和最大连接数4.获得ConnectionC3P0连接池第二种连接方式(推荐)Druid(德鲁伊)连接池使用DruidDruid工具类APJDBCUtilsAPJDBCUtils 运行逻辑APJDBCUtils 使用表和JavaBean之间的映射关系Basic-DAODAO测试 连接池的作用 在缓冲池中放入一定数量的连接,当有程序请原创 2022-02-23 21:13:40 · 762 阅读 · 0 评论 -
Java-JDBC
Java-JDBCJDBC带来的好处JDBC程序编写步骤前置工作1.注册驱动2.获取连接3. 执行sql语句4.释放资源连接数据库的五种方式1 静态连接2.通过反射动态连接数据库3.DriverManager4.使用Class.forName 自动完成注册驱动5. 在方式4的基础上,使用配置文件,使代码更灵活ResultSetsql注入Statement(预处理)preparedStatement小结JDBCUtils编写JDBCUtils使用JDBCUtilsJDBC控制事务批处理数据库连接池传统获取Co原创 2022-02-23 19:07:15 · 629 阅读 · 0 评论 -
Java反射
Java反射类对象显示加载类获取类对象的三种方式反射常用方法使用反射获取类的名字、包名、父类、接口获取类的构造方法并使用获取类的方法使用反射实现一个可以调用任何对象方法的通用方法使用反射获取属性设计模式工厂设计模式单例模式饿汉式懒汉式静态内部类写法枚举类型注解创建注解 类对象 显示加载类 右击-- Run As – Run Configurations 获取类对象的三种方式 反射常用方法 使用反射获取类的名字、包名、父类、接口 获取类的构造方法并使用 获取类的方法 获取类的所有方法原创 2022-02-15 11:41:04 · 590 阅读 · 0 评论 -
Java文件的操作
Java文件的操作文件的操作分隔符创建文件删除文件获取文件信息获取文件绝对路径获取文件路径获取文件名称获取文件父目录获取文件长度获取文件创建时间判断是否可写是否是文件是否隐藏文件夹的操作创建文件夹删除文件夹获取文件夹信息判断遍历文件夹filefilter接口递归遍历和递归删除总结 文件的操作 分隔符 创建文件 删除文件 直接删除 使用Jvm退出时删除 获取文件信息 获取文件绝对路径 获取文件路径 获取文件名称 获取文件父目录 获取文件长度 获取文件创建时间 判断 是否可写原创 2022-02-07 12:01:54 · 507 阅读 · 0 评论 -
Java泛型总结
Java泛型总结Java泛型定义泛型的语法泛型使用细节自定义泛型自定义泛型接口自定义泛型方法泛型的继承与通配符JUnit练习 Java泛型定义 E的部分全部替换成我们指定的类型 泛型的语法 泛型使用细节 自定义泛型 自定义泛型接口 自定义泛型方法 1.泛型方法,可以定义在普通类中,也可以定义在泛型类中 2.当泛型方法被调用时,类型会确定 泛型的继承与通配符 JUnit 练习 package com.study.generic; import or原创 2022-01-28 21:07:43 · 815 阅读 · 0 评论 -
Java集合总结
Java集合总结指令List实现类1.ArrayList2. Vector3. LinkListList遍历方式Set实现类1. HashSetHashSet存储过程LinkedHashSet2. TreeSetMap实现类1. HashMap2. HashTable3. TreeMapColletions工具类总结 指令 Collections 命令 解释 add 添加单个元素 remove 删除指定元素 contains 查找元素是否存在 size 获取元素个数 isEm原创 2022-01-27 12:19:54 · 617 阅读 · 0 评论 -
Java枚举与注解
Java枚举与注解枚举什么是枚举枚举的实现方式1.自定义类实现枚举2.使用enum关键字实现枚举emun关键字实现枚举-注意事项枚举成员方法小测试enum使用细节注解什么是注解注解分类@overrideDeprecatedSuppressWarnings元注解 枚举 什么是枚举 枚举的实现方式 1.自定义类实现枚举 2.使用enum关键字实现枚举 emun关键字实现枚举-注意事项 对第三点的解释 枚举成员方法 values valueOf compareTo 小测试原创 2022-01-22 18:38:37 · 718 阅读 · 0 评论 -
idea使用
idea使用创建项目创建类修改字体字符编码快捷键更改快捷键idea模板 创建项目 创建类 右键src 回车即可 修改字体 字符编码 快捷键 自己习惯用的快捷键 快捷键 作用 ctrl + d<需修改> 删除当前行 ctrl + alt + ↓ <需修改> 复制当前行 补全代码 alt + / 添加注释/取消注释 ctrl + / 导入该行需要的类 alt + enter ctrl + alt + L 快速格式化代码 ctrl原创 2022-01-17 23:05:39 · 388 阅读 · 0 评论 -
Java网络编程
Java网络编程什么是网络什么是计算机网络OSI参考模型TCP/IP模型TCP/UDPIP协议IP地址划分Port端口号InterAddress类创建本机IP地址对象创建局域网IP地址对象创建外网IP地址对象基于TCP的网路编程TCP编程实现客户端发送数据给服务器端TCP编程实现客户端上传文件给服务器TCP编程实现多个客户端发送数据给服务器使用Socket实现注册登录网络编程总结 什么是网络 什么是计算机网络 OSI参考模型 TCP/IP模型 TCP/UDP IP协议 IP地址划分 Por原创 2022-01-13 13:33:14 · 266 阅读 · 0 评论 -
Java I/O框架
Java I/O框架什么是流流的分类字节流FileInputStreamFileOutputStream案例--文件流复制字节缓冲流BufferedInputStreamBufferedOutPutStream对象流序列化反序列化序列化和反序列化注意事项常见字符编码字符流抽象类FilereaderFileWriter案例--实现文件复制字符缓冲流BufferReaderBufferWriter打印流转换流InputStreamReaderOutputStreamWriterFile类文件的操作分隔符创建文件原创 2022-01-11 17:40:41 · 618 阅读 · 0 评论 -
Java高级多线程
Java高级多线程线程池线程池原理线程API创建线程池1、创建鼓点线程个数的线程池2、创建缓存线程池,由任务多少来决定3、创建单线程线程池4、创建调度线程池Callable接口--创建线程方式Callable接口结合线程池使用future接口线程同步与异步Lock锁--同步重入锁读写锁线程安全集合问题演示使用Collections中的工具方法1、Collections.synchronizedList(现在不常用)2、CopyOnWriteArrayList3、CopyOnWriteArrayList4、Q原创 2022-01-10 17:19:55 · 479 阅读 · 0 评论 -
Java多线程
Java多线程什么是进程什么是线程进程与线程的区别线程的组成线程的特点创建线程1、继承Thread类,重写run方法获取和修改线程名称获取线程ID和线程名称修改线程名称案例实现2、实现Runnable接口使用匿名内部类案例实现线程状态(基本4状态)线程常用的基本方法休眠线程放弃线程加入设置进程优先级守护进程线程状态(等待)线程安全问题同步代码块同步方法同步规则死锁线程状态(堵塞)线程通信多线程通信案例实现小结 什么是进程 什么是线程 进程与线程的区别 线程的组成 线程的特点 创建线程 1、继承原创 2022-01-09 21:37:54 · 357 阅读 · 0 评论 -
Java异常
Java异常什么是异常异常的分类常见运行时异常空指针异常数组越界异常类型转换异常格式化异常算术异常异常的产生异常的传递演示异常的产生与传递异常处理关键字try...catch...try...catch...finally多重catchtry...finally...总结异常处理声明异常抛出异常自定义异常方法覆盖检查异常运行异常总结 什么是异常 异常的分类 常见运行时异常 RuntimeException以及RuntimeException的子类属于运行时异常 Exception以及Exception原创 2022-01-07 16:46:08 · 418 阅读 · 0 评论 -
Java集合
Java集合什么是集合Collection体系集合Collection父接口添加集合元素删除集合元素遍历集合判断集合List子接口新增集合元素删除集合元素遍历集合判断集合获取位置截取集合List实现类ArrayList新增集合元素删除集合元素遍历集合判断集合查找位置Vector新增集合元素遍历集合其他方法LinkList新增集合元素删除集合元素遍历集合元素判断集合获取位置泛型泛型类泛型接口泛型方法泛型集合set子接口新增集合元素删除集合元素遍历集合判断集合set实现类hashSet新增集合个数删除集合个数遍原创 2022-01-07 12:07:10 · 390 阅读 · 0 评论 -
Java内部类
Java内部类与常用类内部类内部类的分类内部类的概念成员内部类静态内部类局部内部类匿名内部类常用类Object类getclass类hashcode类型toString类equals方法finalize类包装类包装类的含义包装类对应装箱与拆箱Integer缓冲区String类String常用方法可变字符串BigDecimal类Date类Calendar类SimpleDateFormat类System类总结 内部类 内部类的分类 内部类的概念 成员内部类 使用内部类,必须先创建外部类 当然也可以原创 2022-01-05 13:43:18 · 1014 阅读 · 0 评论 -
Java接口
Java接口创建接口接口和抽象的区别接口表示能力接口规范接口的多态常见关系常量接口与标记接口接口表示标准案例接口回调接口的好处总结 创建接口 接口的使用 接口和抽象的区别 接口表示能力 创建接口 使用接口 多个接口的实现 在添加一个接口 接口规范 接口规范 接口引用 接口的多态 父类 接口1 接口2 子类 常见关系 接口与接口之间的继承 常量接口与标记接口 常量接口 标记接口 接口表示标准 案例 创建接口 创建实现类原创 2022-01-04 10:09:46 · 275 阅读 · 0 评论 -
Java三个修饰符
Java三个修饰符abstract抽象类的作用总结static静态属性静态方法静态代码块类加载总结final什么是finalfinal变量实例变量静态常量对象常量总结 abstract abstract – 不能成为创建的对象 抽象类的作用 1.不该被创建的对象 Animal是个抽象的概念,现实中没有Animal这个对象,因此它不能被创建 2.不该被创建的方法 当父类Animal中的方法无法满足我的子类的需求时,需要加上abstract 1、抽象方法必须包含在抽象类中,否则报错 2、抽象类可以原创 2022-01-03 19:34:55 · 343 阅读 · 0 评论 -
Java面向对象三大特性
Java面向对象三大特性封装什么是封装set和get方法的快速生成快捷键封装总结综合案例实现继承父类的选择与抽取父类抽取案例不可继承的部分访问修饰符方法的覆盖super的使用方法1子类对象的创建过程super的使用方法2this与super的区别多态多态的概念多态的方法覆盖多态的应用向上转型 与 向下转型类型转换异常与instanceof关键字多态总结 三大特性:封装、继承、多态 封装 什么是封装 设为私有属性 报错了 公共访问方法 可以添加两个方法,来访问私有对象 并且,可以在方法做一些限制,原创 2022-01-02 22:32:57 · 429 阅读 · 0 评论 -
Java基本语法
Java基本语法选择结构基本if结构if-else结构多重if选择结构嵌套if选择结构分支结构局部变量选择结构与分支结构的总结循环结构while循环do-whilefor循环具体应用流程控制语句嵌套循环循环结构总结方法方法的定义方法的调用方法的参数多个参数返回值return的两种用法方法总结递归方法总结数组动态获取数组长度数组的默认值数组创建语法数组排序数组倒置数组总结 选择结构 基本if结构 if-else结构 多重if选择结构 嵌套if选择结构 分支结构 局部变量原创 2021-12-30 22:35:13 · 145 阅读 · 0 评论 -
Java 类与对象
Java面向对象的操作定义类创建对象与使用对象类与对象的关系实例变量实例变量与局部变量的区别实例方法方法重载方法重载调错构造构造方法重载this关键字this的第一种使用方法this的第二种使用方法总结 定义类 创建对象与使用对象 也可以在不同类中使用 类与对象的关系 实例变量 实例变量与局部变量的区别 本类有效 实例方法 课堂案例1 课堂案例2 方法重载 根据传入的参数不同,所实现的功能也不同 其实也可以发现 System.out.println也是原创 2022-01-01 10:23:26 · 513 阅读 · 0 评论 -
Java基本操作
Java基本操作命名规范变量数据类型整型浮点数布尔型字符型字符转义字符字符串类型转换自动类型转换强制类型转换运算符算术运算符赋值运算符关系运算符逻辑运算符三目运算符自动类型升级与string拼接的类型提升控制台输入总结 命名规范 变量 数据类型 整型 浮点数 布尔型 字符型 字符 转义字符 字符串 类型转换 自动类型转换 强制类型转换 运算符 算术运算符 赋值运算符 关系运算符 逻辑运算符 三目运算符 自动类型升级 与str原创 2021-12-29 22:51:59 · 111 阅读 · 0 评论 -
Eclipse使用
Eclipse使用切换为java模式调整字体大小修改编码修改代码提示创建项目创建项目创建包创建类运行Eclipse常用快捷键 切换为java模式 第1次打开选择工作空间 切换为java模式 Windows–Perspective–Open Perspective–Java 调整字体大小 Windows–Perferences 搜索font–Appearance–Colors and Fonts–选择Basic 找到Text font 选择合适的字体大小 点击Apply and Close 修原创 2021-12-31 12:34:10 · 220 阅读 · 0 评论