- 浏览: 45528 次
- 性别:
- 来自: 深圳
最新评论
-
TheUniqueGirl:
Spring框架的设计理念与设计模式分析 :http://d ...
spring用到的设计模式
文章列表
在虚拟机VirtualBox下装了OpenSUSE,默认情况下ssh和samba服务都是不启动的,可以通过以下命令(以root权限)查看: # chkconfig -l | grep -w "sshd" sshd 0:off 1:off 2:off 3:off 4:off 5:off 6:off # chkconfig -l | grep -w "smb" smb 0:off 1:off 2:off 3:off 4:off 5:off 6:off可以看出ssh ...
spring源码也读了两遍了,但对于里面描述的关系还是不太清楚,以后再多读几遍吧,但总还有些收获的,下面就说说spring用到的设计模式主要有哪些:
1.工厂模式,这个很明显,在各种BeanFactory以及ApplicationContext创建中都用到了;
2.模版模式,这个也很明显,在各种BeanFactory以及ApplicationContext实现中也都用到了;
3.代理模式,在Aop实现中用到了JDK的动态代理;
4.策略模式,第一个地方,加载资源文件的方式,使用了不同的方法,比如:ClassPathResourece,FileSystemResource,ServletC ...
题目:输入一个整数数组,调整数组中数字的顺序,使得所有奇数位于数组的前半部分,
所有偶数位于数组的后半部分。要求时间复杂度为O(n)。
针对这个题目,我们可以维护两个指针,一个指针指向数组的第一个数字,向后移动;一个指针指向最后一个数字,向前移动。分四种情况:
1.如果后一个指针指向奇数而前一个指针指向偶数,则交换两个数;之后,前一个指针继续向后移动,后一个指针继续向前移动;
2.如果后一个指针指向奇数而前一个也指针指向奇数,则前一个指针继续向后移动,后一个指针位置不变;
3.如果后一个指针指向偶数而前一个指针也指向偶数,则前一个指针位置不变,后一个指针继续向前移动;
4.如果后一个指针指向偶数 ...
依次选出每一个字符元素,作为排列的第一个元素,然后对剩余的元素进行全排列,如此递归处理,从而得到所有元素的全排列。以对字符串abc进行全排列为例,我们可以这么做:
固定a,求后面bc的排列:abc,acb,求好后,a和b交换,得到bac
固定b,求后面ac的排列:bac,bca,求好后,c放到第一位置,得到cba
固定c,求后面ba的排列:cba,cab。
代码可如下编写所示:
public class Test {
private static StringBuilder result = new StringBuilder();
public ...
3.安装zookeeper,修改配置文件:
两台机器的zookeeper安装路径要相同,切记,切忌!!!
1)cp zoo_sample.cfg zoo.cfg
2)修改zoo.cfg为:
# The number of milliseconds of each tick
tickTime=2000
# The number of ticks that the initial
# synchronization phase can take
initLimit=10
# The number of ticks that can pass between
# sending a request ...
1.本环境采用两台linux环境,ip分别为:
192.168.56.101
192.168.56.102
分别修改两台机器的/etc/hosts文件,增加如下内容:
192.168.56.101 master
192.168.56.102 slave
我们以master作为namenode服务器,slave为datenode服务器,首先安装jdk并配置环境变量和ssh(安装过程省略,请参考
网上资料)
2.安装hadoop,修改如下配置文件:
两台机器的hadoop安装路径要相同,切记,切忌!!!
1)修改core-site.xml为:
<?xml version="1.0& ...
Hadoop 的普及和其生态系统的不断壮大并不令人感到意外。Hadoop 不断进步的一个特殊领域是 Hadoop 应用程序的编写。虽然编写 Map 和 Reduce 应用程序并不十分复杂,但这些编程确实需要一些软件开发经验。Apache Pig 改变了这种状况,它在 MapReduce 的基础上创建了更简单的过程语言抽象,为 Hadoop 应用程序提供了一种更加接近结构化查询语言 (SQL) 的接口。因此,您不需要编写一个单独的 MapReduce 应用程序,您可以用 Pig Latin 语言写一个脚本,在集群中自动并行处理与分发该脚本。
Pig Latin 示例
让我们从一个简单的 Pig ...
/**
* 插入排序,适用于少量数据的排序,时间复杂度O(n2),是稳定的排序算法,原地排序
*
* @param a
*/
public static void insertSort(int[] arr)
{
int length = arr.length;
for (int i = 1; i < length; i++)
{
int temp = arr[i];
int j = i;
...
- 2012-03-29 15:58
- 浏览 891
- 评论(0)
/**
* 位图排序,思想来自《编程珠玑》。<br>
* (功能详细描述)<br>
* @see 相关函数,对于重要的函数建议注释
* @since iNOC V200R003C00, 2012-2-20
* @param args
*/
public class BitSort
{
public static void main(String[] args)
{
generateRandom();
bitSort();
...
1.通过缓存反射的信息
2.通过设定AccessibleObject的setAccessible(false),访问反射信息时,不让虚拟机执行检查
1.创建表create table student( id number(19) not null, name varchar2(20), sex number(2), primary key(id))
2.创建序列create sequence s_student increment by 1 start with 1 nomaxvalue nocycle nocache
3.插入若干条数据insert into student values(s_student.nextval, 'student001', 0);insert int ...
- 2012-02-10 13:45
- 浏览 1879
- 评论(0)
昨天把写的那篇《什么时候用GET?什么时候用POST?》给转到了phpx,结果有网友置疑,认为“GET最多不可超过255个字符”。虽说这篇文章是从著名的《PHP & MySQL Web数据库应用开发指南》上摘下来的更让我信任,本着钻研的精神我还是在网上进行了一翻考证。
还真找到了最权威的资料:
这个是微软官方的解释:http://support.microsoft.com/default.aspx?scid=kb;EN-US;q208427长度是2083字节,路径的最大长度是2048字节, post和get都是,这已经远大于传说的256了。
下面的文章取自RFC更加的权威了http ...
jvm说:每个对象都有一个锁,jvm又说:堆中的对象是所有线程共享的,jvm还说:在非同步中,当一个线程访问一个对象时,该线程会自动获得此对象的锁,我的疑问是:既然此线程获得了该对象的锁,那么其他线程在此刻就不能访问此对象了,这不是又成同步问题了吗?非同步中,对象怎么能被多个线程共享吗?小弟愚钝,望大牛们指教
public class BinarySearch
{
public static void main(String[] args)
{
int[] arr = new int[]{1,2,3,4,5};
int key = 1;
serach(arr, key);
}
public static int serach(int[] arr, int key)
{
int low = 0;
int high = arr.length-1; ...
public class Sort
{
public static void main(String[] args)
{
int[] arr = new int[]{8,6,15,45,12,36,25,5};
insertSort(arr);
for(int a : arr)
{
System.out.print(a + " ");
}
}
/**
* 插入排序,适用于少量数据的 ...