- 浏览: 66522 次
- 性别:
- 来自: 杭州
-
最新评论
-
wuhoujian322:
那么完美的实现方式应该是怎样的呢?
单例模式 -
somefuture:
这样防止不了反射侵入
单例模式 -
wuhoujian322:
Redis我也是刚开始学习,它是一个内存数据库,不像传统的关系 ...
Spring MVC结合Redis小实例 -
masuweng:
Redis不熟悉,主要的应用场景是什么?
Spring MVC结合Redis小实例 -
wuhoujian322:
大家遇到的问题也可以发出来,共同研究研究,一起进步。
Spring MVC结合Redis小实例
文章列表
使用抽象类抽象出公共的内容,并且定义规则让每一个子类去实现。
1、角色1:抽象类
package com.tu.test;
public abstract class AbstractTime {
public abstract void template();//抽象方法,子类去实现
public final void getTime() {//不需要重写,添加final关键字修饰
long start = System.currentTimeMillis();
template();
long end = System.currentTimeMillis ...
1、继承
作为Java面向对象的三大特性之一,它有什么好处呢?一方面提供了代码的重用性;另一方面,使得类和类之间有了关系,提供了面向对象另一特性——多态的前提。
为什么会有父类?对于具有相同属性和行 ...
在Git学习总结(一)中我们认识了Git以及熟悉了Git的一些常用操作,今天主要总结一下Git的分支管理。在实际用Git的过程中,我们都应该是基于分支进行开发(基于安全考虑)。
1、创建新的分支
git checkout -b 分支名称(相当于:git branch 分支名称dev;git checkout 分支名称dev)
2、查看所有的分支
git branch(主分支叫master)
3、分支合并
基于分支完成开发后,我们需要合并分支到主分支master上,使用下面的命令:
先git branch master切换到主分支master,然后git ...
推荐一个学习的地址给大家:http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000
1、认识一下Git
Git是一个分布式版本控制系统,那么它和集中式版本控制系统(CVS、SVN等)有什么区别呢?
集中式:版本库集中存放在中心服务器,必须联网才能工作
分布式:没有中央服务器(实际上是有一个中央服务器的,只是用来交换修改的代码),每个客户机都是完整的版本库。安全性更高,因为每个人都是独立的。
2、Git安装
我是基于Windows学习的,安装文件可 ...
前段时间自己发布了一篇关于SpringMVC结合Redis的小实例,今天呢,想和大家分享一下自己最近使用Spring MVC结合MyBatis+MySQL的小实例,在这里先贴出一下自己在GitHub上共享的代码Demo,下面我会贴出一些核心的内容以及相关总结。GitHub上的Demo地址如下:https://github.com/williamjava/demo
1、准备工作
小实例Demo是基于Maven的,所以相关的jar依赖大家可以参考项目根目录下的pom.xml,具体内容如下:
<project xmlns="http://maven.ap ...
作为后端软件开发人员,至少会一门脚本语言是很有必要的。那么我呢,选择了Python,在朋友的推荐下我开始学习它,为什么选择它呢?脚本语言那么多,也说不上偏爱哪一种,主要是考虑到它应用比较普遍流行。大家可以根据自己的喜好选择脚本语言进行学习:比如Ruby、Shell等。
1、简单认识Python
Python是一种面向对象、解释型的动态计算机程序设计语言,Java是一种静态程序设计语言。它主要有以下一些特点:简单、易学、速度快、免费开源、高层语言、可移植性、解释性、面向对象、可扩展性、可嵌入性、丰富的库、单行语句和命令行输出问题、独特的预发、运行速度慢(同C++比 ...
在开发的过程中,和数据库打交道是常有的事情,基本上伴随着我们每一天。最近遇到了一个特别诡异的事情,当通过排查各种原因找到问题的根源之后,其实也就是一个很简单的问题。可一些问题,往往是最初会让人抓狂,不知所措。遇到了问题,还是需要冷静下来,对各种情况进行分析,并最终找出问题的解决方案。我特别喜欢一句话:总搞得定!
下面在这里简单和大家分享一下我遇到的这个问题,问题现象如下:一个定时任务,会更新本地的两个表(盘点设备表和外部关联表,关联表存储盘点工单的状态),同时还会同步设备的信息到一个外部系统,主要有三个动作。线上却发现:一批盘点工单处理完之后,定时任务执行完,预期所有盘 ...
在Java实际开发中,我们会常常用到容器,那么各种容器类我们该如何进行抉择呢?在这里进行一个简单的总结。
1、对List的选择
对于随机访问的get()和set()操作,背后有数组支撑的List仅仅ArrayList稍微快一点,但是对于LinkedList,相同的操作会产生高昂的性能消耗,因为它本身就不是针对随机访问操作而设计的。
避免使用Vector,它只是存在于支持遗留代码的类库中。最佳的做法就是将ArrayList作为默认首选,只有当你需要使用额外的功能的时候,或者当程序的性能因为经常进行插入和删除操作而变差的时候,就去选择LinkedList。如果 ...
最近空闲时间,自己打算复习复习Spring MVC,于是使用Maven+Spring MVC+Redis搭建了一个项目,全当是做一个知识回顾。在这个过程当中,也遇到了各种各样的问题,在这里和大家一起分享一下,如有遇到类似问题还没有解决的, ...
1、简单工厂
// 抽象产品-人类
abstract class Human {
public abstract void Eat();
public abstract void Sleep();
public abstract void Beat();
}
// 具体产品-Man
class Man extends Human{
public void Eat() {
System.out.println("Man can eat.");
}
public ...
1、字符串类型
赋值:set key value
取值:get key
2、散列类型(hash)
适用于存储对象,使用对象类别和ID构成键名。
a、赋值和取值
hset key field value
hsexnx key field value(如果field已经存在,不进行任何操作;field不存在,创建)
hget key field
hmset key field value [field value...]
hmget key field [field...]
hgetall key
eg:hset car:1 name BWM price 500 ...
1、&和&&的区别
作为逻辑运算符:&(不管左边是什么,右边都参与运算),&&(如果左边为false,右边则不参与运算,短路)
另外&可作为位运算符。
2、方法重写(override)和方法重载(overloaded)
方法重载:发生 ...
1、Java类中静态语句块、构造语句块以及构造函数的执行顺序
public class Test {
public Test() {
System.out.println("A");
}
static{
System.out.println("C");
}
{
System.out.println("B");
}
public static void main(String[] args) {
new Test();
}
}
该程序输出的结果 ...
1、String,StringBuffer和StringBuilder
String:字符串常量,不可变;
StringBuffer:字符串变量,可改变的对象,线程安全,多线程处理大量数据选择;
StringBuilder:字符串变量,可改变的对象,速度快,单线程情况下处理大量数据选择;
补充:字符串String类型全方位考察
考察一:
String a = "a1";
String b = "a" + 1;
System.out.println(a == b);
输出结果:true
总结:当两个字符串字面值连接时 ...
Redis和Memcache都是内存数据库,将数据放到内存中。
Redis和Memcache的选择:如果只是简单的key-value存储,memcache的内存使用率更高;如果需要关注数据持久化和主从复制时,选择redis。
存储方式不同:
memcache 把数据全部存在内存之中,断电之后后会挂掉,数据不能超过内存大小;
redis有部份存在硬盘上,这样能保证数据的持久性,支持数据的持久化(快照和ROF两种方式);
支持的数据类型不同:
memcache支持key-value,可缓 ...