
java学习
決心
致力于解决实际问题
展开
-
java 数组容器List用法举例
List list = new ArrayList(); for (intp = 0; p k4+1;p++) {if (T[p + 1] > 0) {inttheaT=T[p+1]-T[p];list.add(theaT);}}int[]a = new int[list.size()]; for(i原创 2014-11-24 19:06:36 · 756 阅读 · 0 评论 -
《Effective Java》学习笔记之一
《代码整洁之道》读到11章开始步入我不熟悉的架构等部分,因为还没有过实际应用,暂时停止。开始学习另一本《Effective Java》。原创 2016-03-25 19:20:04 · 275 阅读 · 0 评论 -
设计模式部分整理
1.Builder模式 当对象的属性比较多,过于复杂时,首先要把可以聚合为一个对象的属性作为一个对象,然后这些和同一层级的属性作为这个类的属性。比如定义了一个模版,里面有检测器,取值器,又有设备属性等,那么这些同一层级的作为第一个对象的属性(也就是模版的),然后检测器等对象各自再有自己的属性(比如:图像啊,文本啊,怎么取,参考判断逻辑,而其中的参考判断逻辑又可以定义成一个对象,再单独对它的各个属性原创 2016-04-23 18:52:48 · 328 阅读 · 0 评论 -
JVM内存GC机制
一些自己印象笔记收录的资料,这里先留存链接,等闲下来整理成文。 编程时注意的一些小技巧,配合GC,及早释放无用对象占有的内存,或者减少内存的使用,比如无用对象的置null,少用new对象,StringBuffer,容器大小给予一定初始化等。 转自:http://blog.youkuaiyun.com/tutngfei1129287460/article/details/7383480(这个也不是原帖,转载者原创 2016-04-23 12:41:38 · 322 阅读 · 0 评论 -
多个C3P0的java举例
在使用mysql时,如果数据库会被频繁多人调用,有必要使用连接池来帮助协调,使用C3P0连接池时想要用多个数据库时,需要分别定义ComboPooledDataSource的静态对象。举例如下:public class ConnOfC3P0Util { private static Log logger = LogFactory.getLog(ConnOfC3P0Util.class);原创 2016-04-19 19:37:49 · 1421 阅读 · 0 评论 -
《代码整洁之道》学习笔记(二)
19.系统应该由许多短小的类组成,每个小类封装一个权责,只有一个修改原因。(SRP原则) 20.待续,看到十一章“系统”感觉后面开始吃力,自己还没用过,何谈整洁之道,暂时停止,以后跟进。原创 2015-11-20 18:04:48 · 337 阅读 · 0 评论 -
代码整洁之道(一)——初学笔记
项目收尾阶段,自由时间相对充裕些,所以买了《代码整洁之道》等五本编程规范的书籍,边学习,边整理以前做过的代码,希望以后能不用反复整理,就能写出出色的项目代码。 以下是学习到的一些规范整理: 1.变量,函数等的命名要可读(英文拼写,驼峰式);一定不要用简单的字母,或者a1,a2这种,同时尽量不要用缩写;命名的详细程度(拼写)和它的作用域大小相对应;但是表述同样语境用词越少越好,精——简 2.同样原创 2015-11-19 19:28:49 · 730 阅读 · 0 评论 -
java中的Maven项目的两种打包方法
个人觉得 第二种方法更好。基于Maven构建的项目的方法:一:将项目所支持的所有类库打在一个包中,而不是只将项目编译打包到一个jar中。这样便可以直接拷贝一个jar去执行了。 Xml代码 plugin> artifactId>maven-assembly-pluginartifactId>转载 2015-09-08 14:08:08 · 29541 阅读 · 1 评论 -
mahout学习之二——mahout0.9kmeans聚类实例
最近学习《Mahout实战》,但是书中的代码是实用mahout0.5版本,很多地方在mahout0.9版本中已经改头换面了,经调试,阅读mahout0.9api,运行结果如图:修改代码如下:package cn.kelaile.hadooptest;import org.apache.hadoop.conf.Configuration;import or原创 2015-09-12 15:58:25 · 1234 阅读 · 0 评论 -
java eclipse 整个项目或包查找只定字符串并替换
java eclipse经常会用到整个类进行查找,ctrl+f,然后replaceall(XX,toXX)。但是最近要对webservice上的项目进行检查,里面的运行程序不能有system.out.println这样的语句,因为服务器上的控制台输出会存储到一个指定路径的文件里,超过9gtomcat就会运行变慢,甚至挂掉。所以这里要用,ctrl+h,开启全项目或者全包搜索,用法如下: 1.选中项目原创 2015-06-30 23:34:25 · 12041 阅读 · 1 评论 -
基于投影的字符版面分析java代码
首先介绍算法思路:图像对应方向的投影,就是在该方向取一条直线,统计垂直于该直线(轴)的图像上的像素的黑点数量,累加求和作为该轴该位置的值;基于图像投影的切割就是将图像映射成这种特征后,基于这种特征判定图像的切割位置(坐标),用这个坐标来切割原图像,得到目标图像。java代码实现: java的图像处理,这里大部分是由im.read读取,bufferedimage,然后转为二值bitset做处理(0,原创 2015-06-18 11:20:17 · 1652 阅读 · 0 评论 -
变量传递赋值和对象传递赋值的区别
当定义变量 int a=123;int b=0;执行:b=a;那么 a=123;b=123;执行:a=111;依然有b=123;这是因为变量传递赋值时,是传递的值的对应地址,而不是变量的地址。但是如果换为以对象(或者引用)传递赋值时,实际传递的是这个对象的存储地址,所以:class Test{int test;}Test t1=new Tes原创 2015-05-06 16:20:03 · 1833 阅读 · 0 评论 -
字符串的==和equals辨析
首先看 java中equals函数的源码:public boolean equals(ObjectanObject) {if (this ==anObject) { returntrue;}if (anObjectinstanceof String) { String anotherString = (String)anObject;原创 2015-05-05 12:46:28 · 582 阅读 · 0 评论 -
java内存回收机制
首先是一些java,jvm内存的分布情况,然后是具体每块区域的内存回收机制。 java不同于c++等语言由计算机直接编译文件,java编译class文件后生成bytecode文件,然后由不同平台的jvm进行bytecode的编译,所以java可以实现跨平台。 jvm类似于一个虚拟的计算机系统,有虚拟的硬件,寄存器,堆,栈等。 jvm的内存区划分为,栈(虚拟机栈,本地栈),堆,方法区(永久区)原创 2016-04-24 14:18:31 · 419 阅读 · 0 评论