- 博客(133)
- 资源 (163)
- 收藏
- 关注
转载 0125 Flume NG 简介及配置实战
Flume 作为 cloudera 开发的实时日志收集系统,受到了业界的认可与广泛应用。Flume 初始的发行版本目前被统称为 Flume OG(original generation),属于 cloudera。但随着 FLume 功能的扩展,Flume OG 代码工程臃肿、核心组件设计不合理、核心配置不标准等缺点暴露出来,尤其是在 Flume OG 的最后一个发行版本 0.94.0 中,日志
2015-09-17 15:46:50
831
转载 0124 WEB安全实战(三)XSS 攻击的防御【基础】
前言上篇文章中提到了 XSS 攻击,而且,也从几个方面介绍了 XSS 攻击带来的严重影响。那么,这篇文章中,主要是针对 XSS 攻击做一个基本的防御,看看可以通过几种方式来修复这个特别常见的安全漏洞。由于公司用的是 SpringMVC,因此,这次就主要基于 SpringMVC 来解决这些漏洞。当然,其实这些解决方案都是大同小异,对于什么环境来说根本无所谓。了解了原理,什么环
2015-09-09 18:58:09
486
转载 【0123】 mysql的执行计划
mysql的查看执行计划的语句很简单,explain+你要执行的sql语句就OK了。举一个例子EXPLAIN SELECT * from employees where employees.gender='M' 返回的结果如下:这些结果都代表什么?id是一组数字,表示查询中执行select子句或操作表的顺序。如果id相同,则执行顺序从上至下。
2015-08-20 12:14:35
516
转载 122 ehcache memcache redis 三大缓
最近项目组有用到这三个缓存,去各自的官方看了下,觉得还真的各有千秋!今天特意归纳下各个缓存的优缺点,仅供参考! Ehcache在java项目广泛的使用。它是一个开源的、设计于提高在数据从RDBMS中取出来的高花费、高延迟采取的一种缓存方案。正因为Ehcache具有健壮性(基于java开发)、被认证(具有apache 2.0 license)、充满特色(稍后会详细介绍),所以被用于
2015-07-18 11:02:25
320
转载 121 DMZ功能实现
DMZ,全称是:Demilitarized Zone,俗称"非军事区" 具体的说,在路由器中通过下面6条规则限制的主机所在的网络区域就是DMZ,而该网络区域内的主机就是DMZ主机: 1.内网可以访问外网无论如何,内网的用户是需要能通过路由器访问外网的,这里需要做地址转换,规则如下:iptables -t nat -A POSTROUTING -s [内网地址] -d [外网
2015-07-10 00:09:53
1289
1
转载 120 基于nginx的tomcat负载均衡和集群(超简单)
今天看到"基于apache的tomcat负载均衡和集群配置 "这篇文章成为javaEye热点。略看了一下,感觉太复杂,要配置的东西太多,因此在这里写出一种更简洁的方法。 要集群tomcat主要是解决SESSION共享的问题,因此我利用memcached来保存session,多台TOMCAT服务器即可共享SESSION了。 你可以自己写tomcat的扩展来保存
2015-06-08 17:13:37
485
转载 118 nginx+tomcat+session共享
1 起因最近对新开发的web系统进行了压力测试,发现tomcat默认配置下压到600人的并发登录首页响应速度就有比较严重的影响,一轮出现2000多个的500和502错误。我把登录的时间统计做了一下,把服务器处理总时间打印出来,看了一下发现有个别响应确实在20秒,但平均时间和lr测试出来的还是相差很远。所以可以断定不是程序处理处理花费了这么多时间,由于在局域网测试,所以也可以排除网络问题。这
2015-06-08 11:29:00
416
转载 119 Nginx和Tomcat负载均衡实现session共享
以前的项目使用Nginx作为反向代理实现了多个Tomcat的负载均衡,为了实现多个Tomcat之间的session共享,使用了开源的Memcached-Session-Manager框架。 此框架的优势: 1、支持Tomcat6和Tomcat7 2、操作粘性或不黏性Session 3、没有单点故障
2015-06-08 10:38:40
523
转载 117 Tomcat 系统架构与设计模式,第 1 部分: 工作原理
本文以 Tomcat 5 为基础,也兼顾最新的 Tomcat 6 和 Tomcat 4。Tomcat 的基本设计思路和架构是具有一定连续性的。Tomcat 总体结构Tomcat 的结构很复杂,但是 Tomcat 也非常的模块化,找到了 Tomcat 最核心的模块,您就抓住了 Tomcat 的“七寸”。下面是 Tomcat 的总体结构图:图 1.Tomcat 的总体结构
2015-06-07 16:32:58
407
转载 115 tomcat架构分析 (Session管理)
Session管理是JavaEE容器比较重要的一部分,在app中也经常会用到。在开发app时,我们只是获取一个session,然后向session中存取数据,然后再销毁session。那么如何产生session,以及session池如何维护及管理,这些并没有在app涉及到。这些工作都是由容器来完成的。 Tomcat中主要由每个context容器内的一个Manager对象来管理session。对
2015-06-07 12:08:54
471
转载 0114 APNS的推送机制
转:http://blog.csdn.net/showhilllee/article/details/8631734APNS的推送机制首先我们看一下苹果官方给出的对ios推送机制的解释。如下图 Provider就是我们自己程序的后台服务器,APNS是Apple Push Notification Service的缩写,也就是苹果的推送服务器。上图
2015-04-23 16:40:54
437
转载 0112 大型网站架构要思考的几个问题【高级】
1.如何分层?业务逻辑集中在哪几层中处理,为将来的垂直拆分打下基础。2.如何划分组件?3.前台高并发如何处理?4.Cookies 还是 Session ?5.海量数据如何存储?6.如何消除分库、分表对业务层的影响?7.分库、分表之后如何实现排序、分页?8.需要几级缓存?9.缓存层面和数据库之间如何保持数据一致性?10.分布
2015-02-11 14:38:42
500
转载 0111 《软件架构设计》读书笔记【基础】
一、什么是架构?从书中可以看到两个观点:1. 架构=组件 + 交互2.架构= 重要决策集我更倾向于第一个观点,而用第二个观点提醒自己系统概要设计、详细设计等架构落地时候是否设计原则遵守了架构原则。二、子系统、框架和架构在解释这三个概念的时候,我想还要再加上要给概念:平台。好吧,分裂吧,程序员们。子系统:这个概念最为简单,就是一个系统的细分,
2015-02-11 14:29:09
811
转载 0110 领域模型管理与AOP【高级】
导言正如从像《领域驱动设计》[Evans DDD]和《领域驱动设计和模式应用》[Nilsson ADDDP]这些书中学到的一样,在应用架构中引入领域模型模式(《企业应用架构模式》[Fowler PoEAA])一定会有很多益处,但是它们并不是无代价的。使用领域模型,很少会像创建实际领域模型类、然后使用它们那么简单。很快你就会发现,领域模型必须得到相当数量的基础架构代码的支持。
2015-02-09 17:14:58
477
原创 0109 领域模型(Domain Model )【基础】
> 和>,令Domain 这个词很火,也引起了广泛争论。我这里也乱谈一把。什么是领域模型(Domain Model ) 我以为Domain分两个含义:Domain Object和Domain Service。那么什么样的系统是面向Domain的系统,一个Domain Object和普通的符合OO原则的对象有什么区别;一个Domain Service和普通的Facade或者Manag
2015-02-09 11:19:10
1433
1
转载 0108 SpringMVC与Struts2的对比【基础】
下面这些东西基本都是我从网上粘贴过来的,没有那么多耐心和时间一个字一个字的敲了,但是基本能表明我选择SpringMVC的思路和原因。把这张图放在这里,我是想说SpringMVC和Struts2真的是不一样的,虽然在都有着核心分发器等相同的功能组件(这些由MVC模式本身决定的)。 为什么SpringMVC会赢得最后的胜利呢?谈几点我自己的看法: 第
2015-02-09 10:41:34
507
原创 0107 JVM内存区域划分Eden Space、Survivor Space、Tenured Gen,Perm Gen解释
jvm区域总体分两类,heap区和非heap区。heap区又分:Eden Space(伊甸园)、Survivor Space(幸存者区)、Tenured Gen(老年代-养老区)。 非heap区又分:Code Cache(代码缓存区)、Perm Gen(永久代)、Jvm Stack(java虚拟机栈)、Local Method Statck(本地方法栈)。HotSpot虚拟机GC算法采用分
2015-02-05 15:27:41
1428
1
转载 0106 单例模式的7种写发【基础】
第一种(懒汉,线程不安全): Java代码 public class Singleton { private static Singleton instance; private Singleton (){} public static Singleton getInstance() { if (instance == nu
2015-01-30 09:59:36
422
转载 0104 Ant使用【基础】
Ant 是一个 Apache 基金会下的跨平台的构件工具,它可以实现项目的自动构建和部署等功能。在本文中,主要让读者熟悉怎样将 Ant 应用到 Java 项目中,让它简化构建和部署操作。一. 安装与配置下载地址: http://ant.apache.org/ ,在本文中下载的是 1.7.0 版本。解压到某个目录(例如 E:"apache-ant-1.7.0),即可
2015-01-13 14:02:34
348
转载 0037 Java NIO DatagramChannel(二)【底层】
Java NIO中的DatagramChannel是一个能收发UDP包的通道。因为UDP是无连接的网络协议,所以不能像其它通道那样读取和写入。它发送和接收的是数据包。打开 DatagramChannel下面是 DatagramChannel 的打开方式:查看源代码打印帮助1DatagramChannel channel = Datag
2014-12-18 22:37:49
566
原创 0036 java NIO ServerSocketChannel原理(一)【底层】
1 NIO介绍 NIO非堵塞应用通常适用用在I/O读写等方面,我们知道,系统运行的性能瓶颈通常在I/O读写,包括对端口和文件的操作上,过去,在打开一个I /O通道后,read()将一直等待在端口一边读取字节内容,假如没有内容进来,read()也是傻傻的等,这会影响我们程序继续做其他事情,那么改进做法就是开设线程,让线程去等待,但是这样做也是相当耗费资源的。Java NIO非堵塞
2014-12-18 22:36:40
1678
1
转载 0032 什么是java线程的中断【基础】
线程状态 Java虚拟机将线程运行过程分成四种状态 。 (1) New 新生;(2) Runnable 可运行;(3) Blocked 阻塞;(4) Dead 死亡。 值得注意的是: 线程的可运行状态并不代表线程一定在运行(runnable != running ) 。 大家都知道:所有现代桌面和服务器操作系统都使用了抢占式的线程调度策略 。 一旦线
2014-12-18 22:35:42
381
原创 0017 理解Java String和String Pool【入门】
要理解 java中String的运作方式,必须明确一点:String是一个非可变类(immutable)。什么是非可变类呢?简单说来,非可变类的实例是不能被修改的,每个实例中包含的信息都必须在该实例创建的时候就提供出来,并且在对象的整个生存周期内固定不变。java为什么要把String设计为非可变类呢?你可以问问 james Gosling :)。但是非可变类确实有着自身的优势,如状态单一,对
2014-12-18 22:33:47
645
1
原创 0023 java中的各种数据类型在内存中存储的方式 【入门】
1.java是如何管理内存的java的内存管理就是对象的分配和释放问题。(其中包括两部分)分配:内存的分配是由程序完成的,程序员需要通过关键字new为每个对象申请内存空间(基本类型除外),所有的对象都在堆(Heap)中分配空间。释放:对象的释放是由垃圾回收机制决定和执行的,这样做确实简化了程序员的工作。但同时,它也加重了JVM的工作。因为,GC为了能够正确释放对象,GC必须监控
2014-12-18 22:32:49
632
转载 0019 Servlet容器的实现:单实例多线程的线程安全问题【基础】
Servlet容器默认采用单实例多线程的方式来处理请求,这样减少产生Servlet实例的开销,提升了对请求的响应时间,对于Tomcat可以在server.xml中通过元素设置线程池中线程的数目。这样实现的同时带来了多用户并发访问多线程安全问题。一. Servlet容器如何同时来处理多个请求 先说明几个概念: 工作者线程Work Thread:
2014-12-18 22:31:45
838
原创 0018 Java多线程中UncheckedException异常处理UncaughtExceptionHandler【基础】
Java线程池异常处理待写。。。
2014-12-18 22:30:33
924
1
原创 0014 Java接口中的成员变量【基础】
JAVA中接口(interface)中的成员变量为什么public static final 的?1.接口必须要具体类实现才有意义,所以必须是public。2. 接口中的数据对所有实现类只有一份,所以是static。 从接口的作用来看,接口就是一组规范,既然是规范,里面的内容(数据)必须是确定的,不能每个实现的类都不同,那么接口的意义就没有了。 interface不能
2014-12-18 22:29:18
614
原创 0013 java运行内存分配图【原理】
Java的内存分配 Java程序运行时的内存结构分成:方法区、栈内存、堆内存、本地方法栈几种。方法区 存放装载的类数据信息,包括:基本信息:每个类的全限定名、每个类的直接超类的全限定名、该类是类还是接口、该类型的访问修饰符、直接超接口的全限定名的有序列表。每个已装载类的详细信息:运行时常量池、字段信息、方法信息、静态变量、到类classloader的引用、到类class的引用。
2014-12-18 22:26:59
590
1
转载 0011 认识理解Java中native方法【基础】
Java不是完美的,Java的不足除了体现在运行速度上要比传统的C++慢许多之外,Java无法直接访问到操作系统底层(如系统硬件等),为此Java使用native方法来扩展Java程序的功能。 可以将native方法比作Java程序同C程序的接口,其实现步骤: 1、在Java中声明native()方法,然后编译; 2、用javah产生一个.h文件;
2014-12-18 22:26:01
706
原创 0010 Java JVM虚拟机7块内存区划分【入门】
Java中内存的管理机制是通过JVM来自动管理的。了解JVM的基础原理有利于进一步理解Java。我们首先要了解java内存的分配机制,在java虚拟机规范里,JVM被分为7个内存区域。虚拟器规范中的7个内存区域分别是三个线程私有的和四个线程共享的内存区。线程私有的内存区域:线程私有的内存区域与线程具有相同的生命周期,它们分别是:指令计数器、 线程栈和本地线程栈。四个共享区:
2014-12-18 22:25:29
2809
1
原创 0012 Java反射机制【入门】
讲Java的反射之前,先来了解一下Java中一个类的生命周期。Java中一个类的生命周期包括:编译 -> 装载JVM -> 链接 ->初始化。1、在一个类编译完成之后,下一步就需要开始使用类,如果要使用一个类,肯定离不开JVM。在程序执行中JVM通过装载,链接,初始化这3个步骤完成。2、类的装载是通过类加载器完成的,加载器将.class文件的二进制文件装入JVM的方法区,并且在堆区
2014-12-18 22:24:48
403
数学建模报告(八个全)
2010-06-29
MyEclipse配置ejb.rar
2010-12-19
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅