自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(187)
  • 收藏
  • 关注

原创 AJPFX浅析Java内存结构

Heap(堆):实例分配的地方,通过-Xms与-Xmx来设置MethodArea(方法区域):类的信息及静态变量。 对应是Permanet Generation, 通过-XX:PermSize来设置JavaStack(java的栈):虚拟机只会直接对Javastack执行两种操作:以帧为单位的压栈或出栈。通过-Xss来设置, 若不够会抛出StackOverflowErrorProgramC...

2019-05-23 11:32:06 177

原创 AJPFX浅析Java数组

数组(array)是相同类型变量的集合,可以使用共同的名字引用它。数组可被定义为任何类型,可以是一维或多维。数组中的一个特别要素是通过下标来访问它。数组提供了一种将有联系的信息分组的便利方法。注意:如果你熟悉C/C++,请注意, Java数组的工作原理与它们不同。1、数组不是集合,它只能保存同种类型的多个原始类型或者对象的引用。数组保存的仅仅是对象的引用,而不是对象本身。2、数组本身就是对象,...

2019-05-23 11:30:11 179

原创 AJPFX关于JDK,JRE,JVM的区别与联系

很多朋友可能跟我一样,对JDK,JRE,JVM这三者的联系与区别,一直都是模模糊糊的。今天我们来整理下三者的关系。JDK : Java Development ToolKit(Java开发工具包)。JDK是整个JAVA的核心,包括了Java运行环境(Java Runtime Envirnment),一堆Java工具(javac/java/jdb等)和Java基础的类库(即Java API 包...

2019-05-23 11:28:00 281

原创 AJPFX辨析GBK和UTF8的区别

GBK编码:是指中国的中文字符,其它它包含了简体中文与繁体中文字符,另外还有一种字符“gb2312”,这种字符仅能存储简体中文字符。UTF-8编码:它是一种全国家通过的一种编码,如果你的网站涉及到多个国家的语言,那么建议你选择UTF-8编码。GBK和UTF8有什么区别?UTF8编码格式很强大,支持所有国家的语言,正是因为它的强大,才会导致它占用的空间大小要比GBK大,对于网站打开速度而言,也...

2019-05-23 11:25:42 170

原创 AJPFX关于ArrayList集合容器的操作

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会再产生一...

2019-05-23 11:24:01 126

原创 AJPFX深入理解之abstract class和interface的区别

含有abstract修饰符的class即为抽象类,abstract 类不能创建的实例对象。含有abstract方法的类必须定义为abstract class,abstract class类中的方法不必是抽象的。abstract class类中定义抽象方法必须在具体(Concrete)子类中实现,所以,不能有抽象构造方法或抽象静态方法。如果的子类没有实现抽象父类中的所有抽象方法,那么子类也必须定义为...

2019-05-23 11:22:07 135

原创 AJPFX关于Java中的集合

ava API中所用的集合类,都是实现了Collection接口,他的一个类继承结构如下:Collection<–List<–VectorCollection<–List<–ArrayListCollection<–List<–LinkedListCollection<–Set<–HashSetCollection<–Set<–...

2019-05-23 11:18:23 146

原创 AJPFX关于Java中运用数组的四种排序方法

JAVA中在运用数组进行排序功能时,一般有四种方法:快速排序法、冒泡法、选择排序法、插入排序法。快速排序法主要是运用了Arrays中的一个方法Arrays.sort()实现。冒泡法是运用遍历数组进行比较,通过不断的比较将最小值或者最大值一个一个的遍历出来。选择排序法是将数组的第一个数据作为最大或者最小的值,然后通过比较循环,输出有序的数组。插入排序是选择一个数组中的数据,通过不断的插入比较...

2019-05-23 11:15:14 134

原创 AJPFX辨析continue与break的区别

1.break :(1).结束当前整个循环,执行当前循环下边的语句。忽略循环体中任何其它语句和循环条件测试。(2).只能跳出一层循环,如果你的循环是嵌套循环,那么你需要按照你嵌套的层次,逐步使用break来跳出。[逐层判断,逐步跳出](3).break在循环体内,强行结束循环的执行,也就是结束整个循环过程,不再判断执行循环的条件是否成立,直接转向循环语句下面的语句。(4).当break出现...

2019-05-23 11:13:44 164

原创 AJPFX辨析Java中堆内存和栈内存的区别

Java把内存分成两种,一种叫做栈内存,一种叫做堆内存在函数中定义的一些基本类型的变量和对象的引用变量都是在函数的栈内存中分配。当在一段代码块中定义一个变量时,java就在栈中为这个变量分配内存空间,当超过变量的作用域后,java会自动释放掉为该变量分配的内存空间,该内存空间可以立刻被另作他用。堆内存用于存放由new创建的对象和数组。在堆中分配的内存,由java虚拟机自动垃圾回收器来管理。在...

2019-05-23 11:11:20 126

原创 AJPFX简述i=i+1与i+=1及x++的区别和效率

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++最高,它的执行...

2019-05-22 17:36:48 200

原创 AJPFX关于子类父类中的构造

1.子父类中的构造函数不存在重写,因为子父类的构造函数名字不一样(重写要求子父类的方法名字一模一样,包括参数列表)2.子类创建对象时会先运行父类的构造函数再运行子类的构造函数。因为每个子类的构造函数的第一行都会默认有一句隐式语句super()调用父类默认的构造函数;当要指定运行父类某个构造函数时,要手动添加对应的super(参数列表)3.super()语句与this()语句的用法一样th...

2019-05-22 16:09:52 123

原创 AJPFX关于线程创建的方式

创建线程的第一种方式:继承Thread ,由子类复写run方法。步骤:1,定义类继承Thread类;2,目的是复写run方法,将要让线程运行的代码都存储到run方法中;3,通过创建Thread类的子类对象,创建线程对象;4,调用线程的start方法,开启线程,并执行run方法。创建线程的第二种方式:实现一个接口Runnable。步骤:1,定义类实现Runnable接口。2,覆盖接...

2019-05-22 16:08:14 129

原创 AJPFX关于单例设计模式

单例设计模式优势:保证一个类在内存中的对象唯一性。比如:多程序读取一个配置文件时,建议配置文件封装成对象。会方便操作其中数据,又要保证多个程序读到的是同一个配置文件对象,就需要该配置文件对象在内存中是唯一的。Runtime()方法就是单例设计模式进行设计的。如何保证对象唯一性呢?思想: 1,不让其他程序创建该类对象。2,在本类中创建一个本类对象。3,对外提供方法,让其他程序获取这个对象。...

2019-05-22 16:06:38 123

原创 AJPFX关于VIM的常用快捷键

Ajax技术的核心是XMLHttpRequest对象(简称XHR),var xhr = new XMLHttpRequest();function createXHR(){if (typeof XMLHttpRequest != “undefined”){return new XMLHttpRequest();} else if (typeof ActiveXObject != “und...

2019-05-22 16:00:21 222

原创 AJPFX关于延迟加载的单例模式的安全问题解决

请写一个延迟加载的单例模式?写懒汉式;当出现多线程访问时怎么解决?加同步,解决安全问题;效率高吗?不高;怎样解决?通过双重判断的形式解决。懒汉式:延迟加载方式。当多线程访问懒汉式时,因为懒汉式的方法内对共性数据进行多条语句的操作。所以容易出现线程安全问题。为了解决,加入同步机制,解决安全问题。但是却带来了效率降低。为了效率问题,通过双重判断的形式解决。class Single{priva...

2019-05-22 15:57:32 131

原创 AJPFX关于collection总结

Collection接口是该层次结构的根接口,该接口的所有子接口或实现子类集合都可以用Iterator迭代器进行取出。Collection有两个常见子接口,即为List和Set,其中List集合可以用ListIterator迭代器取出。List接口的主要实现子类有ArrayList和LinkedList等,Set接口的主要实现子类有HashSet和TreeSet等。Collection层次结构图如...

2019-05-22 15:55:58 150

原创 AJPFX总结hashmap和hashtable的区别

Hashtable和HashMap类有三个重要的不同之处。第一个不同主要是历史原因。Hashtable是基于陈旧的Dictionary类的,HashMap是Java 1.2引进的Map接口的一个实现。    也许最重要的不同是Hashtable的方法是同步的,而HashMap的方法不是。这就意味着,虽然你可以不用采取任何特殊的行为就可以在一个多线程的应用程序中用一个Hashtable,但你必须...

2019-05-22 15:18:16 110

原创 AJPFX分享JAVA修饰符详解

1、类的修饰符分为:可访问控制符和非访问控制符两种。可访问控制符是:公共类修饰符 public非访问控制符有:抽象类修饰符 abstract ;最终类修饰符 final1 )公共类修饰符 public : Java 语言中类的可访问控制符只有一个: public 即公共的。每个 Java 程序的主类都必须是 public 类作为公共工具供其它类和程序使用的应定义为 public 类。2 )...

2019-05-22 15:09:29 119

原创 AJPFX分享java排序之希尔排序

(1)基本思想:算法先将要排序的一组数按某个增量d(n/2,n为要排序数的个数)分成若干组,每组中记录的下标相差d.对每组中全部元素进行直接插入排序,然后再用一个较小的增量(d/2)对它进行分组,在每组中再进行直接插入排序。当增量减到1时,进行直接插入排序后,排序完成。(2)用java实现public class shellSort {public shellSort(){int a[]...

2019-05-22 15:07:33 129

原创 AJPFX简述Context.startService()和Context.bindService

Context.startService()和Context.bindService服务不能自己运行,需要通过调用Context.startService()或Context.bindService()方法启动服务。这两个方法都可以启动Service,但是它们的使用场合有所不同。1.使用startService()方法启用服务,调用者与服务之间没有关连,即使调用者退出了,服务仍然运行。使用...

2019-05-21 10:36:42 272

原创 AJPFX简述abstract class和interface的区别

含有abstract修饰符的class即为抽象类,abstract类不能创建的实例对象。含有abstract方法的类必须定义为abstract class,abstract class类中的方法不必是抽象的。abstract class类中定义抽象方法必须在具体(Concrete)子类中实现,所以,不能有抽象构造方法或抽象静态方法。如果的子类没有实现抽象父类中的所有抽象方法,那么子类也必须定义为a...

2019-05-21 10:34:41 128

原创 AJPFX关于抽象类和接口的区别

一、设计目的不同:接口体现的是一种规范,,类似于系统的总纲,它制定了系统的各模块应遵守的标准抽象类作为多个子类的共同父类,体现的是模式化的设计,抽象类可以认为是系统的中间产品,已经实现了部分功能,部分需子类完善,有些设计模式只能用抽象类不能用接口设计,抽象类是完成框架设计的必要组成二、用法不同:在接口里:(1)只能包含不带方法体的非静态抽象方法(2)属性只能是静态的(3)不能包含构造...

2019-05-21 10:32:29 103

原创 AJPFX关于StringBuffer,StringBuilder类 总结(一)

StringBuffer,StringBuilder类StringBuffer是同步的,数据安全,效率低;StringBuilder是不同步的,数据不安全,效率高StringBuffer:概述用字符串做拼接,比较耗时并且也耗内存,而这种拼接操作又是比较常见的,为了解决这个问题,Java就提供了一个字符串缓冲区类。StringBuffer供我们使用。 StringBuffer...

2019-05-21 10:30:20 104

原创 AJPFX关于StringBuffer,StringBuilder类总结(二)

StringBuffer,StringBuilder类 总结2需要注意的知识点:1):// String – >StringBufferString s = “hello”;// 注意:不能把字符串的值直接赋值给StringBuffer// StringBuffer sb = “hello”;// StringBuffer sb = s;// 方式1:通过构造方法Strin...

2019-05-21 10:28:40 98

原创 AJPFX关于Timer类的学习

Timer类:计时器public class Demo1 {public static void main(String[] args) throws InterruptedException {Timer t = new Timer();// 在指定时间安排指定任务// 第一个参数,是安排的任务,第二个参数是执行的时间,第三个参数是过多长时间再重复执行t.schedule(new ...

2019-05-21 10:25:39 109

原创 AJPFX总结string类和简单问题

String表示字符串,所谓字符串,就是一连串的字符;String是不可变类,一旦String对象被创建,包含在对象中的字符序列(内容)是不可变的,直到对象被销毁;//一个String对象的内容不能变,一旦内容改变对象在常量池中新建类一个STRING对象常量池:JVM中一块独立的区域存放字符串常量和基本类型常量(public static final)。栈=====存放变量名堆=====...

2019-05-21 10:22:56 115

原创 AJPFX简述JavaStringBuffer方法

以下是StringBuffer类支持的主要方法:序号 方法描述1 public StringBuffer append(String s)将指定的字符串追加到此字符序列。2 public StringBuffer reverse()将此字符序列用其反转形式取代。3 public delete(int start, int end)移除此序列的子字符串中的字符。4 public in...

2019-05-21 10:20:08 146

原创 AJPFX关于Class类和Class类实例

Java程序中的各个Java类属于同一类事物,描述这类事物的Java类就是Class类。对比提问:众多的人用一个什么类表示?众多的Java类用一个什么类表示?人  PersonJava类  Class对比提问: Person类代表人,它的实例对象就是张三,李四这样一个个具体的人,Class类代表Java类,它的各个实例对象又分别对应什么呢?对应各个类在内存中的字节码,例如,Perso...

2019-05-21 10:17:44 164

原创 AJPFX总结线程创建的两种方法

创建线程的第一种方式:继承Thread ,由子类复写run方法。步骤:1,定义类继承Thread类;2,目的是复写run方法,将要让线程运行的代码都存储到run方法中;3,通过创建Thread类的子类对象,创建线程对象;4,调用线程的start方法,开启线程,并执行run方法。创建线程的第二种方式:实现一个接口Runnable。步骤:1,定义类实现Runnable接口。2,覆盖接...

2019-05-21 10:15:08 104

原创 AJPFX总结方法的特点

它可以实现独立的功能;必须定义在类里面;它只有被调用才会执行;它可以被重复使用;方法结束后方法里的对象失去引用;如何定义一个功能,并通过方法体现出来:① 明确该功能运算后的结果.明确返回值类型;② 明确在实现该功能过程中是否有未知内容参与运算,确定参数列表;Eg:package reviewDemo;/**player 的值分别是1,2,3或者其他值时,该方法返回“大明”...

2019-05-20 15:26:41 144

原创 AJPFX总结方法里的属性

嵌套循环:循环里套循环假设外循环的循环次数是m次,内循环的循环次数是n次,那么内层循环的循环次数需要 m * n次。Eg:利用for循环语句的嵌套打印出乘法口诀表class break1{public static void main(String[] args){for(int i=1;i<=10;i++)//定义i与j的值必须在for循环里面,否则每次跳出循环重新执行就无法...

2019-05-20 15:23:47 117

原创 AJPFX辨析Java中运算符 ++ 和 += 的区别

我们都知道Java中 ++ 和 +=1 都是把数字增加一后,把值赋给左边,那二者有什么区别呢?i+=1 运行的底层Heap申请一个区域存放i,在数据区域开劈一个区域存放1,2个内存段被数据被送入到寄存器中进行运算,运算结果被放到heap中,数据区域运算后被自动释放后有GC回收i++ 是将heap中数据直接送到寄存器中进行运算,运算结果会直接存放在heap中。从上面的可以写个测试程序测试:...

2019-05-20 15:15:44 608

原创 AJPFX简述Java中this关键字的使用

Java中this关键字的使用主要有两处:  1、构造方法    this指的是调用构造方法进行初始化的对象。//有参构造public Human(String name, int age) { this(); //调用无参构造 //this(name); //调用有参构造(参数为name的构造方法) this.name = name; this.age=...

2019-05-20 15:14:20 212

原创 AJPFX总结jvm运行时内存分布

jvm的运行过程中将java程序运行时数据区分为以下几个部分:(1)程序计数器:存储虚拟机字节码执行的地址  (2)java虚拟机栈:java方法运行时的局部变量表,操作数栈,方法出口等  (3)本地方法栈:类似于java虚拟机栈,运行Native本地方法时存储局部变量表,操作数栈,方法出口等  (4)方法区:存放程序的常量,静态变量,类加载后的信息,即时编译器编译后的代码。  (5)j...

2019-05-20 15:11:51 160

原创 AJPFX分享eclipse自动生成java注释方法

设置方法介绍:eclipse中:Windows->Preferences->Java->Code Style->Code Template->Comments,然后对应的标签输入下面的内容,最后保存退出即可。Types:/** @author 作者名 E-mail: 作者邮箱@date : ${date} ${time}@Description :@v...

2019-05-20 15:10:05 198

原创 AJPFX总结java InputStream读取数据问题

关于InputStream.read()在从数据流里读取数据时,为图简单,经常用InputStream.read()方法。这个方法是从流里每次只读取读取一个字节,效率会非常低。 更好的方法是用InputStream.read(byte[] b)或者InputStream.read(byte[] b,int off,int len)方法,一次读取多个字节。关于InputStrea...

2019-05-20 15:06:44 122

原创 AJPFX关于对集合中的元素删除操作和注意点

import java.util.ArrayList;import java.util.Iterator;import java.util.List;public class ForeTest2 { /** * 对集合中的元素删除 */ public static void main(String[] args) { //demo1...

2019-05-20 15:04:08 129

原创 AJPFX关于一维数组的声明与初始化

一维数组:可以理解为一列多行、类型相同的数据,其中每个数据被称为数组元素;一维数组的声明方式:type varName[]; 或 type[] varName;(推荐)Eg:int age[]; int []age;数组的长度一旦确定,就不能改变,也就数组是定长的;我的总结:java语言声明数组的时候不能指定其长度(元素的个数)Eg:int a[5]; //非法初始化:Ja...

2019-05-20 15:00:18 179

原创 AJPFX简述Object类

Object类是所有类的超类,所有类都拥有Object的方法。其中的toString、equals是对业务模型而言非常常用的方法。a) toString方法当调用System.out.println()方法时,实际上是调用被打印者的toString方法,返回字符串,再将字符串打印的过程。但是Object类的toString方法返回的为对象地址值,所以我们需要重写User类的该方法,让...

2019-05-20 14:59:13 117

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除