09 2014 档案
摘要:输出: DiffHash_DiffEqual 2 // 两个元素保存在不同内存地址 DiffHash_SameEqaul 2 // 两个元素保存在不同内存地址 SameHash_DiffEqaul 2 // 两个元素保存在相同内存地址,构成一个链表 SameHash_SameEqual 1 //后一
阅读全文
摘要:一、日志收集 1、文件收集 inotify 2、ActiveMQ-CPP 3、架构和存储 4、Chukwa 二、离线数据分析 1、Hadoop 2、Hive 三、流式数据分析 1、Storm 四、数据同步 1、离线数据同步:Sqoop、 2、实时数据同步:MySQL复制 五、数据报表 1、Highc
阅读全文
摘要:一、分布式缓存 1、memcached: 可多台机器配置为分布式 可保存分布式session 二、持久化储存 1、MySQL:业务拆分、复制策略、分表与分库 2、HBase: 3、Redis: 三、消息系统 1、JMS、ActiveMQ 四、垂直化搜索引擎 1、Lucene 2、Solr
阅读全文
摘要:一、在线日志分析 1、常用命令 排序:sort , -r 反向 统计:wc , -l 行数, -w 词数,-c char个数, -b byte数 去重复:unique,-c 显示次数,-u 显示不重复行, -d 显示重复行 字符查找:grep 文件查找:find 表达诉求值:expr URL访问:c
阅读全文
摘要:1、常见Web攻击手段 (1)、XSS攻击 (Cross Site Scripting, 跨站脚本攻击) 攻击者在网页嵌入恶意脚本呢程序,当用户打开网页,脚本开始在客户端浏览器执行,盗取客户端cookie、用户信息,执行木马程序等。 例子:在input 输入框中输入script:<script>al
阅读全文
摘要:1、对象序列化 序列化:将对象转换为二进制流 方法:Google Protocol Buffer、Java Serialization、Hessian、JSON、XML 2、HTTP协议 格式: encode: 0 commandLength: 5 command: Hello 3、负载均衡均衡算法
阅读全文
摘要:1. Config $HADOOP_HOME/conf/hadoop-env.sh for all the nodes : exportHADOOP_HOME=/opt/hadoop-1.0.0 exportHADOOP_NAMENODE_OPTS="-Dcom.sun.management.jmx
阅读全文
摘要:1、读写分离 增加读库,读库不承担写的工作,只提供读服务。需要将主库的数据复制到读库,由于时延,会带来短暂的数据不一致。 MySQL集群,Oracle的Data Guard 方案都可实行。 而在写操作的时候,以及事务中的读要使用主库,不用读库。 2、专库专用、垂直划分 把数据库中不同的业务数据拆分到
阅读全文
摘要:1、读写分离增加读库,读库不承担写的工作,只提供读服务。需要将主库的数据复制到读库,由于时延,会带来短暂的数据不一致。MySQL集群,Oracle的Data Guard 方案都可实行。而在写操作的时候,以及事务中的读要使用主库,不用读库。2、专库专用、垂直划分把数据库中不同的业务数据拆分到不同的数据...
阅读全文
摘要:1、Session的实现 在Session开始时候,分配一个唯一的Session标识sessionId,通过Cookie把 sessionId 告诉浏览器,以后每次请求的时候,浏览器都会带上 sessionId 告诉web服务器,这个请求属于哪个Session。 在web 服务器上,每个Sessio
阅读全文
摘要:大型网站架构设计常用方法 1、网页HTML静态化 使用信息发布系统 (CMS) 2、图片服务器分离 图片是最消耗资源的,有必要将图片与页面分离。 3、数据库集群与库表散列 4、缓存 Apache 5、镜像 6、负载均衡 7、硬件四层交换 Alteon, F5 等硬件 8、软件四层交换 Linux V
阅读全文
摘要:1、大型网站架构的目标与挑战 (1)、高可用性:负载均衡、数据备份、异地容灾...... (2)、高性能:高速缓存、并行计算、异地镜像.... (3)、可伸缩性:开发框架、多层设计、业务分割.... 2、网站架构演变和技术脉络 (1)、web动静态资源分离,与数据库物理分离 img、doc、js、c
阅读全文
摘要:1、通过级联处理大容量数据。开源的一般无法分布式处理大数据。 2、集网络、系统、安全、应用于一身。而开源对网络较强,对应用较弱。 3、告警能力强,告警关联、压缩,内置100多条告警规则。而开源的一般较弱。 4、内置800多条报表,可分为设备组、功能组。开源的一般没有。 5、支持SAAS模式。 6、多
阅读全文
摘要:在什么情况下使用线程池? (1).单个任务处理的时间比较短 (2).将需处理的任务的数量大 使用线程池的好处: (1)、减少在创建和销毁线程上所花的时间以及系统资源的开销 (2)、如不使用线程池,有可能造成系统创建大量线程而导致消耗完系统内存以及”过度切换”。 1、FixedThreadPool 每
阅读全文
摘要:1、创建一个Fork/Join池 ForkJoinPool 逻辑 实现一个任务来修改产品列表的价格。任务最初是负责更新一个队列中的所有元素。你将会使用10作为参考大小,如果一个任务必须更新超过10个元素,这些元素将被划分成两个部分,并创建两个任务来更新每个部分中的产品的价格。 2.加入任务的结果 F
阅读全文
摘要:1、newCachedThreadPool newCachedThreadPool() 方法创建一个缓存线程池。当需要执行新的任务会创建新的线程,如果它们已经完成运行任务,变成可用状态,会重新使用这些线程。 缓存线程池的优点:线程重复利用,它减少线程创建的时间。 缓存线程池的缺点:为新任务不断创建线
阅读全文
摘要:1、ConcurrentLinkedDeque 非阻塞并发双端链表 getFirst()和getLast():这些方法将分别返回列表的第一个和最后一个元素。它们不会从列表删除返回的元素。如果列表为空,这些方法将抛出NoSuchElementExcpetion异常。 peek()、peekFirst(
阅读全文
摘要:1、Semaphore 信号量 Semaphore(信号量)是一个控制访问多个共享资源的计数器。 当一个线程想要访问某个共享资源,首先,它必须获得semaphore。如果semaphore的内部计数器的值大于0,那么semaphore减少计数器的值并允许访问共享的资源。计数器的值大于0表示,有可以自
阅读全文
摘要:1、ReentrantLock (1)、lock()、unlock()一对方法与synchronized 意思一样,unlock()方法 要在finally里面释放。 (2)、tryLock()方法:如果一 个线程调用这个方法不能获取Lock接口的控制权时,将会立即返回并且不会使这个线程进入睡眠。这
阅读全文
摘要:1、Thread 类的join() 方法 当前线程调用某个线程的这个方法时,它会暂停当前线程,直到被调用线程执行完成。 例子: 输出为: run: Begin Main Begin DataSourcesLoader End DataSourcesLoader End Main BUILD SUCC
阅读全文
摘要:Representational State Transfer "表现层状态转化"。 三个概念: 1、资源(Resources):"表现层"其实指的是"资源"的"表现层"。 所谓"资源",就是网络上的一个实体,或者说是网络上的一个具体信息。它可以是一段文本、一张图片、一首歌曲、一种服务,总之就是一个
阅读全文
摘要:http://blog.csdn.net/fenglibing/article/details/2745123 接口和抽象类的概念不一样。接口是对动作的抽象,抽象类是对根源的抽象。 抽象类表示的是,这个对象是什么。比如,男人,女人,这两个类(如果是类的话……),他们的抽象类是人。说明,他们都是人。
阅读全文
摘要:http://www.cnblogs.com/star-studio/archive/2011/06/25/2090000.html内连接 (JOIN )SELECT a.*,b.* FROM table_1 a,table_2 b WHERE a.name=b.name --写法一SELE...
阅读全文
摘要:http://blog.csdn.net/leshami/article/details/69318861、ROWID ROWID 用于定位数据库中一条记录的一个相对唯一地址值。通常情况下,该值在该行数据插入到数据库表时即被确定且唯一。而对于聚簇表,由于聚簇特性,不同表上的记录由于存储在相同的簇上,...
阅读全文
摘要:http://blog.csdn.net/leshami/article/details/6931886 1、ROWID ROWID 用于定位数据库中一条记录的一个相对唯一地址值。通常情况下,该值在该行数据插入到数据库表时即被确定且唯一。而对于聚簇表,由于聚簇特性,不同表上的记录由于存储在相同的簇上
阅读全文
摘要:1、不会使用索引的情况 在以下情况下,Oracle不会使用索引: (1)、 Where 中只要有一个条件是 IS NULL 或IS NOT NULL操作 判断字段是否为空一般是不会应用索引的,因为B树索引是不索引空值的。 如: a is not null 不会用到索引 修正:a、用其它相同功能的操作
阅读全文
摘要:(01)-把二元查找树转变成排序的双向链表 题目:输入一棵二元查找树,将该二元查找树转换成一个排序的双向链表。要求不能创建任何新的结点,只调整指针的指向。思路:中序遍历,递归。(02)-设计包含min函数的栈 题目:定义栈的数据结构,要求添加一个min函数,能够得到栈的最小元素。要求函数min、pu...
阅读全文
摘要:多态性有两种:编译时多态和运行时多态。 1. 编译时多态 对于多个同名方法,如果在编译时就能确定执行同名方法的哪一个,则称为编译时多态。方法的重载就是编译时多态。 2. 运行时多态 如果在编译时不能确定多个同名方法的哪一个,只能在运行的时候才能确定,就称为是运行时多态。 方法的覆盖表现两种多态性,当
阅读全文
摘要:继承 Java三大特征之一:继承。Java的继承具有单继承的特点,每个子类只能有一个直接父类。 继承的特点 Java的继承用extends关键字来实现,被继承的类成为父类,实现继承的类被称为子类。子类和父类的关系就比如现实生活中儿子与父亲的关系。子类继承父类所有的“特点”,子类是父类的扩展,子类是一
阅读全文
摘要:1. JDK,Java SDK最早叫Java Software Develop Kit,后来改名为JDK,即Java Develop Kit。JDK作为Java开发工具包,主要用于构建在Java平台上运行的应用程序、Applet 和组件等。 2. JRE(Java Runtime Environme
阅读全文
摘要:$ ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa$ cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys然后坑爹的地方就来了。对于.ssh目录,公钥、私钥的权限都有严格的要求。1、用户目录~ 是 755或700,不能 77...
阅读全文
摘要:spark: Spark是UC Berkeley AMP lab所开源的类Hadoop MapReduce的通用的并行计算框架,Spark基于map reduce算法实现的分布式计算,拥有Hadoop MapReduce所具有的优点;但不同于MapReduce的是Job中间输出结果可以保存在内存中,
阅读全文
摘要:1. Spring如何实现事件处理? 事件 ??Extends ApplicationEvent 监听器 ??Implements ApplicationListener 事件源 ??Implements ApplicationContextAware 在applicationContext.xml
阅读全文
摘要:1. 谈谈你mvc的理解 MVC是Model—View—Controler的简称。即模型—视图—控制器。MVC是一种设计模式,它强制性的把应用程序的输入、处理和输出分开。 MVC中的模型、视图、控制器它们分别担负着不同的任务。 视图: 视图是用户看到并与之交互的界面。视图向用户显示相关的数据,并接受
阅读全文
摘要:1、Hibernate是如何延迟加载? Hibernate2延迟加载实现:a)实体对象 b)集合(Collection) 2. Hibernate3 提供了属性的延迟加载功能 当Hibernate在查询数据的时候,数据并没有存在与内存中,当程序真正对数据的操作时,对象才存在与内存中,就实现了延迟加载
阅读全文
摘要:1、简述synchronized和java.util.concurrent.locks.Lock的异同 ? 答:主要相同点:Lock能完成synchronized所实现的所有功能 主要不同点:Lock有比synchronized更精确的线程语义和更好的性能。它的优势有: 可以使锁更公平 可以使线程在
阅读全文
摘要:1、 Volatile的实现原理 2、Synchronized 实现原理 3、线程池的分析和使用 我们可以通过ThreadPoolExecutor来创建一个线程池。 new ThreadPoolExecutor(corePoolSize, maximumPoolSize, keepAliveTime
阅读全文
摘要:1. 构建哈夫曼代码怎样提升性能? 我们知道在构建哈夫曼树时,每次要选择集合中两个最小的元素,然后将元素值相加,合并为一个新节点,此时两个最小的元素的取出可以用HeapExtractMin函数来实现,产出的新节点需要插入到堆中 我们有MinHeapInsert函数来实现。 之前我们遇到哈夫曼编...
阅读全文
摘要:一、堆与栈 1、堆是所有对象共享的,存储对象信息; 每一个线程都有一个独立的线程栈,栈存储的是与当前线程相关的信息,包括局部变量、程序运行状态、方法返回值等。 2、堆中存储的是对象,栈中存储的是基本类型和堆中对象的引用。 3、栈的大小配置 -Xss 4、在运行栈中,基本类型和引用的处理是一样的,都是
阅读全文
摘要:当前分布式计算 Web Services盛行天下,这些网络服务的底层都离不开对socket的操作。他们都有一个共同的结构: 1. Read request 2. Decode request 3. Process service 4. Encode reply 5. Send reply 经典的网络
阅读全文
摘要:http://blog.csdn.net/adermxl/article/details/38686411 java -Xmx3550m -Xms3550m -Xmn2g -Xss128k -Xmx3550m:设置JVM最大可用内存为3550M。 -Xms3550m:设置JVM促使内存为3550m。
阅读全文
浙公网安备 33010602011771号