摘要:
文艺是一种感受,它来自路过看的人。代码也如此,代码文艺不文艺,首先要从client code看。假设我们想要实现一个长方形的构造函数,怎么能写的文艺点儿呢?1.普通青年直接用构造函数当你看到 new Rectangular(2.0, 4.0)的时候,你知道2.0和4.0是什么意思吗?幸运的是这个类只有两个构造参数,还不算太猛。如果类的field太多,只有进入Rectangular的类实现去看了。像我这种记性不好的,说不定一会儿就要看下,隔一会儿又要看下。public class Rectangular { private final double length; private final.. 阅读全文
随笔分类 - java
Hibernate正向工程hbm2ddl
2013-07-22 16:56 by java20130722, 263 阅读, 收藏,
摘要:
转自:http://blog.csdn.net/yinianshen/article/details/4316809(向原作者致敬) 一般在项目开发过程中,使用比较多的就是先建好表,再利用hibernate反向工程生成*.hbm.xml文件跟POJO类,个人认为由于目前所使用的数据库都是关系数据库,而hibernate作为一个ORM,把对数据库的操作都对象化了,更应当从对象出发,生成数据库里面相关表,这样更加符合人认知事物的习惯。由于hibernate3提供了自带的工具hbm2ddl,建立根据你的对象建立数据库是一件非常简单的事情。SchemaExport工具:Hibernate的hbm2d. 阅读全文
IIS7 + Tomcat7 整合共用80端口
2013-07-21 18:01 by java20130722, 457 阅读, 收藏,
摘要:
最近项目需要,要在将JSP项目集成到80端口,但是80端口已运行了一个项目,所有只有将tomcat集成进IIS。在google,baidu搜索看了需要博客,说法都大同小异,都是用这种方法:http://wenku.baidu.com/view/133615d5240c844769eaee5f我意外FQ发现个视频,安装一个exe文件,就可以将 IIS 和 tomcat 整合起来,超级简单,相比于以上链接里的修改注册表,下载dll等等配置来说简单很多。我已将youtube视频下载然后上传到youku了,视频链接:http://v.youku.com/v_show/id_XNTg1MTgyODgw. 阅读全文
[置顶] 读源码练内功(一):guava之eventbus
2013-07-16 23:14 by java20130722, 308 阅读, 收藏,
摘要:
现在如今眼目下,开源程序库越来越多,程序员们很多时候都不需要自己造轮子,就可以找到称心如意的开源库进行使用。虽然我们在使用各种各样的开源代码时,并不需要知道这些代码是如何实现的。但是了解它们的实现方法,不仅可以提升我们自己本身的编程能力和编程技巧,同时也为我们学习某一特定的技术点提供了可以模仿的例子。Guava简介如同boost之于c++,guava也几乎成为了java编程中不可或缺的一部分。guava中涵盖了很多有意思的东西,比如在java中使用函数式编程;新的数据结构,如bimap等等。总之,guava让写java程序成为一件更美好的事情。guava中还有很多很多有意思的东西,可以去gua 阅读全文
Java中编写可变长参数的函数
2013-07-15 18:00 by java20130722, 242 阅读, 收藏,
摘要:
越来越多的Java库使用了可变长参数,不再需要加一个new Object[]那么别扭。那么如何自己实现一个这样的可变长函数呢?我们就以实现一个一长串的整数相加作为例子:变长参数是用T...标明,在函数体内,其实就是一个类型为T的数组,然后像操作数组那样进行变长参数就行了。例子:public class KMath { public static int add(int... args) { int result = 0; for (int arg : args) { result += arg; } ... 阅读全文
java解析bmp文件
2013-07-04 17:38 by java20130722, 2012 阅读, 收藏,
摘要:
最近想做一个图片查看器,因为bmp的图片简单些,也就从这个入手。 运用的基本知识还是IO的,关键是在于对于“协议”的理解。 一直觉得这些个协议是个很帅气的东西。感觉就像密码一样,你读到了一个文件,你只有知道对方的“加密”方式,你才能正确的解读,否则你拿着也没用。就像你无法用记事本正确地打开一张图片一样,里面只会全是乱码。 言归正传,根据以上的说法,我们首先应该去了解的是BMP文件时如何写的。 BMP文件分为四个部分:文件头信息块,图像描述信息块,颜色表,图像信息区。 文件头信息块 这个部分主要是一些基本的信息,比如,开头两个字节最终读出来是BM,是标识BMP... 阅读全文
java 同步块(Java Synchronized Blocks)
2013-06-27 15:26 by java20130722, 282 阅读, 收藏,
摘要:
java 同步块(Java Synchronized Blocks)Java 同步块包括方法同步和代码块同步。java 同步可以避免资源竞争,避免死锁。主题包括的主要内容:synchronized关键字Synchronized 实例方法Synchronized static methodsSynchronized blocks in instance methodsSynchronized blocks in static methodsJava Synchronized ExampleThe Java synchronized Keyword在java中,同步是用synchronized关键 阅读全文
java 处理高精度计算
2013-06-08 15:20 by java20130722, 276 阅读, 收藏,
摘要:
java 处理高精度计算Double.valueOf(String) and Float.valueOf(String)都会丢失精度。为了解决这个问题,需要用到BigDecimal类。使用的BigDecimal类的时候需要注意的地方:1. 在实例化BigDecimal 的时候用 new BigDecimal(String) 代替new BigDecimal(double) ,new BigDecimal(float)在《Effective Java》书中有提到2. 比较两个数的时候用compareTo 小于返回-1 , 等于返回0 , 大于返回1import java.math.BigDeci 阅读全文
切分和组合图片(二)
2013-05-10 13:19 by java20130722, 166 阅读, 收藏,
摘要:
切分和组合图片(二)组合步骤:1. 初始化有多少小图片2. 加载小图片到缓存中3. 初始化大图片存储器4. 组合小图片到大图片5. 生成大图片文件小图片源:int rows = 4; //初始化有小图片的数量 int cols = 4; int chunks = rows * cols; int chunkWidth, chunkHeight; int type; //读取图片文件 File[] imgFiles = new File[chunks]; ... 阅读全文
切分和组合图片(一)
2013-05-10 13:07 by java20130722, 242 阅读, 收藏,
摘要:
切分和组合图片切割图片1. load 要切分的图片2. 确定要切分成多少块3. 计算小图片的高度和宽度4. 切分图片5. 保存图片要切分图片: File file = new File("btg.jpg"); // 项目目录下有名为btg.jpg的图片 FileInputStream fis = new FileInputStream(file); BufferedImage image = ImageIO.read(fis); //把文件读到图片缓冲流中 int rows = 4; //定义图片要切分成多少块 ... 阅读全文
SimpleDateFormat 日期格式化
2013-04-17 14:09 by java20130722, 150 阅读, 收藏,
摘要:
SimpleDateFormat 日期格式化SimpleDateFormat format = new SimpleDateFormat("yyyyMMdd") ; String s = format.format(new Date()) ; System.out.println(s); format = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSZ") ; System.out.println(format.format(new Date()));在Android中都是可以运行的。 阅读全文
设计模式-Observer(观察者模式)
2013-04-10 15:43 by java20130722, 282 阅读, 收藏,
摘要:
设计模式-Observer(观察者模式)Observer模式应该可以说是应用最多、影响最广的模式之一,因为Observer的一个实例Model/View/Control(MVC)结构在系统开发架构设计中有着很重要的地位和意义,MVC实现了业务逻辑和表示层的解耦。个人也认为Observer模式是软件开发过程中必须要掌握和使用的模式之一。在MFC中,Doc/View(文档视图结构)提供了实现MVC的框架结构(有一个从设计模式(Observer模式)的角度分析分析Doc/View的文章正在进一步的撰写当中,遗憾的是时间:))。在Java阵容中,Struts则提供和MFC中Doc/View结构类似的实 阅读全文
Ubuntu 下JDK安装
2013-04-09 15:27 by java20130722, 106 阅读, 收藏,
摘要:
1. 从oracle 官网上下载JDK *.bin结尾的安装文件 note:如果是从windows上下载, 可以通过SSH客户端把文件传送的Ubuntu里面2. 将*.bin 文件拷贝到安装目录 本人是安装在/usr/bin/jvm目录 开始*.bin文件在~/Download目录 1)在/usr/bin目录下创建jvm目录 2)将*.bin 文件复制到/usr/bin/jvm命令:mv ~/Download/*.bin /usr/bin/jvm3) 解压当前文件到当前目录命令: sh *.bin4) 更改解压后的文件名命令:mv jdk6*** jdk为了配置环境变量的时候方便。 配... 阅读全文
JDK中设计模式
2013-04-07 07:44 by java20130722, 173 阅读, 收藏,
摘要:
原文:http://blog.csdn.net/gtuu0123/article/details/6114197本文主要是归纳了JDK中所包含的设计模式,包括作用和其设计类图。首先来个总结,具体的某个模式可以一个一个慢慢写,希望能对研究JDK和设计模式有所帮助。一、设计模式是什么(1)反复出现问题的解决方案(2)增强软件的灵活性(3)适应软件不断变化二、学习JDK中设计模式的好处(1)借鉴优秀代码的设计,有助于提高代码设计能力(2)JDK的设计中体现了大多数设计模式,是学习设计模式的较好的方式(3)可以更加深入的了解JDK三、类间关系继承、委托、依赖、聚合、组合四、介绍方式(1)作用:归纳某设 阅读全文
[置顶] 屠夫与大夫
2013-04-06 18:39 by java20130722, 210 阅读, 收藏,
摘要:
一个刚做了爸爸的屠夫气愤地说。“简直是疯了!加上产科医生的诊费、住院费和护理费,这个孩子竟然要800块钱1公斤!”可能很多人看到这个笑话时,都在哈哈大笑,嘲笑屠夫的职业病。但是又有多少程序员想过我们自己或许正在做和这个屠夫相同的事呢?屠夫每天拿着一把大刀剁肉,心中就只有刀。我们每天拿个xxyy的编程语言写程序,是不是我们心中就只有xxyy了呢?我们的思维会不会被xxyy所奴获了呢?现在不少的公司使用考一些比较古怪的语法来测试应聘者是否对某种编程语言足够熟悉。似乎招聘方和应聘者都以此为乐,市面上类似的书籍也层出不穷。但是,我们使用编程语言,是希望能够用编程语言清楚的反映我们想要做到的事情,让他乖 阅读全文
设计模式-单例模式(singleton)
2013-04-02 07:58 by java20130722, 170 阅读, 收藏,
摘要:
设计模式-单例模式(singleton)Singleton模式是设计模式中最为简单、最为常见、最容易实现,也是最应该熟悉和掌握的模式。且不说公司企业在招聘的时候为了考察员工对设计的了解和把握,考的最多的就是Singleton模式。模式结构图:Singleton模式典型的结构图为: 在Singleton模式的结构图中可以看到,我们通过维护一个static的成员变量来记录这个唯一的对象实例。通过提供一个staitc的接口instance来获得这个唯一的实例。实现:SingletonTest: 实现3实现单例package com.designpatten.singleton; public... 阅读全文
linux 环境配置文件
2013-03-21 00:46 by java20130722, 270 阅读, 收藏,
摘要:
login 与 non-login shell在了解linux 环境配置文件前,先了解login 和non-login shell ,因为这两个取得 bash 的情况中,读取的配置文件数据并不一样所致login shell:取得 bash 时需要完整的登陆流程的,就称为 login shell。举例来说,你要由 tty1 ~ tty6 登陆,需要输入用户的账号与密码,此时取得的 bash 就称为『 login shell 』啰;non-login shell:取得 bash 接口的方法不需要重复登陆的举动,举例来说,(1)你以 X window 登陆 Linux 后, 再以 X 的图形化接口启 阅读全文
QuickSort(Java)
2012-09-20 08:17 by java20130722, 201 阅读, 收藏,
摘要:
实现代码:public class QuickSort { public void sort(int[] input) { quickSort(input, 0, input.length - 1); } private void quickSort(int[] input, int begin, int end) { if (begin >= end) return; int mid = partition(input, begin, end); quickSort(input, begin, mid-... 阅读全文
MergeSort(Java)
2012-09-19 22:54 by java20130722, 252 阅读, 收藏,
摘要:
实现代码:MergeSort.javapublic class MergeSort { public int[] sort(int[] input) { if (input.length input[1]) { int temp = input[0]; input[0] = input[1]; input[1] = temp; } return input; } int mid = input.... 阅读全文
Android spinner 动态添加时报错 java.lang.UnsupportedOperationException
2012-05-11 21:07 by java20130722, 637 阅读, 收藏,
摘要:
// spinner Adapterprivate ArrayAdapter spinnerAdapter = null;private Spinner detailSpinner;private String[]taskStatus = null;private List statuses = null;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);this.setContentView(R.layout.spinner_no... 阅读全文
浙公网安备 33010602011771号