java基础
helloses
这个作者很懒,什么都没留下…
展开
-
MyBatis进阶
MyBatis表关系设计,动态sql和缓存机制原创 2022-04-17 23:30:02 · 749 阅读 · 0 评论 -
MyBatis基础原理
MyBatis原理,运行流程,日志,生命周期和作用域原创 2022-04-17 18:01:42 · 2527 阅读 · 0 评论 -
MailSSLSocketFactory报红的解决方法
MailSSLSocketFactory报红的解决办法原创 2022-04-09 19:41:07 · 1051 阅读 · 0 评论 -
Java类加载器
一个语言学习的历程是语法、生态、底层。JVM虚拟机的类加载器,在加载类时,会经过:加载、验证、解析。jdk8前,类的元信息,常量池,静态方法等,都在“永久代”这种实现方式内。8以后, 常量池、静态方法移到堆中,“永久代” 被“元空间(只存元信息)”替代。方法区是一种概念(说法,指的是“永久代”或“元空间”。类加载时,虚拟机会对类做什么解析:把类中的“符号引用”变成“直接引用:”A类加载时是符号引用,加载中如果用到B的资源,就唤醒B(让B加载)。实现直接引用。多态时,用动态解析来后期绑定:原创 2022-03-31 23:45:35 · 273 阅读 · 0 评论 -
MySql详解
1.插入百万条大数据2.事务流程3.索引测试4.引擎分析等原创 2022-03-31 14:39:56 · 993 阅读 · 0 评论 -
JavaSE阶段考试总结
switch底层判断时,case "null"实际是param.equals("null")原创 2022-03-18 12:08:05 · 397 阅读 · 0 评论 -
GUI编程总结
GUI编程(图形用户界面接口:Graphical User Interface),共分为AWT和Swing两大类.AWT继承Frme,主要可以设置可见性,颜色,位置大小和可调整大小等原创 2022-03-18 11:14:17 · 431 阅读 · 0 评论 -
GUI多线程聊天室
1.主要就是三个按纽的功能,实现了"连接"和"发送"后,基本就大功造成了2.画图时"用户列表"用JList列表来实现3.在连接完成后,就要开启一个线程,来"接收消息"4.定时器实时监听,聊天消息的条数,是否超标5.客户端和服务端的代码,耦合度极高,可以写在一个类中原创 2022-03-18 09:34:09 · 472 阅读 · 0 评论 -
网络编程整体总结
TCP(三次握手,四次挥手.适合聊天业务)协议=IP协议.TCP也是套接字编程UDP适合于短信业务原创 2022-03-16 20:06:33 · 539 阅读 · 0 评论 -
反射操作类成员
获取私有的成员获取构造函数对象,方法运行和修改字段值等原创 2022-03-16 16:54:52 · 209 阅读 · 0 评论 -
静态代理设计模式
1. 静态代理就是用户和代理类都实现接口的方法.2. 但是代理类的代理方法中,是调用用户对象的,代理方法原创 2022-03-16 13:03:45 · 397 阅读 · 0 评论 -
动态代理的简单理解和使用方法
动态代理是根据运行时的反射机制来实现.代理类是动态生成的.- 类似于代购:代理类只做代理一件事情,无论上下游是谁.1. 好处是代理类代理的是接口,一般就是一类业务:如中间商代理雅诗兰黛的化妆品.2. 另外代理类可以代理多个类,只要实现接口就可以了:中间商可以有很多客户,只要客户要的是雅诗兰黛的化妆品原创 2022-03-16 11:47:06 · 617 阅读 · 0 评论 -
IO流整体总结
1. 首先是所有字节流的超类:InputStream和OutputStream.2. 接着是操作文件的子类:FileInputStream和FileOutputStream.3. 在它们之上有个字节高级缓冲流:BufferedInputStream和BufferedOutputStream.原创 2022-03-16 09:21:16 · 158 阅读 · 0 评论 -
递归删除文件
1.得到文件夹中的所有文件2.如果还是文件夹就递归:调用自身3.不是就删除里面的文件4.所有文件夹的文件都被删除后5.最后删除整个文件夹原创 2022-03-15 22:57:25 · 1387 阅读 · 0 评论 -
FileFilter文件过滤接口:规定只返回特定的文件
按照文件格式或文件名过滤文件原创 2022-03-15 22:52:21 · 210 阅读 · 0 评论 -
File类操作文件和文件夹
1.增删改查文件及文件信息,判断文件属性等.2.创建文件夹,读取文件夹内文件等原创 2022-03-15 22:50:22 · 332 阅读 · 0 评论 -
桥转换流,打印流和配置文件流
高级流:都需要底层流支持,在其基础上增强功能转换流:桥转换流:内存和硬盘间,进行字节和字符间互相转换的流1. 字符编码:编码与解码格式不一时,乱码.2. UTF-8万国码,一个汉字三个字节原创 2022-03-15 22:44:04 · 1144 阅读 · 0 评论 -
字符流和字符缓冲流
只能操作文件:因为图片,视频等二进制文件的0,1转换成字符后会乱码原创 2022-03-15 22:30:07 · 328 阅读 · 0 评论 -
对象流ObjectOutpuStream和ObjectInputStream
序列化:对象存储到存储设备中.反序列化:从存储设备中读取出来.1. 需要操作文件的流支持.2. 不可追加,只能覆盖原创 2022-03-15 22:20:51 · 371 阅读 · 0 评论 -
字节缓冲流BufferedInputStream和BufferedOutputStram
1.可以一次操作大量数据.2.底层有一个默认为8192字节大小缓冲区.3.需要底层流InputStream,OutputStream支持.4.可以自定义缓冲区大小.原创 2022-03-15 21:59:15 · 413 阅读 · 0 评论 -
文件字节输入输出流
数据借助流传输:1. 输入流:将<存储设备>中的内容读入到内存中.2. 输出流:将<内存>中的内容写入到<存储设备>中.3. 文件 -> Input -> 程序 -> Output -> 文件.原创 2022-03-15 21:49:44 · 722 阅读 · 0 评论 -
集合框架和泛型总结
1. 集合分为两大体系:Collection和Map.2. **Collection下又分为List和Set两大体系**3. Map主要就是HashMap和TreeMap.4. 都是HashSet和TreeSet的键值对版本原创 2022-03-14 14:34:59 · 791 阅读 · 0 评论 -
Collctions操作集合的工具类
1.不能存取.2.主要做算法原创 2022-03-14 12:25:19 · 428 阅读 · 0 评论 -
TreeMap的使用和底层
1.TreeMap在SortedMap接口下.2.TreeSet底层也是调用的TreeMap.3.用法和TreeSet一样,不过变成键值对.4.可以用定制比较器原创 2022-03-14 12:09:57 · 462 阅读 · 0 评论 -
HashMap使用和源码分析
1.初始容量16,加载因子0,752.链表长度>8,数组length>64:变成红黑树(查找速度特别快)3.链表长度<6时重新变回链表4.底层是个单向链表:Node对象中只有next.5.put()调用putVal(),初始table和size都是0.6.将默认大小给newCap,创建新数组,赋值给table7.用hash()找个位置添加元素.原创 2022-03-14 11:38:31 · 651 阅读 · 0 评论 -
Comparator定制比较器
TreeSet存储对象元素的第二种方法,可以不让元素实现Comparable接口了原创 2022-03-14 10:53:37 · 133 阅读 · 0 评论 -
TreeSet红黑树结构
1.存进去无序,但是取出来时会有排序(红黑树算法).2.这个集合在SortedSet接口下.原创 2022-03-14 10:44:05 · 754 阅读 · 0 评论 -
HashSet判断重复项原理
存储过程:1. 先用hashCode计算存到哪个位置,为空直接保存.2. 再用equals判断是否重复.3. 不重复就串一个单向链表.原创 2022-03-14 10:32:46 · 948 阅读 · 0 评论 -
泛型使用和原理
1.泛型基本可以作用在所有类的成员上:类上,传参,变量和返回值.2.允许同时存在多个,可以随便写.3.常规是大写的T(type),E(element),K(key),V(value)等.4.本质是一种类型.分为:泛型类,泛型接口,泛型方法和泛型集合.原创 2022-03-14 10:00:10 · 178 阅读 · 0 评论 -
LinkedList源码分析
1.主要是有first和last两个默认Node对象.2.prev和next分别指向上一下和下一个Node对象.3.默认往最后面添加新元素,4.将对象的first和next作为链头和链尾,连接上链表.原创 2022-03-13 22:55:16 · 509 阅读 · 0 评论 -
ArrayList使用及源码分析
ArrayList源码分析:1.默认容量为0.2.但是add方法会调用ArrayS.copyOf()3.创建一个新的数组来变相扩容原数组4.扩容1.5倍:oldCapacity + (oldCapacity >> 1)原创 2022-03-13 20:48:05 · 697 阅读 · 0 评论 -
List集合和专属迭代器
有下标所以有序:1. 注意导包:util包下.2. 他有一个子类(CopyOnWriteArrayList)是线程安全的ArrayLis原创 2022-03-13 19:39:51 · 594 阅读 · 0 评论 -
集合框架Collection的使用和原理
集合表示一组被称为其元素的对象。 它提供了更具体的子接口的实现,如`Set`和`List` 。在需要最大的通用性的情况下对其进行操作。原创 2022-03-13 19:12:43 · 590 阅读 · 0 评论 -
数学相关常用类
1. 和数学相关的就去Math类.2. Random专门做随机数.3. UUID是唯一随机数.4. BigInteger大整数:比long大,-2的63次方 ~ 2的63次方-1.5. DecimalFormat格式化小数位数的类.原创 2022-03-11 11:03:27 · 282 阅读 · 0 评论 -
System底层原理与Runtime操作堆内存空间
Runtime类:操作堆内存空间1.保留区,可用区和当前区都是以字节为单位的.2.三者共同构成了堆内存.3.互相可变.原创 2022-03-11 10:57:25 · 657 阅读 · 0 评论 -
Calendar(月历)和SimpleDateFormat
月份为什么从0开始计算:外国从没有一月,二月的概念,为了和计算机规范偶合,所以从0开始原创 2022-03-11 10:34:42 · 377 阅读 · 0 评论 -
Date日期时间类
Date为什么时间从1970年开始计算1. 那年Unix系统面世,java起源.2. 当时32位操作系统,时间表示也是32位,最多表示2147483647秒(68年)原创 2022-03-11 10:29:16 · 709 阅读 · 0 评论 -
BIgDecimal精确存储常用方法
浮点值是近似值存储,BigDecimal解决浮点值精度丢失的问题原创 2022-03-11 10:06:16 · 550 阅读 · 0 评论 -
字符串常用方法
字符串常用方法:首字符变大写原创 2022-03-11 10:02:17 · 68 阅读 · 0 评论 -
字符串和StringBuffer,StringBuilder使用和底层原理
1.修改字符串值时,改变的是他的地址.2.是在字符串池中开辟一块新空间.原创 2022-03-11 09:58:43 · 194 阅读 · 0 评论