摘要:
简单的说,versionCode是给机器看的,versionName是给人看的。更新的时候,机器根据versionCode判断是升级还是降级,即使versionName(版本号)比以前的高,但是versionCode比以前的低,机器还是会判断是降级。 阅读全文
摘要:
在Spring+Struts+Hibernate中,有时需要使用到Spring上下文。项目启动时,会自动根据applicationContext配置文件初始化上下文,可以使用ApplicationContextAware接口去获得Spring上下文。创建以下的类: 在applicationConte 阅读全文
摘要:
5. 添加功能的实现 新建一个Action:RClasAction,实现向Redis添加课程数据,并同步到MySQL。 clas:id是一个List类型的Key-Value,记录了所有的课程ID,取出最后一个ID,再+1,作为增加的课程的ID,同时clas:count的值也要+1。使用addHash 阅读全文
摘要:
Ubuntu默认的是root用户不能登录图形界面的,只能以其他用户登录图形界面。这样就很麻烦,因为权限的问题,不能随意复制删除文件,用gedit编辑文件时经常不能保存,只能用vim去编辑。 解决的办法是,编辑/etc/lightdm/lightdm.conf文件(可以先备份一下),把该文件编辑成这样 阅读全文
摘要:
在Ubuntu下安装与设置Hadoop的主要过程。 1. 创建Hadoop用户 创建一个用户,用户名为hadoop,在home下创建该用户的主目录,就不详细介绍了。 2. 安装Java环境 下载Linux环境下的JDK:jdk-8u111-linux-x64.tar.gz。 在usr下创建一个jav 阅读全文
摘要:
一个已有的Struts+Spring+Hibernate项目,以前使用MySQL数据库,现在想把Redis也整合进去。 1. 相关Jar文件 下载并导入以下3个Jar文件: commons-pool2-2.4.2.jar、jedis-2.3.1.jar、spring-data-redis-1.3.4 阅读全文
摘要:
使用Spring时,通过Spring注入的Bean一般都被定义成private,并且要有getter和setter方法,显得比较繁琐,增加了代码量,而且有时会搞忘造成错误。 可以使用@Autowired注解来减少代码量。首先,在applicationContext中加入: Spring使用这个Bea 阅读全文
摘要:
这是由于项目里面的一些包和Tomcat服务器的包重复,并且版本比Tomcat服务器的包低,但是运行时Tomcat服务器会先加载项目里面的包,造成和Tomcat服务器的其他包不匹配,解决的方法就是将重复的包从Tomcat服务器复制到项目里面。 阅读全文
摘要:
这个错误是因为有两个相同的jar包,删除其中一个就可以正常运行了。 阅读全文
摘要:
Android发出HTTP请求时出现了这个错误: 这是由于使用了CloseableHttpClient造成的,把 替换成 即可。 CloseableHttpClient在Windows下可以使用,在Android下使用就会出错,原因不明。 阅读全文
摘要:
给Android Studio项目里面的一个文件改名以后,再提交SVN时总是提示冲突,没办法解决。再后来不知道怎么弄的,每次提交时停留在SVN Performing VCS Refresh始终都不会完成,一直在那里转,结束掉以后Performing VCS Commit又始终都不会完成,也一直在那里 阅读全文
摘要:
运行时出现 错误,Builld->Clean Project即可。 阅读全文
摘要:
1. 现在并安装Git for Windows; 2. 点击File->Settings->Version Control->Git,配置git.exe的路径,并点击Test按钮测试一下; 3. 点击GitHub,输入GitHub用户名和密码,并点击Test按钮测试一下; 4. 然后,就可以使用VC 阅读全文
摘要:
Android Studio的默认设置是打开第二个项目时,第一个项目就被自动关闭了,如果要同时打开多个项目,可以点击File->Settings,对Project Opening进行下面的设置: 其中Open project in new Window是同时打开多个项目,Open project i 阅读全文
摘要:
Gradle是一种自动化建构工具,使用DSL来声明项目设置。通过Gradle,可以对项目的依赖进行配置,并且自动下载所依赖的文件,使得构建项目的效率大大提高。 1. 安装Gradle 下载Gradle的最新版本,并解压,设置环境变量GRADLE_HOME,并且将%GRADLE_HOME%\bin添加 阅读全文
摘要:
Gson解析JSON字符串时出现了下面的错误: 解决的办法是把对应的Class改成静态类。 阅读全文
摘要:
在Java Web项目中,经常要在项目开始运行时启动一个线程,每隔一定的时间就运行一定的代码,比如扫描数据库的变化等等。要实现这个功能,可以现在web.xml文件中定义一个Listener,然后在这个Listener中启动一个线程,在线程里面实现功能。 1. 自定义Listener 在Struts+ 阅读全文
摘要:
安装解压版MySQL以后,不能启动,日志里面出现了这个错误: 这是因为mysql服务启动时候找不到内置数据库“mysql”,找不到那张表,将之前的目录里面的“mysql”数据库拷贝到新的数据库文件存放目录,即可解决这个问题。 阅读全文
摘要:
Redis是常用的key-value存储服务器,Java使用Redis有很多方法,其中官方推荐的是Jedis。 使用Jedis,首先是下载jedis-x.x.x.jar文件并导入工程,然后运行Redis服务器。 程序运行结果: 阅读全文
摘要:
1. 下载最新版本的Redis源代码: 命令:wget http://download.redis.io/redis-stable.tar.gz 2. 解压并编译 命令:tar xzf redis-stable.tar.gz;cd redis-stable;make 3. 测试并安装 命令:make 阅读全文
摘要:
调用函数时,传的参数过去可能是传值,也可能是传址。如果是传值,函数内部的操作对参数的值没有影响;如果是传址,函数内部的操作是对参数指向的内存进行操作,会影响参数的值。 Java到底是传值还是传址?用下面这个例子可以实验一下: 运行结果: 可见,int和String类型的参数值没有发生改变,是传值,而 阅读全文
摘要:
Thread提供了stop()方法终止线程,但是该方法是强行终止,容易产生一些错误,已经被废弃。 可以使用退出标志来终止线程,在run()函数里面设置while循环,把退出标志作为while的条件,当条件为false时,run函数执行完毕,线程就自动终止了。 阅读全文
摘要:
判断一个字符串是否是数值,可以用正则表达式来判断。更简单的方法是把字符串转换成Float或者Double,然后捕捉NumberFormatException错误,如果有错误,就说明不是一个数值,如果没有错误,就说明就是一个数值。 同样的方法,可以判断一个字符串是否是整数。 阅读全文
摘要:
Android中Activity、Service、Fragment之间的相互通信比较麻烦,主要有以下一些方法: (1)使用广播,发送者发出广播,接收者接收广播后进行处理; (2)使用Handler和Message,如下载线程完成下载任务后,给UI发送Message,UI收到Message后更新界面。 阅读全文
摘要:
在Android Studio中运行APP时出现了以下错误: 解决的办法是点击:tools ->Android->sync project with gradles files! 阅读全文
摘要:
4. 更新数据 以上是更新某一个ID的记录,如果根据条件更新,可以使用下面的方法: 也可以不使用ContentValues更新: 5. 删除数据 删除指定ID的数据: 根据条件删除: 删除所有数据: 阅读全文
摘要:
ORM,即Object Relation Mapping,对象关系映射,实现了程序里面的类和数据库里面的数据之间的对应关系,对数据库的操作可以通过对类的操作去实现,不用再写SQL语句,从而提高了开发效率,节省了开发时间。 在Java Web开发中,有很多的ORM框架,如Hibernate等。在And 阅读全文
摘要:
在SSH项目中,有时需要由一个Action跳转到另一个Action。有两种方式可以实现Action之间的跳转,一种是chain,另一种是redirectAction,这两种方式之间的区别是chain是在服务器上跳转,可以实现不同Action之间的数据共享;而redirectAction是在客户端进行 阅读全文
摘要:
ListFragment继承了Fragment,顾名思义,ListFragment是一种特殊的Fragment,它包含了一个ListView,在ListView里面显示数据。 1. MainActivity Java类文件: xml布局文件: 可见MainActivity是比较简单的,在布局里面放了 阅读全文
摘要:
有两张表A和B,要求往A里面插入一条记录的同时要向B里面也插入一条记录,向B里面插入一条记录的同时也向A插入一条记录。两张表的结构不同,需要将其中几个字段对应起来。可以用下面的触发器实现。 表A的触发器: 表B的触发器: 阅读全文