- 浏览: 25544 次
- 性别:
最新评论
文章列表
1.在maven中导入MyBatis Generator插件
<plugin>
<groupId>org.mybatis.generator</groupId>
<artifactId>mybatis-generator-maven-plugin</artifactId>
<version>1.3.1</version>
<configuration>
<verbose>true</verbose>
<overwrite>true</over ...
- 2015-06-03 14:47
- 浏览 237
- 评论(0)
由于前段时间重装了系统,今天重装了数据库oracle XE版本,用“移花接木”的手段将新装oracle的目录用原有目录直接给覆盖,于是顺利的启动了oracle服务,然后又打开plsql develper连接数据库,但是始终连接不了。然后才发现oracle监听服务没有开启,但明明我是开启了的,于是又重新启动oracle监听,无意间刷新了一下发现启动的监听又变成了未启动状态,反复启动刷新过几次,问题依旧。这就纳闷了,思考了一会,恍惚觉得应该不是数据库的问题,因为设置的sys/system等密码都跟以前一样,按照以往“移花接木”经验直接覆盖的话应该是能正常使用的。突然间意识到了一点,重装的系统计算机名 ...
- 2015-01-27 00:50
- 浏览 222
- 评论(0)
1.Set中元素是无序的HashSet set=new HashSet();
set.add("a");
set.add("b");
set.add("c");
set.add("d");
System.out.println(set);//结果:[d,b,c,a]
2.Set不允许重复
情景0HashSet set=new HashSet();
System.out.println(set.add("a"));//结果:true
set.add("b");
set.add( ...
- 2015-01-17 00:02
- 浏览 536
- 评论(0)
面试时面试官问了个“登陆需要考虑哪些点“这样的问题,回答的不是很好。现在总结了一下,其实一个简单的登陆还是要考虑挺多的。
业务上的考虑
1.防止用户重复登陆
①登陆成功后,如果再次点击登陆按钮会怎样?
登陆成功后,登陆按钮需要隐藏。
参考博客:防止用户重复登录解决方案
②在不同的两台电脑上都使用同一个账号登陆会怎样?这会根据具体的业务会有不同的需求。
比如聊天室,qq这样的需求,一旦登陆后,在另一台电脑上不让登陆。
其它的倒是可以两台电脑都进行登陆。(本人使用百度云盘账号在不同的两台机器上登陆,没有下线的提示,都可以进行操作。一方退出,不影响另一方的使用)
2.浏览器退出后,再 ...
- 2014-12-29 00:02
- 浏览 297
- 评论(0)
Hibernate中离线查询经常用到。
问题:但当查询条件并不仅仅涉及到一个实体,而是还含有关联的实体中的属性时,就不知道怎么弄了。自己摸索了好久才发现原来API中已经提供了相应的解决方法。
情况1:
涉及到一个实体
查询条件涉及到的是Goods,如果查询时查询的是Goods表,那简单了
Service层public List<History> findByCondition(Goods goods) {
DetachedCriteria dc=DetachedCriteria.forClass(History.class);
if(goods().getNm()!=n ...
- 2014-07-29 00:35
- 浏览 448
- 评论(0)
一、Hibernate检索方式简介
Hibernate提供以下几种检索对象的方式:
导航对象图检索方式。(根据已经加载的对象,导航到其他对象。)
OID检索方式。(按照对象的OID来检索对象。)
HQL检索方式。(使用面向对象的HQL查询语言。)
QBC检索方式。(使用QBC(Query By Criteria)API来检索对象)
本地SQL检索方式。(使用本地数据库的SQL查询语句。)
HQL检索方式
HQL(Hibernate Query Language)是面向对象的查询语言,它和SQL查询语言有些相似。在Hibernate提供的各 ...
- 2014-07-28 00:04
- 浏览 225
- 评论(0)
缓存
缓存的实现不仅需要作为物理介质的硬件,同时需要管理缓存的并发访问策略和过期策略的程序(软件)。所以缓存通常是通过软件和硬件共同实现的。
Hibernate提供了两级缓存,第一级缓存是Session的缓存。由于Session对象的 ...
- 2014-07-19 18:27
- 浏览 227
- 评论(0)
1.传统的线程通信:wait和notify/notifyall
可以借助于Object类提供的wait()、notify()、notifyAll()三个方法,这三个方法属于Object类。但这三个方法必须由同步监视器对象来调用,这可分为两种情况
①对于用synchronized修饰的同步方法,因为该类的默认实例(this)就是同步监视器,所以可以在同步方法中直接调用这三个方法。
②对于用synchronized修饰的同步代码块,同步监视器是synchronized后括号里的对象,所以必须使用该对象调用这三个方法。注意:notify()方法只能随机唤醒一个线程。如果要唤醒所有线程,请使用no ...
- 2014-07-17 16:11
- 浏览 272
- 评论(0)
线程同步的7种方式线程同步的5种方式线程同步的3种方式
1.同步方法(synchronized)
由于java的每个对象都有一个内置锁,当用此关键字修饰方法时,内置锁会保护整个方法。在调用该方法前,需要获得内置锁,否则就处于阻塞状 ...
- 2014-07-17 16:11
- 浏览 311
- 评论(0)
一、JAVA多线程实现的三种方式
JAVA多线程实现方式主要有三种:继承Thread类、实现Runnable接口、使用ExecutorService、Callable、Future实现有返回结果的多线程。其中前两种方式线程执行完后都没有返回值,只有最后一种是带返回值的。
1、继承Thread类实现多线程
继承Thread类的方法尽管被我列为一种多线程实现方式,但Thread本质上也是实现了Runnable接口的一个实例,它代表一个线程的实例,并且,启动线程的唯一方法就是通过Thread类的start()实例方法。start()方法是一个native方法,它将启动一个新线程,并执行run() ...
- 2014-07-17 16:09
- 浏览 338
- 评论(0)
线程和进程的区别
进程是一个正在执行中的程序。每一个进程执行都有一个执行顺序。该顺序是一个执行路径,或者叫一个控制单元。
线程:就是进程中的一个独立的控制单元线程在控制着进程的执行。
JVM启动的时候会有一个进程java.exe,该进程中至少一个线程负责java程序的执行,而且这个线程运行的代码存在于main方法中,该线程称之为主线程。
线程运行状态
①被创建:
②运行:
调用start()、或者sleep后醒来、或者notify后被唤醒。
③sleep:到了指定的睡眠时间后自然醒来
wait:通过notify()唤醒
④销毁:调用stop()或者run()方 ...
- 2014-07-17 15:47
- 浏览 251
- 评论(0)
HashSet底层是HashMap实现的,关于HashMap的分析请移步到HashMap源码分析
属性
private transient HashMap<E,Object> map;
private static final Object PRESENT = new Object();
构造方法
public HashSet() {
//底层会初始化一个空的HashMap,并使用默认初始容量为16和加载因子0.75。
map = new HashMap<>();
}
public HashSet ...
- 2014-07-17 15:40
- 浏览 280
- 评论(0)
版本说明:jdk1.7.0_79
一、Vector概述
Vector集合已经成为了一个过时的集合,但是还是有必要研究一下,这样才能明白为什么它会被抛弃。
Vector类与ArrayList一样,都是List接口的不同实现,当然它们会有不同的特征,这也是Java多态 ...
- 2014-07-17 15:38
- 浏览 308
- 评论(0)