- 浏览: 78604 次
- 性别:
- 来自: 北京
最新评论
文章列表
static、final关键字
- 博客分类:
- Java基础
一、final
1.final变量:
当你在类中定义变量时,在其前面加上final关键字,那便是说,这个变量一旦被初始化便不可改变,这里不可改变的意思对基本类型来说是其值不可变,而对于对象变量来说其引用不可再变(即 ...
获取两个日期之间的月份数与天数
- 博客分类:
- Java
/**
* 返回一个二维数组,单位分别是月和日,代表两个Date之差。 <br>
* 本方法忽略小时和分钟。 <br>
* <br>
* 例: <br>
* 1,2012年6月1日到2012年6月3日,返回值是[0,2] (2天) <br>
* 2,2012年6月15日到2012年8月4日,返回值是[1,20] (1个月零20天) <br>
* 3,2011年11月3日到2013年1月14日,返回值是[14,11] (14个月零11天)
...
在Java 语言中,对象访问是如何进行的?对象访问在Java语言中无处不在,是最普通的程序行为,但即使是最简单的访问,也会却涉及Java 栈、Java 堆、方法区这三个最重要内存区域之间的关联关系,如下面的这句代码:
Object obj = ...
Java运行时数据区域
- 博客分类:
- JVM
Java虚拟机所管理的内存会包括如下图所示的“运行时数据区域”:
1、程序计数器
程序计数器(Program Counter Register)是一块较小的内存空间,它的作用可以看做是当前线程所执行的字节码的行号指示器。在虚拟机的概念模型里(仅是概念模型,各种虚拟机可能会通过一些更高效的方式去实现),字节码解释器工作时就是通过改变这个计数器的值来选取下一条需要执行的字节码指令,分支、循环、跳转、异常处理、线程恢复等基础功能都需要依赖这个计数器来完成。
由于Java 虚拟机的多线程是通过线程轮流切换并分配处理器执行时间的方式来实现的,在任何一个确定的 ...
1.线程
几乎所有的操作系统都支持同时运行多个任务,一个任务通常就是一个程序,每个运行中的程序就是一个进程。当一个程序运行时,内部可能有多个顺序执行流,每个顺序执行流就是一个线程。
1.1 线程与进程
当一个程序进入内存运行,即变成一个进程。进程是出于运行中的程序,并且具有一定独立功能,进程是系统进行资源分配和调度的一个独立单位。
进程特征:
独立性:进程是系统中独立存在的实体,它可以拥有自己独立的资源,每一个进程都拥有自己私有的地址空间
动态性:进程与程序的区别在于,程序只是一个静态的指令集合,而进程是一个正在系统中活动的指令集合
并发性:多个进程可以在单个处理器上并发执行,多 ...
设置指定ip远程访问mysql服务器
- 博客分类:
- Mysql
执行如下代码:
登录mysql:
mysql -uroot -ppassword
使用mysql数据库:
mysql> use mysql;
查看当前mysql中的配置信息:
mysql> select user,host,password from user;
赋权:
mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'192.168.1.1' IDENTIFIED BY 'password' WITH GRANT OPTION;
即时生效:
mysql> flush p ...
Mysql客户端在连接服务器时出现Host ' xxx' is blocked because of many connection errors; unblock with 'mysqladmin flush-hosts',折腾了好久,以为是本地Mysql服务的问题,卸载了重装依然无解。最后才发现原来应该更改服务器端的Mysql服务。在服务器端执行如下命令:
/usr/mysql/bin/mysqladmin flush-hosts -uroot -ppassword
问题解决
单例模式——Singleton
- 博客分类:
- 设计模式
单例对象(Singleton)是一种常用的设计模式。在Java应用中,单例对象能保证在一个JVM中,该对象只有一个实例存在。正是由于这个特 点,单例对象通常作为程序中的存放配置信息的载体,因为它能保证其他对象读到一致的信息。例如在某个服务器程序中,该服务器的配置信息可能存放在数据库或 文件中,这些配置数据由某个单例对象统一读取,服务进程中的其他对象如果要获取这些配置信息,只需访问该单例对象即可。这种方式极大地简化了在复杂环境 下,尤其是多线程环境下的配置管理,但是随着应用场景的不同,也可能带来一些同步问题。
1.最简单的实现方式如下:
public class Singleton { ...
Selenium报错
- 博客分类:
- 测试
java.lang.RuntimeException: Could not start Selenium session: Failed to start new browser session: Error while launching browser
at com.thoughtworks.selenium.DefaultSelenium.start(DefaultSelenium.java:89)
at com.selenium.sdj.test.TestSelenium.setUp(TestSelenium.java:18)
at sun.reflect.NativeMet ...
selenium使用
- 博客分类:
- 测试
第一次使用selenium,遇到一堆恶心的问题。基本上只需要使用selenium-java-2.25.0.jar和selenium-server-standalone-2.25.0.jar两个jar包即可搭建最简单的selenium环境。代码如下:
package com.selenium.sdj.test;
import com.thoughtworks.selenium.*;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
import org.openqa.selenium. ...
Drools规则引擎注意事项
- 博客分类:
- 规则引擎
最近由于项目需要开始使用Drools规则引擎,花了一天时间将Drools看了个大概,整体感觉还是非常好用的。不过在使用的过程中出现了各种问题,现将遇到的一些问题及解决方法记录如下:
1.在Myeclipse中运行时,没有任何错误,当一旦打包为runnable jar file后执行,报错如下:
[27,7]: [ERR 101] Line 27:7 no viable alternative at input ''
[27,17]: [ERR 101] Line 27:17 no viable alternative at input ''
[39,7]: [ERR 101] Line ...
maven创建web工程:
mvn archetype:create -DgroupId=com.sdj.mybatis -DartifactId=maven -DpackageName=com.sdj.mybatis -Dversion=1.0 -DarchetypeArtifactId=maven-archetype-webapp
进入创建的工程目录/maven,执行命令:
mvn eclipse:eclipse
此时工程成为一个eclipse工程,将其导入Myeclipse中。
到目前为止,我们仅仅是把一个Maven的webapp导入到了MyEclipse中,然而 ...
使用drools时,在eclipse下运行没有问题,但部署为runnable jar file运行时出现如下错误信息:
org.drools.RuntimeDroolsException: Unable to load dialect 'org.drools.rule.builder.dialect.java.JavaDialectConfiguration:java:org.drools.rule.builder.dialect.java.JavaDialectConfiguration'
解决方法时,在pom.xml中加入依赖:
<dependency>
...
今天在执行单元测试时,由于要执行大批量的数据库操作,出现了java.lang.OutOfMemoryError: Java heap space 。解决方法如下:在Myeclipse->Windows->preference->java->instal jres->edit,
在Default VM Arguments:参数后,增加:-Xms256m -Xmx512m问题解决之
Mybatis 关联操作
- 博客分类:
- Java框架
同Hibernate一样,Mybatis在进行关联操作时,使用也是极为方便的。本文仅就一对一关联查询及添加进行讲解,update和delete没什么差别。
先来看看关联查询,假设有丈夫(Husband)和妻子(Wife),属于一对一,如果看官觉得可行,也可以一对多,我无甚意见。
Husband:
public class Husband implements Serializable{
int id;
String name;
Wife wifeId;
getter....
setter....
}
Wife:
public class Wife implements ...