Java基本功知识
文章平均质量分 55
jiutianhe
这个作者很懒,什么都没留下…
展开
-
1. Java数组与内存控制
一、Java数组初始化Java数组是静态的,即当数组被初始化之后,该数组的长度是不可变的。Java数组使用之前必须先对数组对象进行初始化,所谓初始化,就是为数组的所有元素分配内存空间,并为每个数组元素指定初始值。 Java基本类型数组的两种初始化方式静态初始化:初始化时由程序员显式指定每个数组元素的初始值,由系统决定数组长度。动态初始化:初始化时程序员只指定数组长原创 2012-10-04 15:41:54 · 536 阅读 · 0 评论 -
Java中的System类
System类代表系统,系统级的很多属性和控制方法都放置在该类的内部。该类位于java.lang包。 由于该类的构造方法是private的,所以无法创建该类的对象,也就是无法实例化该类。其内部的成员变量和成员方法都是static的,所以也可以很方便的进行调用。 1、成员变量System类内部包含in、out和err三个成员变量,分别代表标准输入流(键盘输原创 2014-10-08 13:58:24 · 3803 阅读 · 0 评论 -
JavaBean对象与Map对象互相转化
package com.recommend.utils;import java.beans.BeanInfo;import java.beans.IntrospectionException;import java.beans.Introspector;import java.beans.PropertyDescriptor;import java.lang.reflect.Invoc原创 2014-10-31 16:37:25 · 7288 阅读 · 0 评论 -
Eclipse 和 MyEclipse 工程描述符--.classpath和.project文件
eclipse工程中.classpath文件含义: 下面是一个.classpath文件内容: 一般当下载好一个源码包后,我们就可以新建java工程,然后进行导入,接着把源码包中的eclipse.classpath中的内容复制到我们新建的java工程中的.classpath文件中。这时我们就可以编译项目了,一般在这里都会出现问原创 2013-12-23 15:00:15 · 1625 阅读 · 0 评论 -
Java String之String和CharSequence、StringBuilder和StringBuffer的区别(1)
本章主要介绍String和CharSequence的区别,以及它们的API详细使用方法。String 简介String 是java中的字符串,它继承于CharSequence。String类所包含的API接口非常多。为了便于今后的使用,我对String的API进行了分类,并都给出的演示程序。String 和 CharSequence 关系String 继承于Char转载 2014-12-26 13:59:39 · 1825 阅读 · 0 评论 -
Java String之String和CharSequence、StringBuilder和StringBuffer的区别(2)
演示程序1. CharSequence下面通过示例,演示CharSequence的使用方法!源码如下(CharSequenceTest.java):/** * CharSequence 演示程序 * * @author skywang */ import java.nio.charset.Charset; import java.io.Un转载 2014-12-26 14:06:21 · 2639 阅读 · 1 评论 -
Java String之StringBuilder以及它的API的详细使用方法(2)
1. StringBuilder 中插入(insert)相关的API源码如下(StringBuilderInsertTest.java):/** * StringBuilder 的insert()示例 * * @author skywang */ import java.util.HashMap; public class StringBuilde转载 2014-12-26 14:17:45 · 1014 阅读 · 0 评论 -
Java String之String和CharSequence、StringBuilder和StringBuffer的区别(3)
9. String 完整示例下面的示例是整合上面的几个示例的完整的String演示程序,源码如下(StringAPITest.java):/** * String 演示程序 * * @author skywang */ import java.util.HashMap; import java.nio.charset.Charset; import转载 2014-12-26 14:09:13 · 742 阅读 · 0 评论 -
Java String之StringBuilder以及它的API的详细使用方法
StringBuilder 简介StringBuilder 是一个可变的字符序列。它继承于AbstractStringBuilder,实现了CharSequence接口。StringBuffer 也是继承于AbstractStringBuilder的子类;但是,StringBuilder和StringBuffer不同,前者是非线程安全的,后者是线程安全的。StringBuild转载 2014-12-26 14:12:29 · 5913 阅读 · 0 评论 -
Java String之StringBuffer以及它的API的详细使用方法
StringBuffer 是一个线程安全的可变的字符序列。它继承于AbstractStringBuilder,实现了CharSequence接口。StringBuilder 也是继承于AbstractStringBuilder的子类;但是,StringBuilder和StringBuffer不同,前者是非线程安全的,后者是线程安全的。StringBuffer 和 CharSequenc转载 2014-12-26 14:21:18 · 3288 阅读 · 0 评论 -
20非常有用的Java程序片
下面是20个非常有用的Java程序片段,希望能对你有用。1. 字符串有整型的相互转换123String a = String.valueOf(2);//integer to numeric string int i = Integer.parseInt(a); //numeric string to an int转载 2013-07-09 11:35:07 · 1195 阅读 · 0 评论 -
eclipse Java heap space 解决方案
当运行程序出现Java heap space 原因就是jvm内存不足eclipse 有启动参数里设置jvm大小,因为eclipse运行时自己也需要jvm,所以eclipse.ini里设置的jvm大小不是具体某个程序运行时所用jvm的大小,这和具体程序运行的jvm大小无关。那么怎么才能设置某个程序的jvm大小呢(当然控制台运行的话不会存在这个问题,如:java -Xms256m -X原创 2014-09-19 15:33:17 · 3032 阅读 · 0 评论 -
java初始化顺序
*java虚拟机先加载父类,再加载子类。*在加载类时,会对静态初始化块、静态成员变量(类变量)、静态方法进行一次初始化。*只有在调用new方法时才会创建类的对象。*创建对象的过程是:按照父类继承关系进行初始化,首先执行父类的初始化块部分,后是父类的构造方法,再执行子类的初始化块,最后是子类的构造方法。*销毁对象的过程是:首先销毁子类部分,再销毁父类部分。转载 2014-06-03 13:39:47 · 798 阅读 · 0 评论 -
3.Java内存管理--内存分配
一、Java内存分配1、 Java有几种存储区域?* 寄存器-- 在CPU内部,开发人员不能通过代码来控制寄存器的分配,由编译器来管理* 栈-- 在Windows下, 栈是向低地址扩展的数据结构,是一块连续的内存的区域,即栈顶的地址和栈的最大容量是系统预先规定好的。-- 优点:由系统自动分配,速度较快。-- 缺点:不够灵活,但程序员是无法控制的。-- 存放基本数据类转载 2012-10-07 16:14:18 · 842 阅读 · 0 评论 -
4.java内存机制--堆与栈
问题的引入:问题一:String str1 = "abc";String str2 = "abc"; System.out.println(str1==str2); //true问题二:String str1 =new String ("abc");String str2 =new String ("abc"); System.out.println(str转载 2012-10-07 16:23:51 · 571 阅读 · 0 评论 -
2.Java内存回收机制
一、Java对象在内存引用状态内存泄露:程序运行过程中,会不断分配内存空间,那些不再使用的内存空间应该即时回收它们,从而保证系统可以再次使用这些内存,如果存在无用的内存没有被回收回来,这就是内存泄漏.(1)强引用 这是java程序中最常见的引用方式,程序创建一个对象,并把这个对象赋给一个引用变量,这个引用变量就是强引用.java程序可通过强引用来访问实际的对象。当一个对象被一个或一个原创 2012-10-07 15:24:13 · 722 阅读 · 0 评论 -
JAVA – 虚函数、抽象函数、抽象类、接口
JAVA – 虚函数、抽象函数、抽象类、接口1. Java虚函数虚函数的存在是为了多态。C++中普通成员函数加上virtual关键字就成为虚函数Java中其实没有虚函数的概念,它的普通函数就相当于C++的虚函数,动态绑定是Java的默认行为。如果Java中不希望某个函数具有虚函数特性,可以加上final关键字变成非虚函数PS: 其实C++和Java在虚函数的观点大同小异转载 2013-07-09 09:14:22 · 661 阅读 · 0 评论 -
JAVA - 函数重载和重写
JAVA - 函数重载和重写1. 函数重载(OverLoding)概念:同名函数具有不同的参数列表。作用:实现单个类内部的多态性,是静态多态。注意点: (1) 参数类型、个数、顺序至少有一个不相同。(2) 不能通过访问权限、返回类型、抛出的异常进行重载。2. 函数重写(OverRideing)概念:在子类中定义转载 2013-07-09 09:13:46 · 976 阅读 · 0 评论 -
java中内存泄漏
java导致内存泄露的原因很明确:长生命周期的对象持有短生命周期对象的引用就很可能发生内存泄露,尽管短生命周期对象已经不再需要,但是因为长生命周期对象持有它的引用而导致不能被回收,这就是java中内存泄露的发生场景。 1.集合类,集合类仅仅有添加元素的方法,而没有相应的删除机制,导致内存被占用。这一点其实也不明确,这个集合类如果仅仅是局部变量,根本不会造成内存泄露,在方法栈退出后就没有引转载 2013-10-24 16:17:42 · 897 阅读 · 0 评论 -
java如何进行内存自动释放、垃圾回收?
垃圾收集的目的在于清除不再使用的对象。gc通过确定对象是否被活动对象引用来确定是否收集该对象。gc首先要判断该对象是否是时候可以收集。两种常用的方法是引用计数和对象引用遍历。引用计数 每个对象都含有一个引用计数器,当有引用连接至对象时引用计数加一,当引用离开作用域或被置为null时引用计数器减一,虽然管理引用计数的开销不大,但是在整个生命期都会发生。垃圾回收器会在含有全部对象的列表上遍历,当发转载 2013-10-24 16:21:59 · 7378 阅读 · 0 评论 -
short 和 float
1.short s1 = 1; s1 = s1 + 1;有什么错? short s1 = 1; s1 += 1;有什么错?short s1 = 1; s1 = s1 +1;有错,; //short s1 = 1;(此处已经将s1转换为int 型);s1是short型,s1+1是int型,不能显式转化为short型。可修改为s1 =(short)(s1 + 1) 。short s1 = 1;原创 2013-10-24 16:00:02 · 2250 阅读 · 0 评论 -
Java:String、StringBuffer和StringBuilder的用法
1 基本原则:如果要操作少量的数据,用String ;单线程操作大量数据,用StringBuilder ;多线程操作大量数据,用StringBuffer。2 不要使用String类的"+"来进行频繁的拼接,因为那样的性能极差的,应该使用StringBuffer或StringBuilder类,这在Java的优化上是一条比较重要的原则。例如:[java] view原创 2013-11-18 16:30:24 · 1404 阅读 · 0 评论 -
Windows 安装JDK的环境变量设置
Windows7 X64安装“jdk-6u26-windows-x64.exe”后,按照网上的环境变量设置方法设置了环境变量,但是死活都提示“javac不是内部命令或外部命令,也不是可运行的程序或批处理文件”。折腾了半天,还是这个问题。后上网查了半天,终于找到解决办法,并且亲测可用,现在整理如下,希望对童鞋门有用。第一步:安装jdk-6u26-windows-x64.exe,路径为默认路径原创 2014-04-16 13:30:57 · 859 阅读 · 0 评论