写在前面的话
这两天一直在看JPA的相关内容,一下对最近的了解的信息进行整理,以前一直不了解什么是JPA,现在有了清晰的认识以作记录。
JPA是什么
JPA全称Java Persistence API.JPA通过JDK 5.0注解或XML描述对象-关系表的映射关系,并将运行期的实体对象持久化到数据库中。
起源
Sun引入新的JPA ORM规范出于两个原因:其一,简化现有Java EE和Java SE应用开发工作;其二,Sun希望整合ORM技术,实现天下归一。
JPA由EJB 3.0软件专家组开发,作为JSR-220实现的一部分。但它不囿于EJB 3.0,你可以在Web应用、甚至桌面应用中使用。JPA的宗旨是为POJO提供持
继续阅读 »
机器环境
Windows:Win7 64 bit
Java:java version "1.8.0_45";Java HotSpot(TM) 64-Bit Server VM
Solr:5.5
Lucene:5.5
Tomcat:8.0.32
Lucene和Solr下载地址:http://lucene.apache.org/
Windows选择下载zip压缩包,Linux选择下载tgz压缩包
Tomcat下载地址:http://tomcat.apache.org/ ,选择Binary Distributions下的Core中的64-bit Windows zip (pgp, md5, sha1)下载之后文件名称是:apache-
继续阅读 »
內部API定義
供Android内部使用,不向SDK开放的类、接口、方法等
内部API出现的形式
- Hide
在public类,方法,(静态)常量使用了/** @hide /注释的java元素。如android.os.ServiceManager类
- internal
包名中带有internal标记的所有类或包,如com.android.internal.
继续阅读 »
前言
前面我们有说过android反编译的工具,如何进行反编译。反编译后可以得到jar或者得到smali文件。Android采用的是java语言进行开发,但是Android系统有自己的虚拟机Dalvik,代码编译最终不是采用的java的class,而是使用的smali。我们反编译得到的代码,jar的话可能很多地方无法正确的解释出来,如果我们反编译的是smali则可以正确的理解程序的意思。因此,我们有必要熟悉smali语法。
类型的表示
java里面包含两种类型,原始类型和引用类型(包括对象),同时映射到smali也是有这两大类型。
more
原始类型
V void (只能用于返回值类型)
Z boolean
B by
继续阅读 »
Java 并发常用的组件中有一种队列叫阻塞队列(BlockingQueue),当队列为空时,获取元素的线程会阻塞等待直到队列有数据;当队列满时,想要存储元素的线程会阻塞等待直到队列有空间。我们经常会用这种数据结构可以实现生产者、消费者模型。
继续阅读 »
前文说到了 Gradle 依靠 Groovy 语言发挥出了强大的性能。
Groovy是一种基于JVM(Java虚拟机)的敏捷开发语言,它结合了Python、Ruby和Smalltalk的许多强大的特性,Groovy 代码能够与 Java 代码很好地结合,也能用于扩展现有代码。由于其运行在 JVM 上的特性,Groovy 可以使用其他 Java 语言编写的库。
继续阅读 »
词语相似度计算
词义相似度计算在很多领域中都有广泛的应用,例如信息检索、信息抽取、文本分类、词义排歧、基于实例的机器翻译等等。国内目前主要是使用知网和同义词词林来进行词语的相似度计算。
本文主要是根据《基于同义词词林的词语相似度计算方法--田久乐》论文中所提出的分层算法实现相似度计算,程序采用Java语言编写。
同义词词林扩展版
《同义词词林》是梅家驹等人于1983年编纂而成,这本词典中不仅包括了一个词语的同义词,也包含了一定数量的同类词,即广义的相关词。《同义词词林扩展版》是由哈尔滨工业大学信息检索实验室所重新修订所得。该版收录词语近7万条,全部按意义进行编排,是一部同义类词典。
同义词词林按照树状的层次结构把所有收录的
继续阅读 »
POI读取Excel内容
1、在Fedora中配置Steam安装时需要的相关源
```
运行如下命令
$ su -c 'dnf install http://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-$(rpm -E %fedora).noarch.rpm http://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-$(rpm -E %fedora).noarch.rpm'
```
继续阅读 »
如何自己写一个 gradle 插件
看谷歌的插件:com.android.application 和 com.android.databinding:
gradle
apply plugin: 'com.android.application'
apply plugin: 'com.android.databinding'
他们都是一个 groovy 项目,那么接下来让我们来看看如何自己手动写一个插件:
创建一个普通的 groovy 工程(java 工程也没有关系),创建 src/main/groovy 目录,编写下面的代码:
```java
package com.example.wecar.plugin
import
继续阅读 »
JDB
"jdb"命令
jdb是java的一个命令行debug工具,随JDK提供。语法如下:
jdb [options] main_class_name
jdb [options] -attach
* 这里"options"是指一系列的选项;
* "main_class_name"是main函数所在的类名;
* address是正在运行的JAVA进程
继续阅读 »