java学习
文章平均质量分 51
the__apollo
水滴石穿,不舍昼夜
展开
-
Java泛型思想
这篇文章是对java泛型思想的一个总结,原文地址Java总结篇系列:Java泛型一. 泛型概念的提出(为什么需要泛型)?首先,我们看下下面这段简短的代码:public class GenericTest { public static void main(String[] args) { List list = new ArrayList(); list.add转载 2017-08-16 10:35:23 · 575 阅读 · 0 评论 -
java接口知识总结
接口是一种特殊的抽象类,为了克服java单继承的缺点而被引入。通常可以通过一个类实现多个接口的方式来达到多重继承的目的。接口和继承的区别简而言之就是“has-a”和“is-a”的区别。那么接口中都能写入哪些东西呢?1.成员变量。接口中可以定义成员变量,但都默认被public static final来修饰。2.成员方法。接口中只允许public,abstract,default,s...原创 2018-07-19 12:42:44 · 497 阅读 · 0 评论 -
Java学习笔记之Python和Java中Super方法的区别
python 的 super 是一个函数,需要两个参数,第一个参数是类,第二个参数是实例,返回值是一个类对象。其意义是:站在参数2这个实例的角度看去, 参数1这个类的‘父亲’是谁,把‘父亲’返回。详情见这里。Java 的 super 是一个引用,即一个指针,它指向的是本类内部的那个父类对象。可以用 super.xxx 来访问父类的成员变量或成员函数。另外 Java 的 supe...转载 2018-07-03 11:54:22 · 665 阅读 · 0 评论 -
leetcode 动态规划题号
53 55 62 63 64 70 91 96 120 121 198 213 279 300 303 304 338原创 2018-05-23 10:46:07 · 488 阅读 · 0 评论 -
排序算法总结(Java版)
一.冒泡排序 冒泡排序,就是每次比较,大的元素往后挪,比较完第一遍后,最大的元素排到了数组的最后一位 。第二次比较,还是从第一个元素开始和后面的比较,把剩余的最大的元素拍到数组的倒数第二位,第一轮比较的最大元素不参与比较 。程序实现:/*冒泡排序*/public class Sort1 { public int[] sort(int[] nums){ int t...原创 2018-05-14 14:16:43 · 461 阅读 · 0 评论 -
关于String和StringBuffer的常见问题
下面这段代码的输出结果是什么? String a = “hello2”; String b = “hello” + 2; System.out.println((a == b)); 输出结果为:true。原因很简单,”hello”+2在编译期间就已经被优化成”hello2”,因此在运行期间,变量a和变量b指向的是同一个对象。2.下面这段代码的输出结果是什么?String a = “he转载 2017-08-28 21:15:04 · 704 阅读 · 0 评论 -
Java中的String、StringBuffer与StringBuilder
String,StringBuffer,StringBuilder。关于这三个类在字符串处理中的位置不言而喻,那么他们到底有什么优缺点,到底什么时候该用谁呢?下面我们从以下几点说明一下: 1.三者在执行速度方面的比较:StringBuilder > StringBuffer > String 2.String <(StringBuffer,StringBuilder)的原因 S转载 2017-08-28 21:06:21 · 429 阅读 · 0 评论 -
JAVA接口思想2
原文链接第一次看这篇文章时,是在CSDN博客中看到的,作者写的初衷还是蛮好的,但是确实有错误的地方和不是很明白的地方。于是就很想去看看原文,废了半天的功夫终于找到了,原文还是一样有出错和我不理解的地方,我也把原文的地址贴在上面了。三月份学习的Java集合框架这部分,这几天拿出来整理就想再深入一点,因此也看了很多的关于Java集合框架的文章,这篇我算是有一点点的体会,我只是改了一些我认为错误的地方和不转载 2017-08-25 14:10:11 · 650 阅读 · 0 评论 -
java数据类型
java的数据类型分为两种:基本类型和引用类型。 引用类型分为下面几种:类类型(class,interface,enum,annotation)和数组类型原创 2017-08-17 10:41:51 · 455 阅读 · 0 评论 -
java中成员变量和局部变量在内存中的分配
对于成员变量和局部变量:成员变量就是方法外部,类的内部定义的变量;局部变量就是方法或语句块内部定义的变量。局部变量必须初始化。 形式参数是局部变量,局部变量的数据存在于栈内存中。栈内存中的局部变量随着方法的消失而消失。 成员变量存储在堆中的对象里面,由垃圾回收器负责回收。 如以下代码:class BirthDate { private int day; private int m转载 2017-08-17 10:37:19 · 2768 阅读 · 0 评论 -
Java字符串的内存分配
对于字符串,其对象的引用都是存储在栈中的,如果是编译期已经创建好(直接用双引号定义的)的就存储在常量池中,如果是运行期(new出来的)才能确定的就存储在堆中。对于equals相等的字符串,在常量池中永远只有一份,在堆中有多份。 String s1 = "china"; String s2 = "china"; String s3 = "china";转载 2017-08-17 10:34:52 · 671 阅读 · 0 评论 -
java中的堆,栈,静态域,常量池
Java内存分配主要包括以下几个区域:寄存器:我们在程序中无法控制栈:存放基本类型的数据和对象的引用,但对象本身不存放在栈中,而是存放在堆中堆:存放用new产生的数据静态域:存放在对象中用static定义的静态成员常量池:存放常量非RAM(随机存取存储器)存储:硬盘等永久存储空间Java内存分配中的栈栈中主要存放两种数据类型:在函数中定义的一些基本类型的变量数据,也就是局部变量。对原创 2017-08-17 10:24:54 · 1697 阅读 · 2 评论 -
深入理解java常量池
原文链接 理论 小菜先拙劣的表达一下jvm虚拟内存分布: 程序计数器是jvm执行程序的流水线,存放一些跳转指令,这个太高深,小菜不懂。本地方法栈是jvm调用操作系统方法所使用的栈。虚拟机栈是jvm执行java代码所使用的栈。方法区存放了一些常量、静态变量、类信息等,可以理解成class文件在内存中的存放位置。虚拟机堆是jvm执行java代码所使用的堆。Java中的...转载 2018-08-27 11:48:27 · 802 阅读 · 0 评论