- 博客(28)
- 资源 (4)
- 收藏
- 关注
转载 程序员如何学习和积累
对于一个程序员来说,学习的重要性相信大家都能意识得到。如何才能有效地学习,高效地学习?探讨下这个问题,我认为很有必要。 每个人学习的方法和习惯可能都不尽相同,很多人习惯了在学校的学习方式,特别是很多刚出校门的人。在他们潜意识中,学习只是应付考试的一种手段,考完就一切OK了,全部还给老师了也无所谓,反正考完之后下次不会再考这么课程了(大学尤其如此)。长期的应试教育会让很多人以考试的心态来对
2012-11-29 20:51:14 409
转载 Java中重写Object类的equals方法和Hashcode方法的注意事项
在重写任何类的equals方法是必须遵循以下几点: 1、对称性:如果x.equals(y)返回是“true”,那么y.equals(x)也应该返回是“true”。 2、反射性:x.equals(x)必须返回是“true”。 3、类推性:如果x.equals(y)返回是“true”,而且y.equals(z)返回是“true”,那么z.equals(x)也应该返回是“true”。 4、还有一
2012-11-29 20:48:55 1218
转载 Java之美[从菜鸟到高手演变]之智力题
1、农民分金条问题 题目:你让农民为你工作7天,给他的回报是一根金条。金条平分成相连的7段,你必须在每天结束时给他们一段金条,如果只许你两次把金条弄断,你如何给你的工人付费,保证该农民在七天中任意一天结束时都可以领到相应的报酬。(例:第一天结束时他可领到1/7,第三天结束时他可领到3/7) 我当时在面试某企业的时候被问到了这个问题,面试官没有和我说“金条是平分成7段的”。所以我当时把精力都集中
2012-11-29 20:46:16 786
转载 Java之美[从菜鸟到高手演变]之Java学习方法
前段时间逛论坛,总会有很多新手很迷茫,问到:到底该怎么学好Java,这个问题很重要,尤其对于像我们这样大多数都是靠自学的人来说,找到一个好的学习方法至关重要!于是乎,我就给大家回答了很多,突然间想到了很久以前,看过的马士兵老师的一篇关于Java自学之路的文章,于是在网上找了找,结果找到了,马士兵老师的视频,是我目前最为推崇的Java学习视频,虽然还有很多,如张孝祥、黎活明、李兴华老师等,他们的都很
2012-11-29 20:42:11 1127
转载 Java之美[从菜鸟到高手演变]之JVM内存管理及垃圾回收
一、JVM内存的构 Java虚拟机会将内存分为几个不同的管理区,这些区域各自有各自的用途,根据不同的特点,承担不同的任务以及在垃圾回收时运用不同的算法。总体分为下面几个部分: 程序计数器(Program Counter Register)、JVM虚拟机栈(JVM Stacks)、本地方法栈(Native Method Stacks)、堆(Heap)、方法区(Method Area) 如下图:
2012-11-29 20:40:35 556
转载 Java之美[从菜鸟到高手演变]之设计模式
一、设计模式的分类 总体来说设计模式分为三大类: 创建型模式,共五种:工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式。 结构型模式,共七种:适配器模式、装饰器模式、代理模式、外观模式、桥接模式、组合模式、享元模式。 行为型模式,共十一种:策略模式、模板方法模式、观察者模式、迭代子模式、责任链模式、命令模式、备忘录模式、状态模式、访问者模式、中介者模式、解释器模式。 其实还有两
2012-11-29 20:39:22 591
转载 Java之美[从菜鸟到高手演变]之HashMap、HashTable
一、HashMap的内部存储结构 Java中数据存储方式最底层的两种结构,一种是数组,另一种就是链表,数组的特点:连续空间,寻址迅速,但是在删除或者添加元素的时候需要有较大幅度的移动,所以查询速度快,增删较慢。而链表正好相反,由于空间不连续,寻址困难,增删元素只需修改指针,所以查询慢、增删快。有没有一种数据结构来综合一下数组和链表,以便发挥他们各自的优势?答案是肯定的!就是:哈希表。哈希表具有较
2012-11-29 20:32:48 611
转载 Java之美[从菜鸟到高手演变]之集合类
一、集合类简介 数组是很常用的一种的数据结构,我们用它可以满足很多的功能,但是,有时我们会遇到如下这样的问题: 1、我们需要该容器的长度是不确定的。 2、我们需要它能自动排序。 3、我们需要存储以键值对方式存在的数据。 如果遇到上述的情况,数组是很难满足需求的,接下来本章将介绍另一种与数组类似的数据结构——集合类,集合类在Java中有很重要的意义,保存临时数据,管理对象,泛型,Web框架
2012-11-29 20:31:09 458
转载 Hibernate读书笔记-----Hibernate的关联映射之N-N关联映射 .
四、N—N关联关系 1.1单向N-N的关联 单向的N-N关联和1-N关联的持久化类完全一样,控制关系的一端需要增加一个set集合属性,被关联的持久化实例以集合的形式存在。 N-N关联必须使用连接表,N-N关联与有连接表的1-N关联非常相似,只需要去掉元素的unique="true"即可。其他的配置和1-N关联一样。
2012-11-15 20:19:18 325
转载 Hibernate读书笔记-----Hibernate的关联映射之1-N关联映射
三、1—N 对于1-N而言,它的持久化类发生了一点改变,持久化类里需要使用集合属性。因为1的一端需要访问N的一端,而N的一端将以集合(Set)形式表现。 1、单向1-N关联 对于单向的1-N关联关系,只需要在1的一端增加Set类型的属性,该属性记录当前实体的关联实体。 同样以员工-部门为例(Emp
2012-11-15 20:18:06 443
转载 Hibernate读书笔记-----Hibernate的关联映射之1-1关联映射
二、1—1 无论是单向1-1映射关联,还是双休1-1映射关联,都有三种映射策略:基于主键、基于外键、采用连接表。 1、单向1-1映射关联 1.1、基于主键的单向1-1映射关联 对于基于主键的单向1-1关联,基于主键关联的持久化类不能拥有自己的主键生成器策略,它的主键由关联实体来负责生
2012-11-15 20:15:43 690
转载 Hibernate读书笔记-----Hibernate的关联映射之N-1关联映射
我们所生活的世界很少有事物是孤立存在的,每个事物必然会存在着与它相关联的事物。在面向对象设计当中,关联关系是非常重要的。关联关系一般可以分为以下两种: 单向关系:只需单向访问关联端 双向关系:关联的两端都可以互相访问 单向关系可分为:1—N、1—1、N—1、N—N 双向关系可分为:1—1 、1—
2012-11-15 20:11:39 620
转载 关系型数据库设计——范式的应用
E-R模型 实体-联系数据模型的提出旨在方便数据库的设计。E-R数据模型采用了三个基本概念:实体集、联系集和属性,可以很好的描述现实世界的概念模型。 在用E-R模型设计数据库时,可以避免两个缺陷:数据冗余和不完整。但是,为了更加合理、科学的设计数据库,又出现了规范化。 好的关系数据库设计的特点: 关系数据库设计的目标是生成一组关系模式,使我们存储信息时避免不必要
2012-11-11 20:21:27 1037
转载 常用正则表达式合集
---------------------------------------------------常用正则表达式----------------------------------------------- 1.匹配数字格式 reg1=/^[-+]?\d+(\.\d+)?$/g;//所有数字 正负整数小数 reg2=/^[-
2012-11-10 09:52:53 582
原创 Hibernate悲观锁和乐观锁详解
业务实现过程中,难免需要保证数据访问的排他性。如金融系统的日终结算中,我们会针对某个截止点的数据进行处理,在此同时,不希望在结算的这段时间里(几秒钟或者几个钟头),数据再有变动,不然我们的统计也无效了。这种时候,我们为了保证某些数据在某个操作中不被外界修改,就引入了我们hibernate的锁机制,一旦我们给目标上锁,其他程序则不能去修改。hibernate中锁是两种,悲观和乐观锁。 1、悲观锁
2012-11-09 20:26:33 630
原创 定时执行任务quartz用法
定时执行某个或者某些任务的需求是常有发生,要解决此问题总共有两种方法,一种是通过开源的quartz框架完成,此框架由Java语言编写;另一种就是Java自带的定时器Timer。在本篇文章中我们将介绍quartz框架的使用方法。 操作步骤: 1、编写一个实现接口org.quartz.job的类,此接口中只有一个方法execute: import org.quartz.Job; import
2012-11-07 21:12:11 1442
原创 管道PipedInputStream/PipedOutputStream类应用
当需要在两个线程中读写数据的时候,由于线程的并发执行,读写的同步问题可能会发生困难,这时候可以使用管道,管道事实上是一个队列。 管道是由系统维护的一个缓冲区,当然程序员也可以自己直接指定该缓冲区的大小(只需要设置管道流类中的PIPE_SIZE属性的值)。当生产者生产出数据后,只需要将数据写入管道中,消费者只需要从管道中读取所需要的数据。利用管道的这种机制,可以将一个线程的输出结果
2012-11-07 20:52:30 697 1
原创 FileInputStream/FileOutputStream的应用
功能:用于本地文件读写(二进制格式读写并且是顺序读写,读和写要分别创建出不同的文件流对象); 本地文件读写编程的基本过程为: ① 生成文件流对象(对文件读操作时应该为FileInputStream类,而文件写应该为FileOutputStream类); ② 调用FileInputStream或FileOutputStream类中的功能函数如read()、write(int b
2012-11-07 20:47:16 658
转载 对象拷贝类PropertyUtils,BeanUtils,BeanCopier的技术沉淀
功能简介 对象拷贝的应用现状简介: 业务系统中经常需要两个对象进行属性的拷贝,不能否认逐个的对象拷贝是最快速最安全的做法,但是当数据对象的属性字段数量超过程序员的容忍的程度,代码因此变得臃肿不堪,使用一些方便的对象拷贝工具类将是很好的选择。 目前流行的较为公用认可的工具类: Apache的两个版本:(反射机制) org.apache.commons.bean
2012-11-06 22:18:32 42304 4
原创 操作properties属性文件
读取properties属性文件总共有两种方式,ResourceBundle和Properties。下面,说说这两种方式的区别: 1、通过ResourceBundle读取.properties文件可避免路径问题。在jar里读取.properties文件时,总是出现找不到文件路径,后来用ResourceBundle读取.properties文件即可避免路径问题。
2012-11-06 22:13:45 920 1
转载 BlockingQueue详解
BlockingQueue,如果BlockingQueue是空的,从BlockingQueue取东西的操作将会被阻断进入等待状态,直到BlockingQueue进了东西才会被唤醒,同样,如果BlockingQueue是满的,任何试图往里存东西的操作也会被阻断进入等待状态,直到BlockingQueue里有空间时才会被唤醒继续操作。 BlockingQueue定义的常用方法如下:
2012-11-06 21:53:22 631 1
原创 Java时间工具类
import java.sql.Timestamp; import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date; public class DataUtil { /** * 功能: 将日期对象按照某种格式进行转换,返回转换
2012-11-06 21:49:38 623 1
原创 Spring定时器用法
定时执行任务,这是项目中常用的东西: 首先要增加相应的JAR。 spring.jar,quartz-all-1.6.5.jar,quartz-1.5.2.jar,commons-logging.jar,log4j-1.2.14.jar 定义web.xml配置文件 要在配置文件中定义Spring和Log4j的使用。 xml version="1.0" encodin
2012-11-06 21:47:54 480
原创 MyEclipse设置注释模板
MyEclipse菜单设置位置: Window --> Java --> Code Style --> Code Templates --> Comments --> types --> Edit 注释模板格式 /** * 项目名称:${project_name} * 类名称:${type_name} * 类描述:暂无 * 创建人:${user}
2012-11-06 21:31:31 382
原创 Hibernate的查询 HQL查询
HQL参数为分两种,一种是占位符方式:(注意是从 0 开始) String hql = "from User u where u.id=?"; Query query = session.createQuery(hql); query.setParameter(0, 2); List user = query.list();
2012-11-06 21:25:38 402
原创 字节数组与十六进制间的转换
import java.util.Arrays; public class Bytes { private final static byte[] hex = "0123456789ABCDEF".getBytes(); private static int parse(char c) { if (c >= 'a') return (c - 'a' + 10) & 0x0f
2012-11-06 21:15:32 532
原创 java解析主机名获取ip地址
import java.net.*; /** * 解析主机名获取ip地址 */ public class GetIpByHostName { public static void main(String[] args){ InetAddress address = null; if(args.length == 0){
2012-11-06 21:09:36 2613 1
原创 ByteArrayOutputStream和ByteArrayInputStream详解
ByteArrayOutputStream类是在创建它的实例时,程序内部创建一个byte型别数组的缓冲区,然后利用ByteArrayOutputStream和ByteArrayInputStream的实例向数组中写入或读出byte型数据。在网络传输中我们往往要传输很多变量,我们可以利用ByteArrayOutputStream把所有的变量收集到一起,然后一次性把数据发送出去。具体用法如下:
2012-11-06 20:58:02 451
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人