- 博客(16)
- 收藏
- 关注
原创 JVM基础简介
执行引擎包含三部分:解释器,即时编译器,垃圾回收器数据类型Java虚拟机中,数据类型可以分为两类:基本类型和引用类型。基本类型的变量保存原始值,即:他代表的值就是数值本身;而引用类型的变量保存引用值。“引用值”代表了某个对象的引用,而不是对象本身,对象本身存放在这个引用值所表示的地址的位置。基本类型包括:byte、short、int、long、char、float、double、Boolean、returnAddress引用类型包括:类类型、接口类型、数组堆和栈堆和栈是程序运行的关键,很有必.
2022-01-10 00:43:07
365
原创 Spring源码解析——依赖注入实现原理
依赖注入介绍依赖注入的概念:我们常提起的依赖注入(Dependency Injection)和控制反转(Inversion of Control)是同一个概念。具体含义是:当某个角色(可能是一个Java实例,调用者)需要另一个角色(另一个Java实例,被调用者)的协助时,在 传统的程序设计过程中,通常由调用者来创建被调用者的实例。但在Spring里,创建被调用者的工作不再由调用者来完成,因此称为控制反转;创建被调用者 实例的工作通常由Spring容器来完成,然后注入调用者,因此也称为依赖注入。其实
2021-09-14 00:52:24
498
原创 Java Web框架篇:Spring详解
为什么要有SpringWeb发展的几个阶段(1)初级阶段:使用Model1(JSP+JavaBean)/Model2(Jsp+Servlet+JavaBean)/三层模型(表示层(JSP/Servlet)+业务逻辑层+持久化层)进行开发;(2)中级阶段:使用EJB进行分布式应用开发,忍受重量级框架带来的种种麻烦;(3)高级阶段:使用Spring春天带给我们的美好,但是还要忍受很多繁琐的配置;(4)骨灰级阶段:使用Spring Boot,畅享“预定大于配置”带给我们的种种乐趣;Spring概述是
2021-09-14 00:19:08
2905
原创 JAVA参数传递的两种方式的区别:直接(值)传递和引用传递
Java中的值传递和引用传递在Java中有很多的传递方式,就比如我们今天要说的值传递和引用传递。其实在日常的学习中我们在敲代码的过程中会遇到这样一种情况1、我们传递参数到对应方法里,然后通过方法里的一系列运算,最后的原本对象的值也改变了。2、但是我们有时候对一个变量进行计算时,返回结果之后却又变成了原本的值,这并不是我们的方法不对而是没有搞清楚变量的传递规则。定义:1、值传递在方法的调用过程中,实参把它的实际值传递给形参,此传递过程就是将实参的值复制一份传递到函数中,这样如果在函数中对该值(形
2021-08-16 21:45:11
3844
原创 深拷贝和浅拷贝
clone顾名思义就是复制, 在Java语言中, clone方法被对象调用,所以会复制对象。所谓的复制对象,首先要分配一个和源对象同样大小的空间,在这个空间中创建一个新的对象。那么在java语言中,有几种方式可以创建对象呢?使用new操作符创建一个对象使用clone方法复制一个对象那么这两种方式有什么相同和不同呢? new操作符的本意是分配内存。程序执行到new操作符时, 首先去看new操作符后面的类型,因为知道了类型,才能知道要分配多大的内存空间。分配完内存之后,再调用构造函数,填充对象的各个.
2021-08-16 21:31:39
164
原创 HashMap底层原理
一:HashMap底层实现原理解析我们常见的有数据结构有三种结构:1、数组结构 2、链表结构 3、哈希表结构 下面我们来看看各自的数据结构的特点:1、数组结构: 存储区间连续、内存占用严重、空间复杂度大优点:随机读取和修改效率高,原因是数组是连续的(随机访问性强,查找速度快)缺点:插入和删除数据效率低,因插入数据,这个位置后面的数据在内存中都要往后移动,且大小固定不易动态扩展。2、链表结构:存储区间离散、占用内存宽松、空间复杂度小优点:插入删除速度快,内存利用率高,没有固定大小,扩展灵活
2021-08-15 19:57:33
239
原创 JAVA专题篇(IO)
Java Io原理IO流用来处理设备之间的数据传输,Java程序中,对于数据的输入/输出操作 都是以“流”的方式进行的。java.io包下提供了各种“流”类的接口,用以获取不同种类的数据,并通过标准的方法输入或输出数据。对于计算机来说,数据都是以二进制形式读出或写入的。我们可以把文件想象为一个桶,我们可以通过管道将桶里的水抽出来。这里的管道也就相当于Java中的流。流的本质是一种有序的数据集合,有数据源和目的地。1、流的概念和作用流:代表任何有能力产出数据的数据源对象或者是有能力接受数据的接收端对象
2021-08-07 21:18:19
194
原创 JAVA专题篇(集合与映射)
一.集合Java的集合主要有List , Set, Map其中 List , Set 继承至Collection接口,Map为独立接口List下有ArrayList,LinkedList,VectorSet下有HashSet,LinkedHashSet,TreeSetMap下有HashMap,LinkedHashMap, TreeMap,Hashtable1.集合和数组的区别:2.Collection集合的方法:3.常用集合的分类:Connection接口:1.Lis
2021-08-07 12:54:26
301
原创 JAVA基础篇:常见的系统类
一.java.util.Date类两个构造器的使用:Date():创建一个对应当前时间的Date对象Date(long date):创建一个指定毫秒数的Date对象两个方法的使用:toString():显式当前的年月日时分秒getTime():获取当前对象时毫秒数(时间戳)public void test2(){ //构造器一:Date():创建一个对应当前时间的Date对象 Date date1 = new Date(); System.out.println(dat
2021-07-29 23:06:24
757
原创 JAVA基础篇:异常处理
一、Java异常简介在使用计算机语言进行项目开发的过程中,即使程序员把代码写得尽善尽美,在系统的运行过程中仍然会遇到一些问题,因为很多问题不是靠代码能够避免的。比如: 客户输入数据的格式, 读取文件是否存在, 网络是否始终保持通畅等等。什么是异常?程序运行时,发生的不被期望的事件,它阻止了程序按照程序员的预期正常执行,这就是异常。异常发生时,是任程序自生自灭,立刻退出终止。在Java中即,Java在编译或运行或者运行过程中出现的错误。Java提供了更加优秀的解决办法:异常处理机制。异常处理机制
2021-07-25 23:03:25
197
原创 JAVA基础篇:面向对象的三大特征
Java面向对象的三大特性总结(封装、继承、多态)Java面向对象编程作为一种编程思想,有三大特性,封装,继承,多态。对于一个类而言, 如何封装 呢?继承是父类和子类的关系, 继承关系如何实现的呢?父类和子类继承时的方法体是怎么样的关系呢?多态是多个类之间的关系,类有不同的行为和属性,其他类也有这样的方法和属性,就实现了多态的关系,不同类的多态实现是怎么样实现的呢?一、封装1、概念:将类的某些信息隐藏在类内部,不允许外部程序直接访问,而是通过该类提供的方法来实现对隐藏信息的操作和访问。2、好处:
2021-07-22 22:32:04
145
原创 JAVA基础篇:面向对象
一.类与对象的基本概念类与对象是整个面向对象中最基础的组成单元。**类:**是抽象的概念集合,表示的是一个共性的产物,类之中定义的是属性和行为(方法);**对象:**对象是一种个性的表示,表示一个独立的个体,每个对象拥有自己独立的属性,依靠属性来区分不同对象。可以用一句话来总结出类和对象的区别:类是对象的模板,对象是类的实例。类只有通过对象才可以使用,而在开发之中应该先产生类,之后再产生对象。类不能直接使用,对象是可以直接使用的。二.类与对象的关系什么是对象面向对象程序设计(OOP)就是使用对
2021-07-19 21:32:10
155
原创 哈希算法以及哈希表(Hash table,也叫散列表)
hash 英 [hæʃ] 美 [hæʃ]n. 剁碎的食物;混杂,拼凑;重新表述vt. 搞糟,把…弄乱;切碎;推敲n. (Hash)人名;(阿拉伯、保、英)哈什;(西)阿什
2021-07-19 18:20:58
678
原创 JAVA基础篇:基础排序算法
冒泡排序法:原理简介:从前向后(或从后向前)依次比较相邻的元素,若发现逆顺序,则交换。小的向前换,大的向后换,像水底的气泡逐渐向上冒,顾名思义冒泡排序法。通俗一点就是把大的往上挪!!!像冒泡一样。是交换式排序法的一种。(冒泡排序法效率较低)冒泡排序法思路:1:外层循环:控制它要走多少次。假设你有5个数,那就要走4次,最后一次不用走,最后那个数已经在它位置了所以就要length-1次。2:内层循环:控制逐一比较,如果发现前一个数比后一个数大,则交换。注意!因为越比较长度就越小了,所以长
2021-07-16 18:43:26
85
原创 JAVA基础篇:函数总结
函数概述我们在编写程序中会遇到很多重复的代码,而为了提高代码的复用性,就把该功能独立封装成一段独立的小程序,当下次需要执行加法运算的时候,就可以直接调用这个段小程序即可,那么这种封装形形式的具体表现形式则称作函数。返回值类型: 运行这段程序得出的一个运算结果,结果类型,如果函数没有返回值则用void来表示该函数没有返回值。函数名:仅仅是一个标识符,可以随意起名字。形式参数:是一个变量,用于存储调用函数传递进来的实际参数。实际参数:传递给形式参数的具体数值。返回值:返回...
2021-07-16 15:46:24
342
原创 JAVA基础篇:程序控制流程
流程控制概述 :在一个程序执行的过程中,各条语句的执行顺序对程序的结果是有直接影响的。也就是说程序的流程对运行结果有直接的影响。所以,我们必须清楚每条语句的执行流程。而且,很多时候我们要通过控制语句的执行顺序来实现我们要完成的功能。顺序结构:程序从上到下逐行地执行,中间没有任何判断和跳转。顺序结构是程序中最简单最基本的流程控制,没有特定的语法结构,按照代码的先后顺序,依次执 行,程序中大多数的代码都是这样执行的。总的来说:写在前面的先执行,写在后面的后执行。分支结构 :1. 根据..
2021-07-10 23:20:51
66
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人