![](https://img-blog.csdnimg.cn/20190927151026427.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
Java学习笔记
文章平均质量分 90
记录学习过程,总结学到的知识
&岁月不待人&
每一个优秀的人,都有一段沉默的时光,那段时光是付出了很多努力的,却得不到结果的日子,我们把它叫做扎根。
展开
-
Java 类的加载流程
指的是将类的.class 文件中的二进制数据读入到内存中,将其放在运行时数据区的方法区内,然后在堆区创建一个 java.lang.Class 对象,用来封装类在方法区内的数据结构。类从被加载到虚拟机内存中开始,到卸载出内存为止,它的整个生命周期包括:、使用和卸载七个阶段。原创 2024-01-30 18:41:58 · 1832 阅读 · 0 评论 -
JVM运行原理详解(个人面试总结)
1.java自动管理堆(heap)和(栈),程序员不能直接的设置堆和栈。2.为什么jvm的内存是分布在操作系统的堆中呢??因为操作系统的栈是操作系统管理的,它随时会被回收,所以如果jvm放在栈中,那java的一个null对象就很难确定会被谁回收了,那gc的存在就一点意义都莫有了,而要对栈做到自动释放也是jvm需要考虑的,所以放在堆中就最合适不过了。3.操作系统的堆和栈:堆(操作系统):一般由程序员分配释放,若程序员不释放,程序结束时可能由OS回收,分配方式类似于链表。栈(操作系统):由操作系原创 2022-10-25 11:53:29 · 1135 阅读 · 0 评论 -
Java集合类--超详细整理
目录1.什么是Java集合类?1.1 什么是Java集合API?1.2什么是Iterator?2.集合和数组的区别3.Collection集合的方法4.常用集合的分类(总结)4.1List和Set集合详解4.2 Map详解由于近期面试都或多或少提到了集合类,可见其重要性和实用性,于是结合以前的知识,参考了一些博客和贴吧论坛,整理了以下笔记并且优化了以下排版,有一些简单易懂的图片也借鉴了一下,主要讲解的是各个具体实现类的特性,结构优缺点等等。本文用于学习交流,若有不足之..原创 2020-06-04 21:16:10 · 797 阅读 · 0 评论 -
设计模式概念目的及七大原则基本介绍
1.设计模式概念:对软件开发过程中普遍存在的各种问题所提出的解决方案。2.设计模式的目的是程序拥有更好的:1)代码重用性2)可读性3)可扩展性4)可靠性5)使得程序高内聚低耦合3.设计模式七大原则1.单一职责原则2.接口隔离原则3.依赖倒置原则4.里氏替换原则5.开闭原则6.迪米特原则7.合成复用原则3.1 单一职责原则对类来说,即一个类只负责一项职责。提高类的可读性,可维护性,降低变更引起的风险。比如用于汽车在公路行驶,飞机在天空原创 2020-05-22 11:20:18 · 526 阅读 · 0 评论 -
进程,线程,多线程及其实现
一、什么是进程?电脑中时会有很多单独运行的程序,每个程序有一个独立的进程,而进程之间是相互独立存在的。比如下图中的QQBrowser、TIM,任务管理器等等。二、什么是线程?进程想要执行任务就需要依赖线程。换句话说,就是进程中的最小执行单位就是线程,并且一个进程中至少有一个线程。那什么是多线程?提到多线程这里要说两个概念,就是串行和并行,搞清楚这个,我们才能更好地理解多线程。...转载 2020-04-18 22:49:37 · 290 阅读 · 0 评论 -
顺序查找与折半查找(Java)
从表中最后一个记录开始,逐个进行记录的关键字和给定值的比较,若某个记录的关键字和给定值比较相等,则查找成功,找到所查记录;反之,若直值第一个记录,其关键字和给定值比较都不想等,则表明表中没有所查记录,查找失败。假设Array[start , ... , end]为当前的查找区间,首先确定该区间的中间位置,即mid = (start + end) / 2;备注:查找速度慢,平均查找长度为 (n + 1) / 2,时间复杂度为 O(n)。备注:对于有n个记录的查找便进行折半查找的时间复杂度为O(logn)。原创 2022-10-25 11:32:21 · 168 阅读 · 0 评论 -
个人整理——排序算法及其代码实现
(1)冒泡排序冒泡排序就是把小的元素往前调或者把大的元素往后调。比较是相邻的两个元素比较,交换也发生在这两个元素之间。所以,如果两个元素相等,我想你是不会再无聊地把他们俩交换一下的;如果两个相等的元素没有相邻,那么即使通过前面的两两交换把两个相邻起来,这时候也不会交换,所以相同元素的前后顺序并没有改变,所以冒泡排序是一种稳定排序算法。(2)选择排序选择排序是给每个位置选择当前元素最小...原创 2020-03-12 23:33:33 · 214 阅读 · 0 评论 -
Java学习——基础篇(一)
什么是JavaJava是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程。Java的三大性质:继承,封装和多态JVM、JRE和JDK的关系JVMJava Virtual Mac...原创 2020-03-12 23:32:20 · 189 阅读 · 0 评论 -
Java学习——基础篇(三)
Java基础知识三1.流程控制语句break,continue和·return的区别break 跳出总上一层循环,不再执行循环(结束当前的循环体)continue 跳出本次循环,继续执行下次循环(结束正在执行的循环 进入下一个循环条件)return 程序返回,不再执行下面的代码(结束当前的方法 直接返回)在 Java 中,如何跳出当前的多重嵌套循环在Java中,要想跳出多重...转载 2020-03-12 23:32:52 · 146 阅读 · 0 评论 -
Java学习——基础篇(二)
Java基础知识--- 本文用于学习Java的笔记记录总结,学习时参考了多个大佬的博客,若有冒犯,可联系我,知晓后第一时间删除。---1,数据类型基本数据类型:整点类型:byte,short,int,long 浮点类型:float,double 字符型(char) 布尔型(boolean)引用数据类型类class 接口interface 数组[]2.Java...转载 2020-03-12 23:32:39 · 185 阅读 · 0 评论