<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[AJPFX的博客]]></title><description><![CDATA[]]></description><link>https://blog.csdn.net/AJPFX</link><language>zh-cn</language><generator>https://blog.csdn.net/</generator><copyright><![CDATA[Copyright &copy; AJPFX]]></copyright><item><title><![CDATA[AJPFX浅析Java内存结构]]></title><link>https://blog.csdn.net/AJPFX/article/details/90477378</link><guid>https://blog.csdn.net/AJPFX/article/details/90477378</guid><author>AJPFX</author><pubDate>Thu, 23 May 2019 11:32:06 +0800</pubDate><description><![CDATA[Heap(堆)：实例分配的地方，通过-Xms与-Xmx来设置
MethodArea(方法区域)：类的信息及静态变量。 对应是Permanet Generation, 通过-XX：PermSize来设置
JavaStack(java的栈)：虚拟机只会直接对Javastack执行两种操作：以帧为单位的压栈或出栈。通过-Xss来设置， 若不够会抛出StackOverflowError
ProgramC...]]></description><category></category></item><item><title><![CDATA[AJPFX浅析Java数组]]></title><link>https://blog.csdn.net/AJPFX/article/details/90477323</link><guid>https://blog.csdn.net/AJPFX/article/details/90477323</guid><author>AJPFX</author><pubDate>Thu, 23 May 2019 11:30:11 +0800</pubDate><description><![CDATA[数组(array)是相同类型变量的集合，可以使用共同的名字引用它。数组可被定义为任何类型，可以是一维或多维。数组中的一个特别要素是通过下标来访问它。数组提供了一种将有联系的信息分组的便利方法。注意：如果你熟悉C/C++，请注意， Java数组的工作原理与它们不同。
1、数组不是集合，它只能保存同种类型的多个原始类型或者对象的引用。数组保存的仅仅是对象的引用，而不是对象本身。
2、数组本身就是对象，...]]></description><category></category></item><item><title><![CDATA[AJPFX关于JDK,JRE,JVM的区别与联系]]></title><link>https://blog.csdn.net/AJPFX/article/details/90477265</link><guid>https://blog.csdn.net/AJPFX/article/details/90477265</guid><author>AJPFX</author><pubDate>Thu, 23 May 2019 11:28:00 +0800</pubDate><description><![CDATA[很多朋友可能跟我一样，对JDK,JRE,JVM这三者的联系与区别，一直都是模模糊糊的。
今天我们来整理下三者的关系。

JDK : Java Development ToolKit(Java开发工具包)。JDK是整个JAVA的核心，包括了Java运行环境（Java Runtime Envirnment），一堆Java工具（javac/java/jdb等）和Java基础的类库（即Java API 包...]]></description><category></category></item><item><title><![CDATA[AJPFX辨析GBK和UTF8的区别]]></title><link>https://blog.csdn.net/AJPFX/article/details/90477210</link><guid>https://blog.csdn.net/AJPFX/article/details/90477210</guid><author>AJPFX</author><pubDate>Thu, 23 May 2019 11:25:42 +0800</pubDate><description><![CDATA[GBK编码：是指中国的中文字符，其它它包含了简体中文与繁体中文字符，另外还有一种字符“gb2312”，这种字符仅能存储简体中文字符。
UTF-8编码：它是一种全国家通过的一种编码，如果你的网站涉及到多个国家的语言，那么建议你选择UTF-8编码。
GBK和UTF8有什么区别？
UTF8编码格式很强大，支持所有国家的语言，正是因为它的强大，才会导致它占用的空间大小要比GBK大，对于网站打开速度而言，也...]]></description><category></category></item><item><title><![CDATA[AJPFX关于ArrayList集合容器的操作]]></title><link>https://blog.csdn.net/AJPFX/article/details/90477161</link><guid>https://blog.csdn.net/AJPFX/article/details/90477161</guid><author>AJPFX</author><pubDate>Thu, 23 May 2019 11:24:01 +0800</pubDate><description><![CDATA[1、创建
ArrayList myList=new ArrayList(); //代表创建出Egg类型的List，新的ArrayList对象会创建在堆上
2、加入元素
Egg s=new Egg();
myList.add(s);//此ArrayList会产生一个"盒子"来放Egg对象
3、再加入元素
Egg b=new Egg();
myList.add(b);//此ArrayList会再产生一...]]></description><category></category></item><item><title><![CDATA[AJPFX深入理解之abstract class和interface的区别]]></title><link>https://blog.csdn.net/AJPFX/article/details/90477108</link><guid>https://blog.csdn.net/AJPFX/article/details/90477108</guid><author>AJPFX</author><pubDate>Thu, 23 May 2019 11:22:07 +0800</pubDate><description><![CDATA[含有abstract修饰符的class即为抽象类，abstract 类不能创建的实例对象。含有abstract方法的类必须定义为abstract class，abstract class类中的方法不必是抽象的。abstract class类中定义抽象方法必须在具体(Concrete)子类中实现，所以，不能有抽象构造方法或抽象静态方法。如果的子类没有实现抽象父类中的所有抽象方法，那么子类也必须定义为...]]></description><category></category></item><item><title><![CDATA[AJPFX关于Java中的集合]]></title><link>https://blog.csdn.net/AJPFX/article/details/90477008</link><guid>https://blog.csdn.net/AJPFX/article/details/90477008</guid><author>AJPFX</author><pubDate>Thu, 23 May 2019 11:18:23 +0800</pubDate><description><![CDATA[ava API中所用的集合类，都是实现了Collection接口，他的一个类继承结构如下：
Collection&lt;–List&lt;–Vector
Collection&lt;–List&lt;–ArrayList
Collection&lt;–List&lt;–LinkedList
Collection&lt;–Set&lt;–HashSet
Collection&lt;–Set&lt;–...]]></description><category></category></item><item><title><![CDATA[AJPFX关于Java中运用数组的四种排序方法]]></title><link>https://blog.csdn.net/AJPFX/article/details/90476920</link><guid>https://blog.csdn.net/AJPFX/article/details/90476920</guid><author>AJPFX</author><pubDate>Thu, 23 May 2019 11:15:14 +0800</pubDate><description><![CDATA[JAVA中在运用数组进行排序功能时，一般有四种方法：快速排序法、冒泡法、选择排序法、插入排序法。
快速排序法主要是运用了Arrays中的一个方法Arrays.sort（）实现。
冒泡法是运用遍历数组进行比较，通过不断的比较将最小值或者最大值一个一个的遍历出来。
选择排序法是将数组的第一个数据作为最大或者最小的值，然后通过比较循环，输出有序的数组。
插入排序是选择一个数组中的数据，通过不断的插入比较...]]></description><category></category></item><item><title><![CDATA[AJPFX辨析continue与break的区别]]></title><link>https://blog.csdn.net/AJPFX/article/details/90476884</link><guid>https://blog.csdn.net/AJPFX/article/details/90476884</guid><author>AJPFX</author><pubDate>Thu, 23 May 2019 11:13:44 +0800</pubDate><description><![CDATA[1.break :
(1).结束当前整个循环，执行当前循环下边的语句。忽略循环体中任何其它语句和循环条件测试。
(2).只能跳出一层循环，如果你的循环是嵌套循环，那么你需要按照你嵌套的层次，逐步使用break来跳出。[逐层判断，逐步跳出]
(3).break在循环体内，强行结束循环的执行，也就是结束整个循环过程，不再判断执行循环的条件是否成立，直接转向循环语句下面的语句。
(4).当break出现...]]></description><category></category></item><item><title><![CDATA[AJPFX辨析Java中堆内存和栈内存的区别]]></title><link>https://blog.csdn.net/AJPFX/article/details/90476820</link><guid>https://blog.csdn.net/AJPFX/article/details/90476820</guid><author>AJPFX</author><pubDate>Thu, 23 May 2019 11:11:20 +0800</pubDate><description><![CDATA[Java把内存分成两种，一种叫做栈内存，一种叫做堆内存
在函数中定义的一些基本类型的变量和对象的引用变量都是在函数的栈内存中分配。当在一段代码块中定义一个变量时，java就在栈中为这个变量分配内存空间，当超过变量的作用域后，java会自动释放掉为该变量分配的内存空间，该内存空间可以立刻被另作他用。
堆内存用于存放由new创建的对象和数组。在堆中分配的内存，由java虚拟机自动垃圾回收器来管理。在
...]]></description><category></category></item><item><title><![CDATA[AJPFX简述i=i+1与i+=1及x++的区别和效率]]></title><link>https://blog.csdn.net/AJPFX/article/details/90448494</link><guid>https://blog.csdn.net/AJPFX/article/details/90448494</guid><author>AJPFX</author><pubDate>Wed, 22 May 2019 17:36:48 +0800</pubDate><description><![CDATA[i=i+1与i+=1及x++的区别和效率
1.x=x+1,x+=1及x++的效率哪个最高？为什么？
x=x+1最低，因为它的执行如下。
（1）读取右x的地址；
（2）x+1；
（3）读取左x的地址；
（4）将右值传给左边的x（编译器并不认为左右x的地址相同）。
x+=1其次，它的执行如下。
（1）读取x的地址；
（2）x+1；
（3）将得到的值传给x（因为x的地址已经读出）。
x++最高，它的执行...]]></description><category></category></item><item><title><![CDATA[AJPFX关于子类父类中的构造]]></title><link>https://blog.csdn.net/AJPFX/article/details/90446059</link><guid>https://blog.csdn.net/AJPFX/article/details/90446059</guid><author>AJPFX</author><pubDate>Wed, 22 May 2019 16:09:52 +0800</pubDate><description><![CDATA[1.子父类中的构造函数不存在重写，因为子父类的构造函数名字不一样（重写要求子父类的方法名字一模一样，包括参数列表）
2.子类创建对象时会先运行父类的构造函数再运行子类的构造函数。
因为每个子类的构造函数的第一行都会默认有一句隐式语句super（）调用父类默认的构造函数；
当要指定运行父类某个构造函数时，要手动添加对应的super（参数列表）
3.super（）语句与this（）语句的用法一样
th...]]></description><category></category></item><item><title><![CDATA[AJPFX关于线程创建的方式]]></title><link>https://blog.csdn.net/AJPFX/article/details/90446021</link><guid>https://blog.csdn.net/AJPFX/article/details/90446021</guid><author>AJPFX</author><pubDate>Wed, 22 May 2019 16:08:14 +0800</pubDate><description><![CDATA[创建线程的第一种方式：继承Thread ，由子类复写run方法。
步骤：
1，定义类继承Thread类；
2，目的是复写run方法，将要让线程运行的代码都存储到run方法中；
3，通过创建Thread类的子类对象，创建线程对象；
4，调用线程的start方法，开启线程，并执行run方法。
创建线程的第二种方式：实现一个接口Runnable。
步骤：
1，定义类实现Runnable接口。
2，覆盖接...]]></description><category></category></item><item><title><![CDATA[AJPFX关于单例设计模式]]></title><link>https://blog.csdn.net/AJPFX/article/details/90445973</link><guid>https://blog.csdn.net/AJPFX/article/details/90445973</guid><author>AJPFX</author><pubDate>Wed, 22 May 2019 16:06:38 +0800</pubDate><description><![CDATA[单例设计模式优势：保证一个类在内存中的对象唯一性。
比如：多程序读取一个配置文件时，建议配置文件封装成对象。会方便操作其中数据，又要保证多个程序读到的是同一个配置文件对象，就需要该配置文件对象在内存中是唯一的。
Runtime()方法就是单例设计模式进行设计的。如何保证对象唯一性呢？
思想： 1，不让其他程序创建该类对象。
2，在本类中创建一个本类对象。
3，对外提供方法，让其他程序获取这个对象。...]]></description><category></category></item><item><title><![CDATA[AJPFX关于VIM的常用快捷键]]></title><link>https://blog.csdn.net/AJPFX/article/details/90445797</link><guid>https://blog.csdn.net/AJPFX/article/details/90445797</guid><author>AJPFX</author><pubDate>Wed, 22 May 2019 16:00:21 +0800</pubDate><description><![CDATA[Ajax技术的核心是XMLHttpRequest对象（简称XHR),
var xhr = new XMLHttpRequest();
function createXHR(){
if (typeof XMLHttpRequest != “undefined”){
return new XMLHttpRequest();
} else if (typeof ActiveXObject != “und...]]></description><category></category></item><item><title><![CDATA[AJPFX关于延迟加载的单例模式的安全问题解决]]></title><link>https://blog.csdn.net/AJPFX/article/details/90445704</link><guid>https://blog.csdn.net/AJPFX/article/details/90445704</guid><author>AJPFX</author><pubDate>Wed, 22 May 2019 15:57:32 +0800</pubDate><description><![CDATA[请写一个延迟加载的单例模式？写懒汉式；当出现多线程访问时怎么解决？加同步，解决安全问题；效率高吗？不高；怎样解决？通过双重判断的形式解决。
懒汉式：延迟加载方式。
当多线程访问懒汉式时，因为懒汉式的方法内对共性数据进行多条语句的操作。所以容易出现线程安全问题。为了解决，加入同步机制，解决安全问题。但是却带来了效率降低。
为了效率问题，通过双重判断的形式解决。
class Single{
priva...]]></description><category></category></item><item><title><![CDATA[AJPFX关于collection总结]]></title><link>https://blog.csdn.net/AJPFX/article/details/90445658</link><guid>https://blog.csdn.net/AJPFX/article/details/90445658</guid><author>AJPFX</author><pubDate>Wed, 22 May 2019 15:55:58 +0800</pubDate><description><![CDATA[Collection接口是该层次结构的根接口，该接口的所有子接口或实现子类集合都可以用Iterator迭代器进行取出。Collection有两个常见子接口，即为List和Set，其中List集合可以用ListIterator迭代器取出。List接口的主要实现子类有ArrayList和LinkedList等，Set接口的主要实现子类有HashSet和TreeSet等。Collection层次结构图如...]]></description><category></category></item><item><title><![CDATA[AJPFX总结hashmap和hashtable的区别]]></title><link>https://blog.csdn.net/AJPFX/article/details/90444645</link><guid>https://blog.csdn.net/AJPFX/article/details/90444645</guid><author>AJPFX</author><pubDate>Wed, 22 May 2019 15:18:16 +0800</pubDate><description><![CDATA[Hashtable和HashMap类有三个重要的不同之处。第一个不同主要是历史原因。Hashtable是基于陈旧的Dictionary类的，HashMap是Java 1.2引进的Map接口的一个实现。
　　
　　也许最重要的不同是Hashtable的方法是同步的，而HashMap的方法不是。这就意味着，虽然你可以不用采取任何特殊的行为就可以在一个多线程的应用程序中用一个Hashtable，但你必须...]]></description><category></category></item><item><title><![CDATA[AJPFX分享JAVA修饰符详解]]></title><link>https://blog.csdn.net/AJPFX/article/details/90444405</link><guid>https://blog.csdn.net/AJPFX/article/details/90444405</guid><author>AJPFX</author><pubDate>Wed, 22 May 2019 15:09:29 +0800</pubDate><description><![CDATA[1、类的修饰符分为：可访问控制符和非访问控制符两种。
可访问控制符是：公共类修饰符 public
非访问控制符有：抽象类修饰符 abstract ；最终类修饰符 final
1 ）公共类修饰符 public ： Java 语言中类的可访问控制符只有一个： public 即公共的。每个 Java 程序的主类都必须是 public 类作为公共工具供其它类和程序使用的应定义为 public 类。
2 ）...]]></description><category></category></item><item><title><![CDATA[AJPFX分享java排序之希尔排序]]></title><link>https://blog.csdn.net/AJPFX/article/details/90444349</link><guid>https://blog.csdn.net/AJPFX/article/details/90444349</guid><author>AJPFX</author><pubDate>Wed, 22 May 2019 15:07:33 +0800</pubDate><description><![CDATA[（1）基本思想：算法先将要排序的一组数按某个增量d（n/2,n为要排序数的个数）分成若干组，每组中记录的下标相差d.对每组中全部元素进行直接插入排序，然后再用一个较小的增量（d/2）对它进行分组，在每组中再进行直接插入排序。当增量减到1时，进行直接插入排序后，排序完成。
（2）用java实现
public class shellSort {
public  shellSort(){
int a[]...]]></description><category></category></item></channel></rss>