
Java
文章平均质量分 63
追梦船
机器学习,自然语言处理方向的小菜鸟
展开
-
[think in java] 第8章 多态
多态“封装”通过合并特惠原创 2014-11-02 14:39:44 · 872 阅读 · 0 评论 -
[java]设计模式之工厂设计模式
工厂模式:主要用来实例化有共同接口的类,工厂模式可以动态决定应该实例化那一个类。工厂模式的形态工厂模式主要用一下几种形态:1:简单工厂(Simple Factory)。2:工厂方法(Factory Method)。3:抽象工厂(Abstract Factory)。简单工厂(Simple Factory)又叫静态工厂,是工厂模式三中状态中结构最为简单的。主要有一个静态转载 2014-11-03 16:02:46 · 582 阅读 · 0 评论 -
[think in java]第12章 通过异常处理错误
异常处理是java中唯一正式的错误报告机制。并且通过编译器强行执行。异常参数抛出异常与方法正常返回值的区别:异常返回的“地点”与普通方法调用返回的"地点"完全不同。(异常将在一个恰当的异常处理程序中得到解决,他的位置可能离异常被抛出的地方很远,也可能会跨越方法调用栈的许多层次。)对异常来说,最重要的部分就是类名。捕获异常异常处理理论上有两种模型:终止模型和恢原创 2014-11-18 16:45:34 · 985 阅读 · 0 评论 -
汉字自动注音程序
汉字注音在平时应用中,可能会有这样的需求:要给一些中文进行自动注音。这个程序就是根据这个需求实现的。思想汉字注音程序的思想主要是依赖一些已有的常用词的注音词表。对于给定的需要注音的汉字串text,首先对text进行分词。这里的分词方法采用了正向最大匹配和逆向最大匹配想结合的方法。然后根据注音词表中每个词是某个音的概率,得到一个最大可能的注音结果。思想很简单,原创 2014-11-01 20:07:39 · 3440 阅读 · 0 评论 -
[think in java] 知识点-访问权限控制
在java中,数组是以引用的形式传递的。原创 2014-10-30 15:36:27 · 686 阅读 · 0 评论 -
java equal和==的区别
今天看thinking in java , 看到讲equal和==的区别。但是了解的比较片面,只是知道equal比较内容,==比较地址。今天才发现原来Object类的equal也是用==实现的,比较的内容也是内存地址。只有那些重写覆盖了的equal方法才可能是比较的内容。下面是找到的一些更详细的讲解,摘录下来,增强记忆。java中的数据类型,可分为两类:1.基本数据类型,也称原始数据类原创 2014-10-12 17:42:18 · 1426 阅读 · 0 评论 -
java 可变参数列表
Java SE5添加了可变参数列表特性参数可以这样定义,(Object…args)。可变参数用"..."来定义,args是可变参数的数组。举个例子:package sample; class A{} public class NewVarArgs { static void printArray(Object...args){ for(Ob原创 2014-10-29 10:49:42 · 1238 阅读 · 0 评论 -
[think in java]第7章 复用类
java中,复用代码有两种途径:在新的类中产生现有类的对象。由于新的类是由现有类的对象组成的,所以这种方法称为组合。采用继承的方式来复用。继承继承采用关键字extends实现。java用super关键字表述超类的意思。初始化基类当创建一个子类的对象时,该对象包含了一个基类的子对象。这个子对象与你用基类创建的对象是一样的。对基类子对象的正确初始化也至关重要原创 2014-10-31 15:07:34 · 775 阅读 · 0 评论 -
[think in java]第13章 字符串
不可变StringString对象是不可变的。原创 2014-11-26 20:41:03 · 871 阅读 · 0 评论 -
[java]设计模式之singleton(单例)
在日常工作中,有很多对象,我们只需要一个。比如:线程池, 缓存,注册表等。如果制造出多个实例,就会导致许多问题,如程序行为异常,资源使用过量等。这就需要对对象的构建进行控制,使其只能产生一个对象。这就是本篇要讲的设计模式——singleton(单例)。首先给出单例模式的定义:确保只有一个类只有一个实例,并提供一个全局访问点。那么,要如何实现单例模式,使得一个类只能产生一个对象呢?请看下面的原创 2014-10-30 16:45:19 · 870 阅读 · 0 评论 -
[leetcode]Edit Distance
问题描述:Given two words word1 and word2, find the minimum number of steps required to convertword1 to word2. (each operation is counted as 1 step.)You have the following 3 operations permitted on原创 2014-12-08 23:24:00 · 588 阅读 · 0 评论 -
[leetcode]Generate Parentheses
问题描述:Given n pairs of parentheses, write a function to generate all combinations of well-formed parentheses.For example, given n = 3, a solution set is:"((()))", "(()())", "(())()", "()(())",原创 2014-12-08 23:03:12 · 596 阅读 · 0 评论 -
[leetcode]Longest Palindromic Substring
问题描述:Given a string S, find the longest palindromic substring inS. You may assume that the maximum length of S is 1000, and there exists one unique longest palindromic substring.基本思想:本题的navi原创 2014-12-08 22:20:13 · 825 阅读 · 0 评论 -
[leetcode]Letter Combinations of a Phone Number
问题描述:Given a digit string, return all possible letter combinations that the number could represent.A mapping of digit to letters (just like on the telephone buttons) is given below.Input:Dig原创 2014-12-08 22:50:14 · 909 阅读 · 0 评论 -
Java中的ReentrantLock和synchronized两种锁定机制的对比
原文:http://www.ibm.com/developerworks/cn/java/j-jtp10264/index.html多线程和并发性并不是什么新内容,但是 Java 语言设计中的创新之一就是,它是第一个直接把跨平台线程模型和正规的内存模型集成到语言中的主流语言。核心类库包含一个Thread 类,可以用它来构建、启动和操纵线程,Java 语言包括了跨线程传达并发性约束的构造 ——转载 2015-01-31 16:13:20 · 505 阅读 · 0 评论 -
java PreparedStatement造成内存泄漏 的解决方法
最近用java写一个数据库程序,发现运行一段时间后总会出现内存溢出。想用内存监控工具查看一下是哪里内存泄漏了,于是上网查看了一下,看到了jmap工具。jmap工具jmap打印出某个java进程(使用pid)内存内的,所有‘对象’的情况(如:产生那些对象,及其数量)。可以输出所有内存中对象的工具,甚至可以将VM 中的heap,以二进制输出成文本。使用方法 jmap原创 2014-12-04 09:06:07 · 4043 阅读 · 0 评论 -
[think in java]第10章 内部类
内部类定义:将一个类定一个在另一个类的内部定义,就是内部类。创建内部类如果想从外部类的非静态方法之外的任意位置创建某个内部类的对象,需要具体的指明:outerClassName.InnerClassName;链接到外部类内部类能访问其外围对象的所有成员,不需要任何特殊条件。使用.this与.new.this用法如果你需要生成对外部类对原创 2014-11-05 14:41:59 · 828 阅读 · 0 评论 -
LinkedHashMap和HashMap的比较使用
昨天做一道题,用hashmap总是时间超时,后来看了看别人的分享,发现将HashMap换成LinkedHashMap就可以同时拥有Linkedlist 和HashMap的好处了,同时节省了自己处理的时间。不错的数据结构!下面是在网上找到的有关LinkedHashMap和HashMap的比较的说明,记录在此,加深记忆!import java.uti原创 2014-09-27 20:01:13 · 2630 阅读 · 0 评论 -
第11章 持有对象
如果一个类没有显示的生命继承自哪个类,那么它自动继承自Object原创 2014-11-14 15:21:36 · 707 阅读 · 0 评论 -
[java学习]String 和 CharSequence 关系
String 继承于CharSequence,也就是说String也是CharSequence类型。CharSequence是一个接口,它只包括length(), charAt(int index), subSequence(int start, int end)这几个API接口。除了String实现了CharSequence之外,StringBuffer和StringBuilder也实现了C原创 2014-01-23 17:01:54 · 1098 阅读 · 0 评论 -
[java学习]接口扩展
今天看lingpipe代码才发现,原来接口是可以通过继承的方式扩展的。举个例子接口可以扩充接口,即所谓的接口继承。interface a { void showMe();}interface b extends a { void hideMe();}这样,接口b就拥有了两个方法.工作中才发现自己对知识的理解太混乱了,很多东西都没有系统的学习,没有形成一个体系。原创 2014-01-23 10:47:54 · 1457 阅读 · 0 评论 -
java中Reader类和InputStream类的区别
java.io下面有两个抽象类:InputStream和ReaderInputStream是表示字节输入流的所有类的超类Reader是用于读取字符流的抽象类InputStream提供的是字节流的读取,而非文本读取,这是和Reader类的根本区别。即用Reader读取出来的是char数组或者String ,使用InputStream读取出来的是byte数组。弄清了两个超类的根本区转载 2014-01-22 16:24:33 · 3356 阅读 · 0 评论 -
如何运行Ant脚本
1.右击我的电脑--》属性--》高级--》环境变量--》Administator的用户变量--》新建(变量名为ANT_HOME,变量值为E:/JAVA/ant/apache-ant-1.6.5,即ANT的安装根目录,而不是到bin)2.在系统变量的Path中添加一行%ANT_HOME%/bin《==》E:/JAVA/ant/apache-ant-1.6.5/bin3.在运行中输入c原创 2014-01-21 10:12:01 · 4198 阅读 · 0 评论 -
java heap space解决方法和JVM参数设置
在JVM中如果98%的时间是用于GC(Garbage Collection)且可用的 Heap size 不足2%的时候将抛出异常信息,java.lang.OutOfMemoryError: Java heap space。 所以产生这个异样的原因通常有两种: 1.程序中出现了死循环 2.程序占用内存太多,超过了JVM堆设置的最大值。 对于第一种情况,需要自己查看程序代码,这原创 2013-12-06 01:47:44 · 15667 阅读 · 0 评论 -
[知识学习] ArrayList和Vector的区别
今天同学突然问到ArrayList和Vector的区别,心里一片茫然。。。。所以尽快查了一下,记录下来,加深记忆。首先,ArrayList和Vector功能类似。Vector从Java 1.0起就存在,ArrayList从Java 1.2起才存在,较新。所以Vector在JavaME、Card等各种微小版本都可以使用,而ArrayList不能用。1. 线程安全Vector是同步原创 2013-12-04 10:47:13 · 1140 阅读 · 1 评论 -
[知识学习]java中clone()的机制
今天写程序时发现,当String数组A在用Clone()方法将A的内容克隆给另一个String数组B时,此时得到的数组B的地址指向的是一个新的地址。既不是A的地址,也不是原来B的地址。这说明在调用Clone()方法时,该方法在后台创建了一个新的对象。举个例子: public static void main(String [] args){ String [] A = {"aa原创 2014-01-23 17:46:17 · 1003 阅读 · 0 评论 -
用JUnit进行单元测试
本文绝大部分内容引自这篇文章:http://www.devx.com/Java/Article/31983/0/page/1我们在编写大型程序的时候,需要写成千上万个方法或函数,这些函数的功能可能很强大,但我们在程序中只用到该函数的一小部分功能,并且经过调试可以确定,这一小部分功能是正确的。但是,我们同时应该确保每一个函数都完全正确,因为如果我们今后如果对程序进行扩展,用到了某个函转载 2014-01-20 16:32:48 · 1301 阅读 · 0 评论 -
[think in java]知识点学习
java中 所有数值都有正负号,不存在无符号整数。java中的基本类型存储在堆栈中。其他对象存储在堆中。java确保数组会被初始化,而且不能在它的范围之外被访问。以下代码在c和c++中是合法的,但在java中却不可以:{ int x = 12; { int x = 96; }}若类中的成员是基本类型,即使没有进行初始化,java也会确保其有一个初始值。但这种确保初始原创 2014-10-11 15:10:40 · 839 阅读 · 0 评论 -
java hashMap和TreeMap区别深入理解
首先介绍一下什么是Map。在数组中我们是通过数组下标来对其内容索引的,而在Map中我们通过对象来对对象进行索引,用来索引的对象叫做key,其对应的对象叫做value转载 2014-11-13 14:23:27 · 814 阅读 · 0 评论 -
eclipse快捷键大全
转自http://blog.itpub.net/9549453/viewspace-1010705/eclipse快捷键大全2007年03月21日 星期三 14:03eclipse快捷键大全 1. 常用快捷键(1)Ctrl+Space 说明:内容助理。提供对方法,变量,参数,javadoc等得提示, 应运在多种场合,总之需要提示的时候可先按此快捷键。 注:避免输入法的切换设转载 2014-02-13 10:53:21 · 712 阅读 · 0 评论 -
[遇到的问题]java正则表达式
正则表达式是一个非常强大的工具。可以完成许多我们需要很多代码量的工作。我自己对于正则表达式没有系统的认真学过,平时总是用的时候再临时查(ps主要是因为本人太懒!)。所以很多知识都很模糊。今天在写java程序时用正则表达式来去除重复的内容。举个例子: public static void main(String [] args){ Pattern pat = Pattern.comp原创 2014-02-11 13:08:11 · 1040 阅读 · 0 评论 -
正则表达式之分组、后向引用
分组 正则表达式中的分组又称为子表达式,就是把一个正则表达式的全部或部分当做一个整体进行 处理,分成一个或多个组。其中分组是使用“()”表示的。进行分组之后“()”里面的内容就会被当 成一个整体来处理。 先看看一个具体的例子吧: 同时我们可以使用“()”限制替换的范围转载 2014-02-10 14:16:20 · 4658 阅读 · 2 评论 -
java 基本类型与封装类的区别
1.基本类型只能按值传递,而每个基本类型对应的封装类是按引用传递的。2.从性能上说java中的基本类型是在堆栈上创建的,而所有的对象类型都是在堆上创建的,(对象的引用在堆栈上创建)。3.封装类的出现,是为了更方便的使用一些基本类型不具备的方法,比如valueOf(),toString()等等。4.如果想传递一个int对象的引用,而不是值,那只能用封装类。5.基本数据转载 2015-02-07 12:17:56 · 986 阅读 · 0 评论