Java
betterAndroider
总结自己,一点一滴,用博客见证我的成长。
展开
-
原生类就是基本数据类型,原生类不是对象
Java中,数据类型分为基本数据类型(或叫做原生类、内置类型)和引用数据类型. Java不是纯的面向对象的语言,不纯的地方就是这些基本数据类型不是对象。当然初期Java的运行速度很慢,基本数据类型能在一定程度上改善性能。如果你想编写纯的面向对象的程序,用包装器类是取代基本数据类型就可以了。1、基本类型的存储空间。byte–8位,short–16位,int–32位,long–64位,float–32原创 2015-10-22 21:57:22 · 3264 阅读 · 0 评论 -
java中静态代码块的用法 static用法详解
(一)java 静态代码块 静态方法区别一般情况下,如果有些代码必须在项目启动的时候就执行的时候,需要使用静态代码块,这种代码是主动执行的;需要在项目启动的时候就初始化,在不创建对象的情况下,其他程序来调用的时候,需要使用静态方法,这种代码是被动执行的. 静态方法在类加载的时候 就已经加载 可以用类名直接调用比如main方法就必须是静态的 这是程序入口两者的区别就是:静态代码块是自动执转载 2016-04-25 08:55:16 · 281 阅读 · 0 评论 -
Java并发编程:并发容器之CopyOnWriteArrayList(转载)
原文链接: http://ifeve.com/java-copy-on-write/ Copy-On-Write简称COW,是一种用于程序设计中的优化策略。其基本思路是,从一开始大家都在共享同一个内容,当某个人想要修改这个内容的时候,才会真正把内容Copy出去形成一个新的内容然后再改,这是一种延时懒惰策略。从JDK1.5开始Java并发包里提供了两个使用CopyOn转载 2016-04-25 15:03:05 · 290 阅读 · 0 评论 -
java堆栈类使用实例(java中stack的使用方法
java中stack的使用方法,堆栈是一种"后进先出"(LIFO) 的数据结构, 只能在一端进行插入(称为"压栈") 或删除 (称为"出栈")数据的操作,下面看示例吧JAVA 中,使用 java.util.Stack 类的构造方法创建对象。 public class Stack extends vector 构造方法 : public Stack() 创建一个空 Sta转载 2016-01-08 09:48:23 · 2405 阅读 · 0 评论 -
java截取字符串,截串,substring和split,分割字母和数字,正则缝隙
需求,把"01:大汽车",分成01和大汽车有两种做法:一是substringJava代码 package test; public class substringTest { public static void main(String args[]) { String N = "01:大汽车";转载 2015-12-05 10:46:18 · 5937 阅读 · 0 评论 -
StringBuffer类方法的运用
晚些的时候看了毕老师讲解的StringBuffer相关的知识,所以决定将他们整理出来,以便加深印象和理解,其实StringBuffer的方法可以通过查阅API文档来获取,但是还是决定写下这些东东。代码都通过实际运行没有问题的。-----------------------------------------------------------------------------------转载 2016-01-06 22:00:56 · 339 阅读 · 0 评论 -
android开发之synchronized的用法
android开发之synchronized的用法在android开发中synchronized主要有四种用法。第一是在方法声明时使用;第二是在对某一代码块时使用;第三是对某一对象使用;第四是对某一类使用。具体的实现代码如下:1.方法声明时使用放在范围操作符(public等)之后,返回类型声明(void等)之前.这时,线程获得的是转载 2015-12-16 09:27:58 · 539 阅读 · 0 评论 -
使用jsoup解析HTML之jsoup和HTML DOM简介
jsoup 是一款 Java 的HTML 解析器,可直接解析某个URL地址、HTML文本内容。它提供了一套非常省力的API,可通过DOM,CSS以及类似于JQuery的操作方法来取出和操作数据。类似的解析器还有HTMLParser,使用的也比较广泛,但是HTMLParser缺少维护,发布的最后一个版本还停留在2006年(http://sourceforge.net/projects/htmlpar转载 2015-11-02 14:02:34 · 413 阅读 · 0 评论 -
java中静态代码块的用法 static用法详解
(一)java 静态代码块 静态方法区别 一般情况下,如果有些代码必须在项目启动的时候就执行的时候,需要使用静态代码块,这种代码是主动执行的;需要在项目启动的时候就初始化,在不创建对象的情况下,其他程序来调用的时候,需要使用静态方法,这种代码是被动执行的. 静态方法在类加载的时候 就已经加载 可以用类名直接调用 比如main方法就必须是静态的 这是程序入口 两者的区别就是:静态代码块是自动执行转载 2015-10-28 09:16:22 · 339 阅读 · 0 评论 -
通过使用Thread.join()函数使异步线程变得同步
在多线程中往往用到join()的方法,join()是什么呢? Thread类的Join()措施能够将两个交替厉行的线程并合为次序厉行的线程。例如在线程B中调用了线程A的Join()措施,线程A将插入线程B之前,直到线程A厉行告终后,才会继续厉行线程B。代码如下:package com.cn.process;public class test {/** * @param args */publ转载 2015-10-26 08:30:47 · 644 阅读 · 0 评论 -
java中sleep()和wait()的区别
1、sleep() 使当前线程(即调用该方法的线程)暂停执行一段时间,让其他线程有机会继续执行,但它并不释放对象锁。也就是说如果有synchronized同步快,其他线程仍然不能访问共享数据。注意该方法要捕捉异常。 例如有两个线程同时执行(没有synchronized)一个线程优先级为MAX_PRIORITY,另一个为MIN_PRIORITY,如果没有Sleep()方法,只有高优原创 2015-10-26 08:55:50 · 321 阅读 · 0 评论 -
并发和并行的区别
并发: 当有多个线程在操作时,如果系统只有一个CPU,则它根本不可能真正同时进行一个以上的线程,它只能把CPU运行时间划分成若干个时间段,再将时间 段分配给各个线程执行,在一个时间段的线程代码运行时,其它线程处于挂起状。.这种方式我们称之为并发(Concurrent)。并行: 当系统有一个以上CPU时,则线程的操作有可能非并发。当一个CPU执行一个线程时,另一个CPU可以执行另一个线程,两个线程原创 2015-10-26 08:15:02 · 426 阅读 · 0 评论 -
Java对象类型转换的四个经验
一、向上转型与向下转型。对象类型的转换在Java语言平台中经常遇到,主要包括向上转型与向下转型操作。程序开发人员需要熟练掌握这两个转型的方法以及其中容易出错的地方。如何来了解这两个转型的区别呢?笔者认为,以一个现实的例子作为比喻,可能会更加的容易理解。如现在有动物、鸟类、燕子三个名词,他们之间有什么关系呢?通常我们都会说,燕子是特殊的鸟类,或者说燕子是鸟类的一种。为此,从对象的定义转载 2015-10-26 21:37:40 · 1440 阅读 · 0 评论 -
String,StringBuilder,StringBuffer三者的区别
String: 1.String类型是一个final的最终类。 2.String类型的数据初始化后不能够被修改,比如:String s="hello";s+="world";这一段代码虽然看起来好像只有一个对象,其实对于已经存在的Stirng对象,修改它的值,就是重新创建一个对象,然后将新值赋予这个对象,所以通过String来反复修改变量不可取,这样会浪费大量的时间,影响性能。 StringB转载 2015-10-25 19:36:21 · 306 阅读 · 0 评论 -
用继承thread或实现Runnable接口实现线程的区别
以前以为这两种方法实现线程的效果是一样的,只会写的方法不一样罢了,可是今天通过一个多线程程序发现了他们的区别,首先我们先来对比一下下面的两个例子: 首先我们先来看一个继承thread实现的多线程的卖票问题:package threadtest;class mythread extends Thread { private int tricket = 10; public mythr原创 2015-10-24 22:21:31 · 1985 阅读 · 0 评论 -
java类构造对象的构造顺序
我们先来看一个实例class example { private privateitem i=new privateitem(); static staticitem j=new staticitem(); public example() { // TODO Auto-generated method stub System.out.print原创 2015-10-22 20:58:40 · 994 阅读 · 0 评论 -
Java访问权限修饰词private、public、protected、default、default(缺省)
首先先说一下default,这个就是不需要你写任何权限,这样就可以给这个变量或者方法赋予了包访问权限,这就意味着当前的包中的所有其他类对他那个成员都有访问权限,但对于这个包之外的所有类,这个成员却是private,由于一个编译单元(即一个文件),只能隶属于一个包,所以经由包访问权限,处于同一个编译单元中的所有类彼此之间都是自动可访问的。private,这个表示私有权限,这能在本类中使用,其他任何类都原创 2015-10-22 21:51:52 · 939 阅读 · 0 评论 -
java里类方法和实例方法区别
我们已经知道类体中的方法分为实例方法和类方法两种,用static修饰的是类方法。二者有什么区别呢?当一个类创建了一个对象后,这个对象就可以调用该类的方法。 当类的字节码文件被加载到内存时,类的实例方法不会被分配入口地址,当该类创建对象后,类中的实例方法才分配入口地址,从而实例方法可以被类创建的任何对象调用执行。需要注意的是,当我们创建第一个对象时,类中的实例方法就分配了入口地址,当再创建对象时,不转载 2015-10-22 21:20:00 · 366 阅读 · 0 评论 -
java虚拟机的内存区域划分
java虚拟机在执行java程序的过程中会把它所有的内存划分成很多不同的数据区域。这些区域都有各自的用途,以及创建和销毁的时间,有的区域随着虚拟机进程的启动而存在,有些区域则是依赖用户线程的启动和结束结束而建立和销毁。java虚拟机规范将内存划分为下面这几个区域。Java虚拟栈,native栈,程序计数器,堆,方法区。他们的关系如下图所示。1.程序计数器每一个线程都拥有一个程序计数器,为线程私有,用原创 2016-08-01 14:01:58 · 517 阅读 · 0 评论