![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
javaSE基础
JamesZhao1987
这个作者很懒,什么都没留下…
展开
-
J2SE 杂文
1、获取集合泛型元素的class,可以使用list.get(i).getClass()2.简单数据类型的转换:(byte、short、char)-->int-->long-->float-->double 3.java基本数据类型:Java语言提供了八种基本类型。六种数字类型(四个整数型,两个浮点型),一种字符类型,还有一种布尔型。1)、整数:包括int,short,byte,...原创 2011-12-12 20:44:46 · 119 阅读 · 0 评论 -
字符编码
Unicode是一种字符编码规范 。 先从ASCII说起。ASCII是用来表示英文字符的一种编码规范,每个ASCII字符占用1个字节(8bits) 因此,ASCII编码可以表示的最大字符数是256,其实英文字符并没有那么多,一般只用前128个(最高位为0),其中包括了控制字符、数字、大小写字母和其他一些符号 。 而最高位为1的另128个字符被成为“扩展ASCII...原创 2011-12-05 14:59:29 · 117 阅读 · 0 评论 -
泛型之葵花宝典
泛型的本质是类型参数化,所谓类型参数化是指被声明的数据类型是可以改变的,由实际参数来决定。通常情况下实际参数的值决定了形式参数的值,而类型参数化是实际参数的类型决定了形式参数的类型。泛型使用场景一。Integer max(Integer a, Integer b){ return a>b?a:b;}该方法比较的是2个Integer类型,如果要比较Double类型,难道又...原创 2011-12-06 18:23:30 · 347 阅读 · 0 评论 -
内部类使用实例
[b]内部类包括[/b]:成员内部类(和成员变量一样)、局部内部类(方法内部定义的类)、静态内部类(调用时需要指定外部类的名称)、匿名内部类(return new 接口名称{public 接口中定义的方法实现})[b]成员内部类[/b]:作为外部类的成员存在,与外部类的属性和方法并存。成员内部类注意事项:1)成员内部类是依赖于外部类对象而创建的2)成员内部类中不能定义静态成员...原创 2011-12-08 11:04:15 · 211 阅读 · 0 评论 -
利用正则表达式获取网页中多处重复出现的标签数据
public static void main(String[] args) { String regex = "(.*?)"; String html = "tttyyyyyfafdasfbbb"; Pattern pattern = Pattern.compile(regex); Matcher match = pattern.matcher(html)...原创 2012-02-21 11:21:51 · 758 阅读 · 0 评论 -
几种classloader的加载范围
Bootstrap class loader:最顶级的class loader,采用native code实现,是JVM的一部分;它负责加载核心的Java包,如java.lang.*、java.uti.*等; 这些类位于$JAVA_HOME/jre/lib/rt.jar;Extension class loader:扩展的class loader,加载位于$JAVA_HOME/jre/li...原创 2012-02-28 12:43:11 · 412 阅读 · 1 评论 -
HashMap添加数据的过程
当添加的元素的key为null时,hashmap会先获取内部entry数组的第一个对象判断其key是否为null。如果不为null,通过entry.next查找下一个对象。直到遍历结束前找到key为null的对象。然后将新值替换旧值,并将旧值返回。如果未找到key为null的对象。则创建一个新的Entry对象。该对象的hash为0,key为null,value为传入的value。next指向第一个...原创 2012-03-14 22:18:09 · 3046 阅读 · 1 评论 -
修改图片大小并添加水印
import java.awt.*;import java.awt.image.*;import javax.imageio.ImageIO;import javax.imageio.ImageIO.*;import javax.imageio.IIOException;import java.io.*;import com.sun.image.codec.jpeg.JPE...原创 2012-03-29 13:47:26 · 158 阅读 · 0 评论 -
深度克隆与浅克隆
要想实现某个对象的克隆需要该对象实现java.lang.Cloneable接口。否则单纯调用super.clone()方法会抛出CloneNotSupportedException的异常(运行时异常)。如下:public class A { public void someMethod() { super.clone(); } }...原创 2012-04-05 16:31:16 · 130 阅读 · 0 评论 -
多线程的生命周期
实现多线程的两种方式:继承Thread类或是实现Runnable接口,推荐后者线程所拥有的状态:初始状态,可运行状态,运行状态,阻塞状态,锁池状态,等待队列,终止状态。线程的生命状态:1.当线程类被创建后就进入初始化状态。2.当调用.start()方法时就拿到对象锁,进入可运行状态(一旦获取cpu资源就会进入运行状态)3.当处于可运行状态的线程拿到cpu分配的时间片就进入运行状...原创 2011-11-22 17:51:44 · 124 阅读 · 0 评论 -
java自定义注解
关键元素介绍[b]1.Annotation Type Target(@Target)[/b] 注释类型 TargetIndicates the kinds of program element to which an annotation type is applicable. If a Target meta-annotation is not present on an anno...原创 2011-11-22 16:57:14 · 85 阅读 · 0 评论 -
加载一个资源文件的通俗
对于简单的只读文本数据,加载为Reader。对于简单的只读二进制或文本数据,加载为Stream。 对于可读写的二进制或文本文件,加载为File。 对于只读的配置属性文件,加载为Properties。对于只读的通用资源,加载为URL。...原创 2011-12-17 16:57:18 · 95 阅读 · 0 评论 -
java中对象、成员变量、静态变量、方法的内存分配
java中内存主要包含4块,即heap(堆内存)、stack(栈内存)、data segment(静态变量或是常量存放区)、codesegment(方法区).堆内存中存放的是new出的对象,new出的对象只包含成员变量。栈内存中:存放的是局部成员变量。对于基本的数据类型存放的是基本变量的值,而对于对象变量,存放的是堆内存的地址。静态、常量区:存放的是静态变量(类变量)或是常量。方法...原创 2011-12-22 12:11:55 · 596 阅读 · 0 评论 -
一个简单的socket编程实例
转正于http://www.cnblogs.com/linzheng/archive/2011/01/23/1942328.html一,网络编程中两个主要的问题一个是如何准确的定位网络上一台或多台主机,另一个就是找到主机后如何可靠高效的进行数据传输。在TCP/IP协议中IP层主要负责网络主机的定位,数据传输的路由,由IP地址可以唯一地确定Internet上的一台主机。而...原创 2011-12-28 10:50:05 · 109 阅读 · 0 评论 -
实现多线程使用继承Thread类和Runnable的原因
我们都知道实现多线程的两种方式,一种是继承Thread类,另一种是实现runnable接口。并用runnable接口的实现类创建线程。[b]使用Thread实现类来实现多线程的原因。[/b]Thread是代表线程类,当线程运行时执行的是里面的run方法。然后Thread类中的默认的run方法代码如下 public void run() { if (target != null) {...原创 2012-01-03 15:09:56 · 281 阅读 · 0 评论 -
ThreadLocal
ThreadLocal是实现线程范围内的数据共享,即不同线程获取的数据不同。ThreadLocal只是保存一个变量的,如果要让2个变量实现范围内的共享。就要定义2个ThreadLocal,如果是多个变量,可以将这些变量封装到对象当中,然后将对象放入一个Threadlocal中。ThreadLocal的原理就是内部是一个map,map的key存放的是线程的名称。值存放的是自己要保存的变量。...原创 2012-01-10 08:55:34 · 130 阅读 · 0 评论 -
项目中的使用技巧小记
实现数据在多线程之间的共享:因为线程的成员变量是各个该线程实例之间是共享的,所以可以将开变量放到实现Runnable接口的实现类中。充当成员变量。这样可以使用同一个Runnable创建多个线程。据说买票系统就是这么做的。(这种是线程的代码相同,所以才考虑使用同一个Runnable的)如果必须要使用不同的线程,可以将变量封装成负责对象传入到不同是线程中充当成员变量。当然也可以考虑使用内部...原创 2012-01-10 21:11:02 · 92 阅读 · 0 评论 -
常用的ClassLoader的加载范围
[b]WebAppClassLoader[/b]装载器装作文件的范围:会加载WEB-INF/lib/*和WEB-INF/classes/*如果加载失败会交给上级AppClassLoader进行加载。[b]AppClassLoader[/b]装载器装作文件的范围:加载的顺序为JRE\lib\* => JRE\lib\ext\* => JRE\classes\* => CLASSP...原创 2012-01-13 13:53:00 · 263 阅读 · 0 评论 -
enum的使用和分析
enum代表一组相同类型的常量。实例:package util;public enum TYPE { //定义邮件服务器常量,必须添加对应的构造方法 SMTP_126("smtp.126.com"),SMTP_TNICE("smtp.tnice.qq.com"),SMTP_163("smtp.163.com"); private final String smt...原创 2011-11-11 15:38:09 · 126 阅读 · 0 评论 -
JVM启动时指定-Dfile.encoding="UTF8"的作用
简单来说就是指定JVM默认的编码方式 java io中很多方法,如果你不指定具体的编码方式,就会从这个属性取得 file.encoding 但是后来(由于bug) 查看了jdk的一些实现,发现有些方法不管你指定编码与否都会从 file.encoding取编码方式,就是说是jdk的bug 当时发现的是JDK 1.5的某个版本有这个问题因为jdk默认字符编码是操作系统的编码,中文的系统自然就是gbk了...原创 2013-10-17 13:50:39 · 2912 阅读 · 0 评论