java基础
酷鱼影子
我不是代码的生产者,我只是代码的搬运工
展开
-
Java守护线程
在java虚拟机中有两种线程:守护线程和非守护线程。1.定义 守护线程:Java的线程创建方式,实现Runnable接口或继承thread类,然后调用thread的setDaemon(true)就标识为守护线程。例如虚拟机的垃圾回收机制,连接池实现 非守护线程:Java程序中的初始线程,main函数入口。2.存活方式 守护线程同主线程同生共死,主线程消亡,原创 2014-05-08 01:23:04 · 819 阅读 · 0 评论 -
java的(PO,VO,TO,BO,DAO,POJO)类名包名解释
PO:全称是persistant object持久对象最形象的理解就是一个PO就是数据库中的一条记录。好处是可以把一条记录作为一个对象处理,可以方便的转为其它对象。BO:全称是business object:业务对象主要作用是把业务逻辑封装为一个对象。这个对象可以包括一个或多个其它的对象。比如一个简历,有教育经历、工作经历、社会关系等等。我们可以把教育经历对应一个PO,工作经历对转载 2014-05-05 15:47:37 · 983 阅读 · 0 评论 -
StringUtilsd的isEmpty、isNotEmpty、isBlank、isNotBlank
1. public static boolean isEmpty(String str) 判断某字符串是否为空,为空的标准是 str==null 或 str.length()==0 下面是 StringUtils 判断是否为空的示例: StringUtils.isEmpty(null) = true StringUtils.isEmpty("")原创 2013-08-28 12:44:15 · 12220 阅读 · 0 评论 -
序列化反序列化的几种方式
一、Binary方法进行序列化1、首先。你被序列化的类需要用[Serializable]特性修饰,例如: [Serializable]public class AA{ public int i = 5;}2、那么你可以用如下方法序列化和反序列化:/// /// 序列化为二进制字节数组 /// /// 要序列化的对象 ///转载 2013-11-22 00:03:20 · 6803 阅读 · 0 评论 -
java基础2013
一、双括号初始化语法(DoubleBraceInitialization)(这里指的是大括号{}) 主要指的是集合类(List,Map,Set等),我们创建一个常量集合或传递一个常量集合作为参数,往往都会这么做(以Set为例):123456Set validCodes =new HashSet(); validCo原创 2013-12-17 23:45:00 · 687 阅读 · 0 评论 -
Observer一种行为模式
Observer被称为一种行为模式,用来构成运行中的对象间的关系。在“四人帮”的设计模式声明中提供的定义如下:Observer定义了对象间的一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新。Java类库的java.util包中通过Observable类和Observer接口,实现了一个Subject-Observer模式的非通用版本。Obser转载 2014-01-20 22:05:35 · 780 阅读 · 0 评论 -
2013-线程同步的使用
在实际的项目开发中,很多情况下我们需要用到线程类来控制程序并发进行以提高效率,但同时也会涉及到线程安全问题。 简单的线程控制我们可以使用Executors类来简单实现,具体可参考 文章1: Java ScheduledThreadPoolExecutor延迟或周期性执行任务 文章2:使用Executors和ThreadPoolExecutor2 使用了队列原创 2014-01-21 11:39:06 · 1080 阅读 · 0 评论 -
Java collections使用介绍
1. 工具类collections用于操作集合类,如List,Set,常用方法有:1) 排序(Sort)使用sort方法可以根据元素的自然顺序 对指定列表按升序进行排序。列表中的所有元素都必须实现 Comparable 接口。此列表内的所有元素都必须是使用指定比较器可相互比较的double array[] = {112, 111, 23, 456, 231 };fo转载 2014-06-13 21:19:40 · 818 阅读 · 0 评论 -
JDBC类型_JAVA类型对应表
从 JDBC 类型映射到 Java 类型JDBC 类型Java 类型CHARStringVARCHARStringLONGVARCHARStringNUMERICjava.math.BigDecimalDECIMAL原创 2014-08-02 21:21:09 · 7450 阅读 · 0 评论 -
使用String.intern减少内存使用
最近写一个程序,从文件中读取一些字/词,然后存储起来供别的类引用。对每个读入的词创建一个String,结果许多同样内容的也会存储多份,会占用大量内存。开始的一个想法是使用map/set来存储所有遇到的词,这样就没有重复的了。然后别的类只需要引用这些词就可以了。这样还需要一些工作量,经别人介绍,发现了String.intern方法。例如下面代码String a = new S转载 2014-11-18 10:13:35 · 696 阅读 · 0 评论 -
2014java基础笔记
获取3位数字,前面补零原创 2014-06-02 12:35:53 · 1342 阅读 · 0 评论 -
java7新特性——使用ThreadLocalRandom产生并发随机数
Java 7之前我们使用Math.random()产生随机数,使用原子变量来保存当前的种子,这样两个线程同时调用序列时得到的是伪随机数,而不是相同数量的两倍。ThreadLocalRandom是JDK 7之后提供并发产生随机数,能够解决多个线程发生的竞争争夺。ThreadLocalRandom不是直接用new实例化,而是第一次使用其静态方法current()。从Math.ran转载 2014-12-10 23:33:03 · 13627 阅读 · 0 评论 -
Java 7 新的 try-with-resources 语句,自动资源释放
从 Java 7 build 105 版本开始,Java 7 的编译器和运行环境支持新的 try-with-resources 语句,称为 ARM 块(Automatic Resource Management) ,自动资源管理。新的语句支持包括流以及任何可关闭的资源,例如,一般我们会编写如下代码来释放资源:?private static void cust转载 2014-12-10 23:24:18 · 1994 阅读 · 0 评论 -
Java 7 的 7 个新的 “酷” 特性
1. switch 中使用字符串变量public void testStringSwitch(String direction) { switch (direction) { case "up": y--; break; case "down": y++; break; case "left": x--;转载 2014-12-11 00:08:28 · 700 阅读 · 0 评论 -
异常处理的六个问题
觉得自己是一个Java专家吗?是否肯定自己已经全面掌握了Java的异常处理机制?在下面这段代码中,你能够迅速找出异常处理的六个问题吗? [java] view plaincopy<span style="font-size:12px;">OutputStreamWriter out = ... java.sql.Connection conn = ... try...翻译 2013-03-26 21:50:26 · 1248 阅读 · 0 评论 -
RuntimeException和非RuntimeException的区别
1. 异常机制 异常机制是指当程序出现错误后,程序如何处理。具体来说,异常机制提供了程序退出的安全通道。当出现错误后,程序执行的流程发生改变,程序的控制权转移到异常处理器。传统的处理异常的办法是,函数返回一个特殊的结果来表示出现异常(通常这个特殊结果是大家约定俗称的),调用该函数的程序负责检查并分析函数返回的结果。这样做有如下的弊端:例如函数返回-1代表出现异常,但是如果函数确实要返回-1这个...转载 2013-03-26 21:48:56 · 8649 阅读 · 0 评论 -
2013-Proxy代理的使用
package itour.cn.fare.gateway;import java.lang.reflect.InvocationHandler;import java.lang.reflect.Method;import java.lang.reflect.Proxy;import java.util.HashMap;import java.util.Map;pu原创 2014-01-21 11:15:52 · 985 阅读 · 0 评论 -
2013-正则表达式解析文本
在项目中可能会出现这样的场景:需要从一段文本中解析出数据,列如:需要从下文找出注红的数据 FSI/*CXS KA 909Y22MAR PEK1630 2020HKG0X 333 S CX 806Y23MAR HKG1150 1315ORD0S 77W 01 YOW2+YX2 17758 CNY原创 2014-01-21 13:12:23 · 2094 阅读 · 0 评论 -
黑马程序员---java几个基本的注解的使用
------------- java培训、android培训、java博客、java学习型技术博客、期待与您交流! --------------几个基本的注解l @SuppressWarningsØ 通过System.runFinalizersOnExit(true);的编译警告引出@SuppressWarnings("deprecation")l原创 2012-02-24 23:00:15 · 1154 阅读 · 0 评论 -
黑马程序员---Class字节码的获取和反射的使用
------------- java培训、android培训、java博客、java学习型技术博客、期待与您交流! --------------反射的基石——》Class类Class类代表java类,一个类被类加载器加载到内存中,占用一片存储空间,这个空间里面的内容就是字节码,不同的类的字节码是不同的,所以它们在内存中的内容是不同的,这个一个个的空间可分别用一个个的对象来表示如何得原创 2012-02-24 22:38:46 · 4641 阅读 · 0 评论 -
黑马程序员---枚举的详解
------------- java培训、android培训、java博客、java学习型技术博客、期待与您交流! --------------一、枚举:让某个类型的变量的取值只能为若干个固定值中的一个,否则,编译器就会报错。枚举可以让编译器在编译时久可以控制程序中填写的非法值,普通变量的方式在开发阶段无法实现这一目标二、枚举就相当于一个类,其中也可以定义构造方法、成员变量、普通方法和原创 2012-02-24 22:23:15 · 619 阅读 · 0 评论 -
黑马程序员---泛型与泛型的反射
------------- java培训、android培训、java博客、java学习型技术博客、期待与您交流! --------------1、 HashMap对应泛型的使用HashMap maps =new HashMap(); maps.put("lisi",23); maps.put("wangwu",25); maps.原创 2012-02-24 23:05:01 · 823 阅读 · 1 评论 -
黑马程序员——贪吃蛇游戏项目分析过程
---------------------- android培训、java培训、期待与您交流! ----------------------第一步:从什么地方入手1、 设计到几个对象(类)2、 每个类有什么方法 游戏的显示面板GamePanel类Void display();//显示 方块Shape类void moveLeft();原创 2012-05-14 11:02:06 · 1289 阅读 · 0 评论 -
黑马程序员——黑马诗歌
黑马的勇士冲啊!!!用我们的战靴踏遍世界!!!程序猿万岁!!!!!JAVA在前进,道路畅通无阻!Android整装待命!要去消灭专制,开拓自由之路。像我们父辈一样,时刻准备作最后冲击!死神是我们的战侣,我们就是黑色的队伍!我们是中关村的骄傲!胸前的勋章便是我们最好的证明!!!前进吧!Android!很多年你都是在漫骂声度过的很多人都不解你的真谛转载 2012-06-06 11:52:05 · 750 阅读 · 0 评论 -
黑马程序员——java编程应尽量做到的几点
对于Java工程师来说,提高性能是必要做的,在这其中应该做到哪些方面呢?下面我们一起来讨论一下。 最近的机器内存又爆满了,除了新增机器内存外,还应该好好review一下我们的代码,有很多代码编写过于随意化,这些不好的习惯或对程序语言的不了解是应该好好打压打压了。 下面是参考网络资源总结的一些在Java编程中尽可能要做到的一些地方。 1.尽量在合适的场合转载 2012-06-06 11:53:07 · 508 阅读 · 0 评论 -
黑马程序员——java抽象类详解
---------------------- android培训、java培训、期待与您交流! ----------------------/*当多个类中出现相同功能,但是功能主体不同。这是可以进行向上抽取。这时,只抽取功能定义,而不抽取功能主体。抽象:看不懂。抽象类的特点:1、抽象方法一定在抽象类中。2、抽象方法和抽象类都必须被abstract关键原创 2012-05-23 09:42:45 · 582 阅读 · 0 评论 -
黑马程序员——异常概叙
---------------------- android培训、java培训、期待与您交流! ----------------------异常:是什么?是对问题的描述。将问题进行对象的封装---------Throwable |--Error |--Exception |--RuntimeException异常体系的特原创 2012-05-23 21:16:35 · 432 阅读 · 0 评论 -
黑马程序员——交通灯管理系统
---------------------- android培训、java培训、期待与您交流! ----------------------交通灯管理系统第一步:模拟实现十字路口的交通灯管理系统逻辑,具体需求如下: Ø 异步随机生成按照各个路线行驶的车辆。例如: 由南向而来去往北向的车辆 ---- 直行车辆 由西向而来去往南原创 2012-05-25 07:20:21 · 403 阅读 · 0 评论 -
黑马程序员——银行业务调度系统
银行业务调度系统 ---------------------- android培训、java培训、期待与您交流! ----------------------模拟实现银行业务调度系统逻辑,具体需求如下: Ø 银行内有6个业务窗口,1- 4号窗口为普通窗口,5号窗口为快速窗口,6号窗口为VIP窗口。Ø 有三种对应类型的客户:VIP客户,原创 2012-05-25 07:33:28 · 523 阅读 · 0 评论 -
Java NIO
NIO是New IO的缩写,顾名思义,是用于输入输出的新的API,那么,这个NIO相较于旧的IO有什么差别呢? 1、“阻塞”的通信机制 在原有的IO下,我们要与A进行通信时,会怎么做呢?先创建一个线程,然后建立连接,然后不断轮询等待接收消息。当需要与另一个B进行通信时,仍然先创建一个线程,然后建立连接(accept),不断轮询等待接收消息(read)… 在这种情况下,若通信的对象转载 2013-10-23 11:40:25 · 739 阅读 · 0 评论 -
以追加方式写入文件的几种方法
import java.io.BufferedWriter; import java.io.FileOutputStream; import java.io.FileWriter; import java.io.IOException; import java.io.OutputStreamWriter; import java.io.RandomAccessFile; /**转载 2013-11-25 14:18:41 · 1509 阅读 · 0 评论 -
避免Java应用中NullPointerException的技巧和最佳实践
Java应用中抛出的空指针异常是解决空指针的最好方式,也是写出能顺利工作的健壮程序的关键。熟话说“预防胜于治疗”,对于这么令人讨厌的空指针异常,这句话也是成立的。值得庆幸的是运用一些防御性的编码技巧,跟踪应用中多个部分之间的联系,你可以将Java中的空指针异常控制在一个很好的水平上。顺便说一句,这是Javarevisited上的第二个空指针异常的帖子。在上个帖子中我们讨论了Java中导致空指针异常转载 2013-11-26 22:10:25 · 13910 阅读 · 6 评论 -
优先使用TimeUnit类中的sleep()
TimeUnit是什么?TimeUnit是java.util.concurrent包下面的一个类,TimeUnit提供了可读性更好的线程暂停操作,通常用来替换Thread.sleep(),在很长一段时间里Thread的sleep()方法作为暂停线程的标准方式,几乎所有Java程序员都熟悉它,事实上sleep方法本身也很常用而且出现在很多面试中。如果你已经使用过Thread.sleep(),当然转载 2013-11-29 23:23:54 · 9139 阅读 · 0 评论 -
JDK6和JDK7中的substring()方法
JDK6中的substring()java中字符串是通过字符数组来支持实现的,在JDK6中,String类包含3个域,char[] value、int offset、int count。分别用于存储真实的字符数组、数组的偏移量,以及String所包含的字符的个数。当substring()方法被调用的时候,它会创建一个新的字符串对象,但是这个字符串的值在java 堆中仍然指向的是同一个数组,原创 2013-11-30 11:46:56 · 689 阅读 · 0 评论 -
静态初始化工厂
在实例化过程中,通过不同的描述性方法名来显示哪些参数需要传递。在一些情况下,哪些参数可以由方法名知道无需传递。新手可能会觉得这种方法无法用于对象实例化和初始化,理由是Java中类的构造函数必须与类同名相同。这意味着构造函数仅能通过同名函数重载。幸运的是,Josh Bloch在每一版Effective Java的第一章都会解释这个问题。按照Bloch的说法,我们可以使用静态初始化工厂实例化类。这转载 2013-11-30 01:09:00 · 1659 阅读 · 0 评论 -
黑马程序员---内省JavaBean
------------- java培训、android培训、java博客、java学习型技术博客、期待与您交流! --------------JavaBean简单来说是具有setter和getter方法的特殊类,该类将属性隐藏,并对外提供setter和getter方法。示例:packagecn.itcast.day1; importjava.util.Date;原创 2012-02-24 22:42:08 · 592 阅读 · 0 评论