- 浏览: 65203 次
- 性别:
- 来自: 杭州
最新评论
-
wuhoujian322:
那么完美的实现方式应该是怎样的呢?
单例模式 -
somefuture:
这样防止不了反射侵入
单例模式 -
wuhoujian322:
Redis我也是刚开始学习,它是一个内存数据库,不像传统的关系 ...
Spring MVC结合Redis小实例 -
masuweng:
Redis不熟悉,主要的应用场景是什么?
Spring MVC结合Redis小实例 -
wuhoujian322:
大家遇到的问题也可以发出来,共同研究研究,一起进步。
Spring MVC结合Redis小实例
文章列表
1、安装Homebrew
Homebrew是Mac OSX下的软件包管理工具,就如Red Hat下的yum,Ubuntu下的apt-get。具体安装只需要一步搞定:ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" (Mac自带ruby,所以Homebrew安装起来特别方便)
2、开始安装Nginx
brew search nginx
brew install nginx
上两步完成之后,nginx就算安装好了。由于 ...
vi ~/.bashrc,配置自己需要的各种别名,如:alias cdhome='cd ~'alias cdroot='cd /'alias gpull='git pull'alias gci='git commit -a'alias gpush='git push origin HEAD:refs/for/master'alias gst='git status'
添加source ~/.bashrc到~/.bash_profile
完成上面两步,重开一个终端窗口,通过alias可以查看自己设置的所有别名。直接cdhome就可以到系统根目录,是不是很方便快捷呢。赶紧赞一个吧。。。。 ...
一 . 服务器端命令1. cd /Users/xxx/Documents/redis-3.0.7/src 首先进入redis安装目录;
2. ./redis-server 启动redis的服务器;
3. ./redis-server --port 6380 修改redis的服务器端口号为6380;
二 . 客户端命令(1) 基础命令
1. ./redis-cli 连接到默认的redis服务器的默认端口;
2. ./redis-cli -h localhost -p 6380 连接到指定机器指定端口号的redis服务器;
3. ./redis-cli SHUTDOWN 关闭redi ...
1. git branch dev 新建分支dev,此时只存在于本地
2. git checkout dev 切换到dev分支
3. git branch 查看本地的所有分支
4. git push origin dev 把本地的分支dev推到远程(此时,远程才会有dev分支)
5. git branc ...
一、简介
基本的Spring框架使用久了就会觉得各种配置越来越多,在集成了诸如MyBatis、Struts等框架之后,这种感觉会更加强烈。我们会想,这么多配置,有没有其他的解决方案呢?答案是肯定的,SpringBoot的出现,解决了大量配置的问题。
二、如何用SpringBoot搭建项目架构
1、创建一个Maven项目,对应的pom配置如下:
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-in ...
一、整体认识
一般的理解就是,当我们需要执行不同任务的时候,针对每一个任务都需要去独立创建一个线程。这样带来的一个问题就是,频繁地创建和销毁线程需要时间,很消耗资源。为了解决这个问题,Java线程池出 ...
1、新增接口的默认方法,使用default关键字
接口可以有实现方法,并且不需要实现类去实现其方法。
package com.test.java8;
public interface Formula {
double calculate(int num);
//Java8新增,接口的默认方法
default double sqrt(int num){
return Math.sqrt(num);
}
}
package com.test.java8;
public class FormulaTest {
public static voi ...
队列遵循先进先出的原则,下面看看简单的Demo实例。
package com.tu.test.queue;
public class Node {
int data;
Node next;//next node
public Node(int data){
this.data = data;
}
}
package com.tu.test.queue;
public class MyQueue {
Node head;//first node
Node current;//current node
/**
* put into ...
栈我们可以理解为一个箱子,先放进去的东西在最下面,所以是一个先进后出的原则。下面我们看看一个简单的Demo。
package com.tu.test.stack;
public class Node {
int data;
Node pre;//previous Node
public Node(int data){
this.data = data;
}
}
package com.tu.test.stack;
public class MyStack {
private Node head;//first node
private N ...
1、Bug管理工具
mantis:一款免费开源的轻量级bug管理工具
2、开发过程中有用的插件
findBugs:静态分析工具,检查代码的bug。eclipse插件地址:http://findbugs.cs.umd.edu/eclipse
eclipse安装Maven插件:http://m2eclipse.sonatype.org/sites/m2e
3、数据库管理工具
navicat
DBeaver(免费开源)
4、其他工具
虚拟机Vmware
1、Java异常机制(Exception和Error)
我们先通过下面的一张图看看java异常层次结构:
从图中可以看出,不管是Exception还是Error,它们都继承自Throwable。下面我们来分别认识一下Exception和Error。
总的来说的,Exception和Error是一种不正常的行为,或许是程序本身导致的,也或许是系统导致的。
Exception:可以是被控制的或不可被控制的异常,由程序员导致的,需要在应用程序中进行处理。
Error:总是不可控制的错误,是系统错误或低层资源的错误;如果可能的话,需要在系统级别进行处理。
发生异常了怎么办? ...
1、什么是单例模式?
在应用程序中,为了保证一个类只能有一个实例。这个类必须自己创建实例,并且还要能向整个系统提供自己创建的这个唯一实例。
2、单例模式的实现思路
实例的创建在类内部完成,对外提供公共的访问方法。
3、单例模式带来的好处
很好地控制了系统中类对应实例的个数,并且节约了系统资源。
4、两种单例模式实现方式
第一种:懒鬼单例
public class Singleton {
private static Singleton instance = null;//懒的体现,类加载时不创建实例,这种方式类加载快,正在访问对象的时候慢
...
1、Session和Cookie
Session:在服务器端保持状态的一个方案。
存放在服务器上。
如果浏览器禁用掉了cookie,如何把session id传递回服务器?放到请求URL上或者隐藏在表单中。
在请求过多的情况下,服务器端存放太多session id会造成性能的影响。
Session一般用于存放登录信息等重要信息。
Cookie:在客户端保持状态的一个方案。
存放在客户的浏览器中。
如果不设置超时时间,关闭浏览器,cookie消失(该类cookie称为会话cookie,保存在内存中);
如果设置超时时间,cookie被保存在硬盘。
由于其存放在客户端, ...
在正式开始动态代理模式的介绍之前,先同大家一起回顾一下代理。
那么如何理解代理呢?我们在程序中为了提供额外的或不同的操作,插入的用来代替实际对象的对象,通常充当着中间人的角色。
简单代理示例代码:
package com.tu.test.proxy;
public interface Interface {
void doSomething();
void somethingElse(String arg);
}
package com.tu.test.proxy;
public class RealObject implements Interfac ...
什么是java反射?核心在于一个对动态二字的理解,即:在运行状态中,能动态获取类的属性和方法,以及动态调用对象的属性和方法。
反射的作用:一方面用于反编译(.class到.java文件),另一方面用来动态访问对象的属性、方法等。
反射机制中主要的类:
java.lang.Class;
java.lang.reflect.Constructor;
java.lang.reflect.Field;
java.lang.reflect.Method;
java.lang.reflect.Modifier;
下面贴出 ...