<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[Don_mingo的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/Don_mingo</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; Don_mingo]]></copyright><item><title><![CDATA[IoC基础]]></title><link>https://blog.youkuaiyun.com/Don_mingo/article/details/117373855</link><guid>https://blog.youkuaiyun.com/Don_mingo/article/details/117373855</guid><author>Don_mingo</author><pubDate>Fri, 28 May 2021 20:41:03 +0800</pubDate><description><![CDATA[IoC是什么
Ioc—Inversion of Control，即“控制反转”，不是什么技术，而是一种设计思想。在Java开发中，Ioc意味着将你设计好的对象交给容器控制，而不是传统的在你的对象内部直接控制
解析IoC
IoC - 控制反转
控制： IoC容器控制对象
传统Java SE程序设计，我们直接在对象内部通过new进行创建对象，是程序主动去创建依赖对象；而IoC是有专门一个容器来创建这些对象，即由Ioc容器来控制对象的创建。
反转： 对象的获取方式反转
为何是反转？因为由容器帮我们查找及注入依赖对]]></description><category></category></item><item><title><![CDATA[重载和重写的区别]]></title><link>https://blog.youkuaiyun.com/Don_mingo/article/details/117339117</link><guid>https://blog.youkuaiyun.com/Don_mingo/article/details/117339117</guid><author>Don_mingo</author><pubDate>Thu, 27 May 2021 22:08:32 +0800</pubDate><description><![CDATA[重写(Override)：
子类继承了父类原有的方法，但有时子类并不想原封不动的继承父类中的某个方法在子类中把父类本身有的方法重新写一遍。

  Summary：
  	1. 发生在父类与子类之间
  	2. 方法名，参数列表，返回类型（除过子类中方法的返回类型是父类中返回类型的子类）必须相同
  	3. 访问修饰符的限制一定要大于被重写方法的访问修饰符（public&gt;protected&gt;default&gt;private)
  	4. 重写方法一定不能抛出新的检查异常或者比被重写方法申明更加]]></description><category></category></item><item><title><![CDATA[面向对象的特征]]></title><link>https://blog.youkuaiyun.com/Don_mingo/article/details/117339005</link><guid>https://blog.youkuaiyun.com/Don_mingo/article/details/117339005</guid><author>Don_mingo</author><pubDate>Thu, 27 May 2021 22:01:53 +0800</pubDate><description><![CDATA[1.抽象：
将一类对象的共同特征总结出来构造类的过程,包括数据抽象和行为抽象两方面。
	抽象只关注对象的那些属性和行为，并不关注这些行为的具体细节。


例：
学生有姓名，有年龄，有学号，这些都是静态特征，即属性
学生会吃饭，会睡觉，会学习，这些都是动态特征，即行为。

2.封装：
封装是把数据和操作数据的方法绑定起来,对数据的访问只能通过已定义的接口
面向对象的本质就是将现实世界描绘成一系列完全自治、封闭的对象，可以说，封装就是隐藏一切可隐藏的东西，只向外界提供最简单的编程接口。
封装给对象提供了隐藏内部]]></description><category></category></item><item><title><![CDATA[Arrays源代码]]></title><link>https://blog.youkuaiyun.com/Don_mingo/article/details/115283175</link><guid>https://blog.youkuaiyun.com/Don_mingo/article/details/115283175</guid><author>Don_mingo</author><pubDate>Sun, 28 Mar 2021 20:26:06 +0800</pubDate><description><![CDATA[JDK中util包的Arrays源代码学习Arrays的介绍Arrays的方法排序Arrays.sort()Arrays.parallelSort()并行前缀计算parallelPrefix()binarySearch()equalsequals()deepEquals()赋值fill()setAll()parallelSetAll()复制copy()copyOfRange()asList()spliteratorsteam()
Arrays的介绍
Arrays 类是 Java 中提供的一个工具类，在 ja]]></description><category></category></item><item><title><![CDATA[ArrayList源代码]]></title><link>https://blog.youkuaiyun.com/Don_mingo/article/details/115264159</link><guid>https://blog.youkuaiyun.com/Don_mingo/article/details/115264159</guid><author>Don_mingo</author><pubDate>Sun, 28 Mar 2021 16:26:17 +0800</pubDate><description><![CDATA[JDK中util包的ArrayList的源代码学习



ArrayList的介绍

ArrayList是List接口的可调整大小的数组实现。实现了所有的可选的列表的操作，并且允许包括null的所有元素。除了实现了List接口，ArrayList还提供了一些方法来操纵内部用于存储列表的数组的大小。（ArrayList大致相当于Vector，但是他是unsynchronized）

每一个ArrayList都有一个capacity(容量)，容量为用于存储列表中元素的数组的大小。它总是至少和列表大小一样大。..]]></description><category></category></item><item><title><![CDATA[1. 创建Spring Boot项目]]></title><link>https://blog.youkuaiyun.com/Don_mingo/article/details/112373118</link><guid>https://blog.youkuaiyun.com/Don_mingo/article/details/112373118</guid><author>Don_mingo</author><pubDate>Fri, 08 Jan 2021 18:36:53 +0800</pubDate><description><![CDATA[搭建环境创建Spring Boot项目
创建Spring Boot项目

搭建Spring Initializr服务器


2. 选择maven

3. 勾选依赖，就直接选择最简单的，之后再补dependency
4. Finish

5. 创建目录


简单启动
7. 启动后页面
![页面https://img-blog.csdnimg.cn/20210108183627197.png)


...]]></description><category></category></item><item><title><![CDATA[GC调优的方法]]></title><link>https://blog.youkuaiyun.com/Don_mingo/article/details/90210557</link><guid>https://blog.youkuaiyun.com/Don_mingo/article/details/90210557</guid><author>Don_mingo</author><pubDate>Tue, 14 May 2019 17:21:20 +0800</pubDate><description><![CDATA[GC调优的方法：

在我们做GC的调优之前，我们需要知道下面的事情：

多数的Java应用不需要在服务器上进行GC优化；
	多数导致GC问题Java应用，都不是因为我们参数设置错误，而是代码问题；
	在应用上线之前，先考虑将机器的JVM参数调整至最佳；
	减少创建对象的数量；
	减少使用全局变量和大对象；
	GC优化是到最后不得已才采用的手段；
	在实际使用中，分析GC情况优化代码比优化GC参数要...]]></description><category></category></item><item><title><![CDATA[GC调优是必须的嘛？]]></title><link>https://blog.youkuaiyun.com/Don_mingo/article/details/90209912</link><guid>https://blog.youkuaiyun.com/Don_mingo/article/details/90209912</guid><author>Don_mingo</author><pubDate>Tue, 14 May 2019 16:50:07 +0800</pubDate><description><![CDATA[：GC调优是必须的嘛？

更准确的说，基于Java的服务是否一定需要进行GC调优？



GC调优并非所有Java服务都必须做的事情。特别是你已经使用了下面的选项或者事实：

1.




...]]></description><category></category></item><item><title><![CDATA[Java性能调优]]></title><link>https://blog.youkuaiyun.com/Don_mingo/article/details/89316888</link><guid>https://blog.youkuaiyun.com/Don_mingo/article/details/89316888</guid><author>Don_mingo</author><pubDate>Mon, 15 Apr 2019 18:06:02 +0800</pubDate><description><![CDATA[针对Java虚拟机内存的调优，大多数都是针对特定情况。但是在实际应用中，调优很难与Java运行动态特征的实际情况和工作负载保持一致。也就是说，几乎不可能通过单纯的调优来达到消除GC的目的，我们所做的内存调优只是尽可能少的去减少内存消耗，进一步可以减少因为内存不足而引起的GC不断

真正影响Java程序性能的，就是碎片化。碎片是Java堆内存中的空闲空间，可能是TLAB剩余空间，也可能是被释放掉的具...]]></description><category></category></item><item><title><![CDATA[Java异常分类]]></title><link>https://blog.youkuaiyun.com/Don_mingo/article/details/89313331</link><guid>https://blog.youkuaiyun.com/Don_mingo/article/details/89313331</guid><author>Don_mingo</author><pubDate>Mon, 15 Apr 2019 16:56:48 +0800</pubDate><description><![CDATA[异常：就是程序运行时，发生了不被期望的事件，它阻止了程序按照程序员的预期正常执行



  异常分为Exception和Error两类，它们有着共同的父类Throwable




Error

是程序无法处理的错误，是程序运行过程中不允许出现的状况。大多数错误和代码编写者执行的操作无关，表示代码运行过程中JVM出现的问题。例如：Java虚拟机运行错误（Virtual Mac...]]></description><category></category></item><item><title><![CDATA[JAVA虚拟机学习笔记]]></title><link>https://blog.youkuaiyun.com/Don_mingo/article/details/87937165</link><guid>https://blog.youkuaiyun.com/Don_mingo/article/details/87937165</guid><author>Don_mingo</author><pubDate>Wed, 06 Mar 2019 15:44:09 +0800</pubDate><description><![CDATA[体系结构 内存模型

JVM内存区域模型



1.方法区

方法区包括存储虚拟机加载的类信息的区域和运行时常量池

虚拟机加载的类信息

类型信息：类的完整名称（eg：java.lang.String）；类的直接父类的完整名称；类的直接实现接口的有序列表（因为一个类直接实现的接口可能不止一个，因此放到有序列表中）；类的修饰符

可以看做对类的一个信息登记：比如这个类的名字叫啥，父类是谁，有没...]]></description><category></category></item><item><title><![CDATA[JAVA中静态方法和非静态方法的区别]]></title><link>https://blog.youkuaiyun.com/Don_mingo/article/details/87918386</link><guid>https://blog.youkuaiyun.com/Don_mingo/article/details/87918386</guid><author>Don_mingo</author><pubDate>Mon, 25 Feb 2019 16:17:18 +0800</pubDate><description><![CDATA[静态方法（static method）


与静态成员变量一样，属于类本身，在类装载的时候被装载到内存中，不自动进行销毁，会一直存在内存中，直到JVM关闭；


非静态方法（non-static method）


又称实例化方法，属于实例对象，实例化之后才会分配内存，必须通过类的实例来引用，当实例对象被JVM回收之后，也跟着消失



静态方法和实例方法的区别

 1.生命周期

静态方法的生命...]]></description><category></category></item><item><title><![CDATA[JAVA中堆（heap）和栈（stack）的区别]]></title><link>https://blog.youkuaiyun.com/Don_mingo/article/details/87913167</link><guid>https://blog.youkuaiyun.com/Don_mingo/article/details/87913167</guid><author>Don_mingo</author><pubDate>Mon, 25 Feb 2019 15:37:14 +0800</pubDate><description><![CDATA[在学习JVM的内存模型的时候，堆（heap）和栈（stack）是JVM的内存区域中的重要组成部分


堆（Heap）

所有的应用可以从一个系统共有的空间中申请供自己使用的内存，这个共用的空间就叫做Heap；建立对象时，在Heap中的内存实际建立这个对象，而对象实例在Heap中分配好以后，需要在Stack中保存一个4字节的Heap内存地址，用来定位该对象实例在Heap中的位置，便于找到该对象实例
...]]></description><category></category></item><item><title><![CDATA[Java不能使用New去创建对象的情况]]></title><link>https://blog.youkuaiyun.com/Don_mingo/article/details/77197794</link><guid>https://blog.youkuaiyun.com/Don_mingo/article/details/77197794</guid><author>Don_mingo</author><pubDate>Tue, 15 Aug 2017 17:35:44 +0800</pubDate><description><![CDATA[本人在学习单例模式的时候看到了这样的单例模式的创建方法：


public class SimpleSingleton {

private static SimpleSingleton singleInstance = new SimpleSingleton();

private SimpleSingleton(){

}

public static SimpleSin]]></description><category></category></item></channel></rss>