![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java学习
文章平均质量分 87
we are peers
这个作者很懒,什么都没留下…
展开
-
重拾Java之路-类加载
类加载类加载机制定义类加载过程引申加载验证准备解析初始化类加载器分类启动类加载器扩展类加载器应用程序(系统)类加载器自定义加载器双亲委派模型优势JVM两个class对象是否为同一个类对象的必要条件自定义类加载器应用参考类加载机制定义Java虚拟机把描述类的数据从Class文件加载到内存,并对数据进行校验、转换解析和初始化,最终形成可被虚拟机直接使用的Java类型,这就是虚拟机的加载机制。类加载过程类加载过程主要分为三个部分:加载;链接;初始化;其中链接可以细分为 验证、准备和解析 三转载 2021-04-15 17:01:44 · 112 阅读 · 0 评论 -
Java学习笔记-JVM垃圾回收
java基础7二、垃圾回收机制(GC)判断对象是否可被回收1. 引用计数算法2. 可达性分析算法Java的引用类型1. 强引用2. 软引用3. 弱引用4. 虚引用5. 终结器引用(不推荐)垃圾回收算法标记清除标记整理复制分代的垃圾回收机制(实际方式)垃圾回收器二、垃圾回收机制(GC)垃圾回收主要针对堆与方法区(比较少)来进行。判断对象是否可被回收1. 引用计数算法为对象添加一个引用计数器,引用计数为0的对象可被回收。存在的问题:如果两个对象出现循环引用时,无法被回收(a引用b对象,b对象引用a对原创 2021-04-13 17:18:17 · 95 阅读 · 0 评论 -
Java学习笔记-JVM参数
java基础8三、JVM参数类型XX参数(example)Boolean类型KV设置类型参数查询方法一方法二内容源自阳哥的视频教学三、JVM参数类型标配参数:基本不变X参数:变化比较小XX参数(重点):相对不稳定,用于JVM调优和DebugXX参数(example)Boolean类型-XX:+/- [name]PrintGCDetailsUseSerialGCKV设置类型-XX:[name]=valueMetaspaceSize(≈21m,理论上可以设置得更大,防止出现原创 2021-04-05 18:00:24 · 106 阅读 · 1 评论 -
Java多线程学习
Java多线程线程方法比较run与startwait,sleep与yield线程关键字Synchronized底层实现线程方法比较run与startstart方法用于线程的启动;只能调用一次,底层由C实现。run方法用于执行线程的运行时代码(线程干的活);可重复调用。wait,sleep与yieldwait定义在Object中,用于线程间通信(使线程进入无限期等待),只能用于同步块/方法中;在让出CPU的同时,释放所占用的同步资源锁。sleep是Thread的静态方法, 可用于任何地方;原创 2021-04-05 10:42:57 · 143 阅读 · 1 评论 -
操作系统笔记
操作系统死锁产生死锁的四个必要条件1. 互斥条件2. 请求和保持条件3. 不剥夺条件4. 环路等待条件死锁与数据库常见情况与解决方案事务之间对资源访问顺序的交替并发修改同一记录索引不当导致全表扫描分布式锁进程间通信方式Linux操作常用命令什么是安装Linux所需的最小分区数量,如何查看系统启动信息?Linux机器上跟踪系统事件的守护进程名?死锁定义: 是进程死锁的简称,指多个进程循环等待它方占有的资源而无限期僵持下去的局面。产生死锁的四个必要条件1. 互斥条件进程对所分配到的资源进行排它性使用。原创 2021-03-26 19:04:17 · 55 阅读 · 0 评论 -
Java学习笔记-JVM运行时数据区域
Java基础篇6Java 虚拟机Java 虚拟机转载 2021-03-17 09:20:00 · 70 阅读 · 0 评论 -
数据库
数据库1一、隔离级别未提交读提交读可重复读可串行化二、范式第一范式第二范式第三范式BCNF三、索引B Tree特性查询规则插入规则删除规则B+ Tree与B树的不同点查找规则插入规则删除规则B+ Tree 的优势红黑树简介性质简介与红黑树的比较MySQL索引官方建议使用自增长主键作为索引索引的分类索引的优点聚簇索引与非聚簇索引聚簇索引的优劣优势劣势一、隔离级别未提交读事务中的修改,即使没有提交,对其它事务也是可见的。出现的问题:脏读,不可重复读,幻影读;提交读一个事务只能读取已经提交的事务所作的原创 2021-03-11 21:26:28 · 267 阅读 · 0 评论 -
重拾Java之路-I/O
Java基础篇7一、概览二、磁盘操作三、字节操作四、字符操作编码与解码五、对象操作六、网络操作七、新的输入/输出两者的区别通道与缓冲区通道类型同步与异步(本人询问,老板回复的方式)阻塞与非阻塞(本人后续的操作)5种I/O模型阻塞IO模型非阻塞IO模型多路复用IO模型信号驱动IO模型异步IO模型一、概览java的I/O大概分成以下几类:磁盘操作:File;字节操作:InputStream 和 OutputStream;字符操作:Reader 和 Writer;对象操作:Serializable;转载 2021-03-10 17:03:05 · 108 阅读 · 1 评论 -
Java视频学习笔记-多线程
Java视频学习笔记程序、进程和线程线程的分类线程的生命周期创建线程的方式程序、进程和线程程序:完成某个任务的指令集合,是一段静态代码;进程:是程序的一次执行过程,表示一个正在运行的程序。(资源分配的最小单位)线程:是一个程序内部的一条执行路径,拥有独立的程序计数器,虚拟机栈和本地方法栈。(CPU调度的最小单位)一个Java应用程序,最少包含三个线程:main()主线程,gc()垃圾回收线程以及异常处理线程。线程的分类守护线程,用户线程。两者的唯一区别是判断JVM何时离开。调用 thr原创 2021-03-08 20:54:57 · 62 阅读 · 0 评论 -
Java视频学习笔记-面向对象-抽象与接口
Java视频学习笔记abstract抽象类:抽象方法:注意点Interface注意点抽象类与接口abstract可以修饰 类 与 方法。抽象类:不能被实例化一定包含构造器,以便子类实例化时的调用抽象方法:抽象方法只有方法的声明,没有方法体。抽象类不一定包含抽象方法,但是抽象方法只会存在于抽象类中。若子类没有重写父类的抽象方法,则子类也是抽象类。注意点abstract 不能用于修饰 属性,构造器等结构。abstract不能用于修饰私有方法、静态方法(不能重写)、final方法以原创 2021-03-03 21:26:56 · 97 阅读 · 1 评论 -
重拾java之路-集合
Java基础篇4HashMapHashMap遍历Map中的元素时,使用 entrySet() 方法得到的是Map.Entry<type, type> 对象,使用getKey(),getValue() 方法来获取键值对。关于Java8中的流特性:将 entrySet() 方法获得的流对象使用链式操作后,得到的是 Optional 对象,其中封装了Map.Entry对象。...转载 2021-03-01 20:14:47 · 85 阅读 · 0 评论 -
重拾Java之路-异常与多线程简述
Java基础篇4异常处理日志多线程编程简述异常处理Java 异常包含两种类型:一种为 Error,描述Java程序运行时系统的内部错误,通常为虚拟机异常: StackOverflowError,OutOfMemoryError,NoClassDefFoundError等。一种为 exception,包含了 RuntimeException 和其他异常(受查异常:IOException)。受查异常在编译阶段就会进行检测,使用 throws关键字或 try-catch-finally 语句块来进行处理转载 2021-02-27 22:48:53 · 102 阅读 · 0 评论 -
重拾Java之路-排序算法
排序算法归并排序快速排序堆排序归并排序时间复杂度O(nlogn),空间复杂度O(nlogn)算法描述:对单个数组进行拆分得到两个子数组,并新建一个相同大小数组,然后从两个子数组中选择相对较小的元素插入新数组,直到两个子数组都被选完。递归使用该方法,直到序列有序。算法实现细节:需要对所有元素进行拆分,由于子数组有长有短,多余的部分全部复制到新数组中。/* * * 归并排序 * 时间复杂度为 O(nlogn),空间复杂度为O(nlogn) * * *原创 2021-02-10 20:58:55 · 71 阅读 · 0 评论 -
重拾Java之路-面向对象特性
Java基础篇3五、Object通用的方法equals等价于相等的区别hashcodetoStringclone六、继承访问权限抽象类与接口关于两者的比较五、Object通用的方法equals功能描述:判断两个对象是否等价。对于等价的定义:自反性(自身等价)对称性(相互等价)传递性(传递等价)一致性(多次调用结果不变)任何非null对象与null比较的结果都是false等价于相等的区别对于基本类型, 直接使用 == 来判断是否相等,无equals方法。对于引用类型, == 用于判转载 2021-02-03 22:01:46 · 76 阅读 · 0 评论 -
Java & Leetcode
二分查找一、常规二分查找1. 查找法2. 排除法3. 递归版本的查找法二、寻找旋转排序数组的最小值1、无重复元素2、 可能包含重复元素三、搜索旋转排序数组1、无重复元素2、可能包含重复元素四、山脉数组1、山脉数组的峰顶索引2、山脉数组中查找目标值记录leetcode关于二分查找的题目二分法的基本思想都是 减而治之一、常规二分查找1. 查找法public int IterativeBS(int[] nums, int target){ // 应用的是查找的思想 int原创 2020-12-21 15:45:23 · 63 阅读 · 0 评论 -
Java & leetcode
Java常用集合ArrayListLinkedListHashSetHashMap记录leetcode编程时常用的集合类ArrayList描述:可以动态增长与缩减的索引序列。适用场合:由于依据动态数组的实现,该类适用于尾部插入删除与索引查找,同时在数据量比较大的时候,空间开销相对于LinkedList会小很多。LinkedList描述:可以在任何位置进行高效插入与删除操作的有序序列。适用场合:依据双向链表实现,该类适用于插入与删除操作,以及首尾的查找。HashSet描述:没有重复元素的无序原创 2020-12-15 15:42:22 · 128 阅读 · 0 评论 -
重拾java之路-关键字
Java基础篇2三、运算参数传递隐私类型转换四、关键字final1.数据2.方法3.类static1.静态变量2.静态方法3.静态语句块4.静态内部类5.静态导包6.初始化顺序三、运算参数传递Java 参数是以值传递的形式传入方法,而非引用传递。(对于对象,传递的则是引用的地址值)在方法中改变对象的字段值会改变原始对象的字段值,因为引用的是同一个对象。而如果在方法中将指针引用了其它对象,则该指针作用域仅限于该方法。(这也是Java值传递带来的结果)public class PassByValueE转载 2020-11-22 17:37:42 · 88 阅读 · 0 评论 -
重拾Java之路
Java学习记录一一、 数据类型基本类型与包装类型缓存池二、StringString,StringBuffer与StringBuilderString Pool一、 数据类型基本类型与包装类型对于基本类型,需要注意的是boolean类型只有两个值,使用1bit来存储。JVM会在编译的时候将其转化为int。 JVM支持boolean数组,但是是以读写byte数组来实现的。关于包装类型:由于Java是面向对象的,包装类型可以看成是对基本类型的对象的引用,直观一点的看法就是,对于容器来说,包装类型是可以直转载 2020-11-20 20:58:54 · 74 阅读 · 0 评论