- 浏览: 1424568 次
- 性别:
- 来自: 北京
最新评论
-
a98709474:
写的很详细,看完了,明白了这种概念了
数据库水平切分(拆库拆表)的实现原理解析(转) -
a98709474:
MYSQL分库分表总结 -
CatchU:
7年前的招聘要求,厉害厉害
面试要求 -
luozhixiong:
<table class="bbcode&qu ...
MYSQL分库分表总结 -
沈寅麟:
好用
freemarker格式化
文章列表
12种行为模式 之2 STRATEGY 策略模式
- 博客分类:
- 设计模式
策略模式的组成
1):抽象策略角色: 通常由一个接口或者抽象类实现。
2):具体策略角色:包装了相关的算法和行为。
3):环境角色:持有一个策略类的引用,最终给客户端(上层模块)调用。
1):抽象策略角色
/**
* 首先定一个策略接口,这是诸葛亮老人家给赵云的三个锦囊妙计的接口
*/
public interface IStrategy {
//每个锦囊妙计都是一个可执行的算法
public void operate();
}
2):具体策略角色
/**
* 找乔国老帮忙,使孙权不能杀刘备
*/
public class BackDo ...
Arrays 类用法
- 博客分类:
- java基础
Arrays.toString(strs)
public static void main(String[] args) throws IOException {
String[] strs = new String[]{"ab","cd","ef"};
System.out.println(strs);
System.out.println(Arrays.toString(strs));
}
在运用模板方法模式来解决我们的需求而进行设计时,往往忽略了一些非常重要的细节。保证架构逻辑的正常执行,不被子类破坏(模板方法加final关键字);怎么让子类扩展模板方法等。抽象模板中的基本方法尽量设计为protected类 ...
Baiduspider是百度搜索引擎的一个自动程序,它的作用是访问互联网上的网页,建立索引数据库,使用户能在百度搜索引擎中搜索到您网站上的网页。
百度各个产品使用不同的user-agent:
引用 名称 || 对应user-agent
无线搜索 Baiduspider-mobile
图片搜索 Baiduspider-image
视频搜索 Baiduspider-video
新闻搜索 Baiduspider-news
百度搜藏 Baiduspider-favo
百度联盟 Baidu ...
public static void main(String[] args) throws IOException {
System.out.println("-------H1型号悍马--------");
System.out.println("H1型号的悍马是否需要喇叭声响?0-不需要 1-需要");
String type=(new BufferedReader(new InputStreamReader(System.in))).readLine();
HummerH1Model h1 = new HummerH1M ...
Linux查找文件的相关命令
- 博客分类:
- linux
1:more [文件名]
分页显示一个文件或任何输出结果
引用ls x* | more
Java类加载器解析
- 博客分类:
- java基础
一:分类
Java中的类加载器可以分为四类:
1 Bootstrp loader
Bootstrp加载器是用C++语言写的,它是在Java虚拟机启动后初始化的,它主要负责加载%JAVA_HOME%/jre/lib以及%JAVA_HOME%/jre/classes中的类。
2 ExtClassLoader
Bootstrp loader加载ExtClassLoader,并且将ExtClassLoader的父加载器设置为Bootstrp loader.ExtClassLoader主要加载%JAVA_HOME%/jre/lib/ext中的jar文档,以及此路径下的所有classe ...
1.1 Java栈
Java栈是与每一个线程关联的,JVM在创建每一个线程的时候,会分配一定的栈空间给线程。它主要用来存储线程执行过程中的局部变量,方法的返回值,以及方法调用上下文。栈空间随着线程的终止而释放。
引用StackOve ...
数据库有哪些缓存策略?
- 博客分类:
- oracle
1:Query Cache
以SQL作为key值缓存查询结果集
一旦查询涉及的表记录被修改,缓存就会被自动删除
设置合适的Query Cache会极大提高数据库性能
Query Cache并非越大越好,过大的Qquery Cache会浪费内存。
MySQL: query_cache_size= 128M
Query Cache状态示例
2:Data Buffer
data buffer是数据库数据在内存中的容器
data buffer的命中率直接决定了数据库的性能
data buffer越大越好,多多益善
MySQL的InnoDB buffer:innodb_buffe ...
基本概念:
PermGen space:全称是Permanent Generation space。就是说是永久保存的区域,用于存放Class和Meta信息,Class在被Load的时候被放入该区域,也叫方法区。
GC(Garbage Collection)应该不会对PermGen space进行清理。所以如果你的APP会LOAD很多CLASS的话,就很可能出现PermGen space错误
Heap space:存放Instance。分为3个区,Young,Old和Permanent。Young保存刚实例化的对象。当该区被填满时,GC会将对象移到Old区。Permanent区则负责保存反射 ...
我们有一个要求非常高性能的应用,其实也是部署在一台普通的PE2850上面。4CPU,内存8G,JVM的heap开了5G,其中新生代为1.5G。在高峰期每秒超过5000次调用,约3秒就需要minor GC一次,每次停顿约0.3秒。隔十分钟左右就要Full GC一次,需要停顿约10秒。有点受不了。这样相当于每隔3秒应用就要停顿0.3秒,每隔10分钟就要停顿10秒。也改成CMS试过,Full GC的停顿会减少,但minor GC照样。这样的效果,对于一些高性能的应用来算,GC可能真是无法承受之重
引用1、GC这么频繁也很有可能是代码质量问题。我们前段时间一个服务用Java写的,刚上线也是GC极其频繁, ...
SUN JDK+Tomcat 5.5.20运行服务的时候遇到问题,服务器跑几天后就会挂掉,并报java.lang.OutOfMemoryError: PermGen space异常。
发现很多人把问题归因于: spring,hibernate,tomcat,因为他们动态产生类,导致JVM中的permanent heap溢出 。
...
linux下vi命令
- 博客分类:
- linux
vi a.jsp
按 i
按esc
输入 :wq
----------------------------------------
进入vi的命令
vi filename :打开或新建文件,并将光标置于第一行首
vi +n filename :打开文件,并将光标置于第n行首
vi + filename :打开文件,并将光标置于最后一行首
vi +/pattern filename:打开文件,并将光标置于第一个与pattern匹配的串处
vi -r filename :在上次正用vi编辑时发生系统崩溃,恢复filename
移动命令
w或W :光标右移一个字至字首
b ...
java发展历程
java平台
java虚拟机列表
HotSpot是Oracle(Sun)的JVM实现,默认解析执行(InterPreter),对执行频率高(热点)的代码做动态编译(JIT编译)。主要用C++实现,2006年开源。
HotSpot三种执行模式
HotSpot包括
内存管理
...
Oracle instr函数
- 博客分类:
- oracle
在Oracle中,可以使用instr函数对某个字符串进行判断,判断其是否含有指定的字符。其语法为:
instr(sourceString,destString,start,appearPosition). 其中
1: sourceString代表源字符串;
2: destString代表想聪源字符串中查找的子串;
3: start代表查找的开始位置,该参数可选的,默认为1;
4: appearPosition代表想从源字符中查找出第几次出现的destString,该参数也是可选的,默认为1;
返回值为:查找到的字符串的位置。
说明: 如果start的值为负数,那么代表从右 ...