自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(56)
  • 资源 (2)
  • 收藏
  • 关注

原创 How Tomcat works 18: JMX管理

    1. Tomcat中的JMX概述(1)概述    对于一个可以被管理的Java对象,我们需要创建另一个对象MBean或Managed Bean。org.apache.catalina.mbeans包中有:ConnectorMBean, StandardEngineMBean, StandardHostMBean, StandardContextMBean。    一个MBean暴露出...

2018-10-31 16:23:27 177

原创 How Tomcat works 16-17: ShutdownHook 和Tomcat启动

Shutdown Hook一、概述    1. JVM会响应关闭自己的两种Event    (1)应用程序调用System.exit方法或最后一个非守护进程non-daemon退出    (2)用户在关java程序之前,突然强制关机,比如CTRL+C或者注销系统    2. JVM为shuttingdown提供了两段式处理流程    (1)JVM会和所有注册过的shutdown ho...

2018-10-31 14:12:48 369

原创 How Tomcat Works 15: Digester

一、概述    前面章节中,使用hard-code来管理各component间的从属关系,如果需要改变则需要重新编译Bootstrap类。幸运的是tomcat设计者采用了更优雅的方法来管理配置,即XML文件server.xml. 这样我们只需要修改server.xml文件就可以设置tomcat。如:<context docBase='myApp' path="/myApp"/>  ...

2018-10-30 10:02:20 189

原创 How Tomcat works 14: Service 和 Server

一、Server    1. 总体架构位置    2. Server的设计目的    Server提供了优雅的启动停止所有内部组件的功能,有了server,无需再单独启动connector和Container    3. Server具体内部功能    server的许多内部方法都可以配置在server.xml文件中。可以包含0个到多个Service。Server的生命周期关联四个方...

2018-10-29 16:01:43 149

原创 How Tomcat works 13:Host容器和Engine容器

一、 Host    容器Host比较简单,主要配置hostname,别名,添加默认和包含的context,以及是否允许自动部署等功能。    (1)Host总体设计架构   (2)Request的处理流程   A. 一个Request进入host后首先会使用pipleline责任链依次调用配置好的valves   B. 在StandardValve内部standardHostMa...

2018-10-29 13:28:06 161

原创 RabbitMQ 配置和基本原理

    1. 配置:    (1)最简单的java配置法:        public class Test {            public static void main(String[] args) {                ConnectionFactory connectionFactory = new CachingConnectionFactory();...

2018-10-26 09:37:02 326

原创 线程系列

    1. 线程不安全的原因    java内存模型: 线程内存栈<---->堆 主存,之间的读取和写入导致多线程数据不一致问题    2. Java的线程安全    (1)使用synchronized    a.方法同步时,锁定object,若方法静态锁定class    b.synchronized(this)将在进入同步块前锁定对象    c.需要避免deadl...

2018-10-25 09:07:53 150

原创 【MSQL】 yum安装以及 Master-Slave主从复制同步配置

    1. Yum 安装:        # wget http://repo.mysql.com/mysql57-community-release-el6.rpm           # yum install -y mysql57-community-release-el6.rpm        # yum search mysql #找到mysql57-commu...

2018-10-23 16:46:25 232

原创 Maven 相关知识点

    1. Maven的Lifecycle和Scope        (1)Dependency Scope:        a. compile时,在编译、测试、运行时,都需要jar在classpath中        b. provided时,在编译、测试时,需要jar在classpath中,而运行时则认为在容器如【tomcat或JDK】会默认提供,所以不需要jar在classpat...

2018-10-19 16:45:21 142

原创 How Tomcat Works 12: StandardContext

    1. StandardContext的配置    (1)启动:start()方法调用后,如果context实例失败,需要将available设为false    (2)Tomcat部署context时:会先读取解析%CATALINA_HOME%/conf内的web.xml为所有standardContext,而后会读取解析webapp-level级别的web.xml。此外,authen...

2018-10-17 12:19:36 119

原创 How Tomcat works 10: Security

    1. 概述:    WebApp的资源的访问限制可以通过web.xml文件来支撑。Servlet容器可以通过叫做Authenticator valve类来支持。Authenticator valve会调用context's realms的authenticate方法校验user    2. Realm类    (1)一个Realm通常附属于一个context, 一个container...

2018-10-16 22:30:29 103

原创 How Tomcat works 11: StandardWrapper容器

    1. Http request处理时序图        2. StandardContext和StandardWrapper的构造函数:        Public StandardContext() {            super();            pipeline.setBasic(new StandardContextValve());        ...

2018-10-16 22:29:50 107

原创 How tomcat works 9: Session Management

1. 概述(1)在HttpRequestBase的doGetSession()中,a. 会使用manager=context.getManager->session=manager.findSession(reqSessionId)b. manager可以使用file或database持久化session2. Sessions(1) 由于安全问题使用StandardSes...

2018-10-16 14:36:55 124

原创 How Tomcat works 8: Loader类

1. 概述  (1)需要定制加载类的原因:安全性:每个context需要有自己的class loader来加载所有内部的servlet类。而不能用系统自带的system loader来加载,否则违反安全性约束 重新加载:当WEB-INF/classes中的类改变时,需要重新加载2. Java类加载器(1)JVM每次加载java类,先创建class对象,后载入内存(2)JVM加载...

2018-10-16 09:52:49 108

原创 How Tomcat works 7: Logger日志系统

1. Logger接口(1)Code: package com.cisco.tomcat.logger; import java.beans.PropertyChangeListener; import com.cisco.tomcat.lifecycle.Container; public interface Logger { public static...

2018-10-15 14:48:16 125

原创 How Tomcat works 6: Lifecycle

概述    Catalina由许多组件组成,当容器启动时,这些组件都需要启动。当容器停止时,所有组件都需要做清除动作。如:调用所有servlet的detroy动作,session manager把session对象存入第二存储位置。启动和停止组件的持续性机制就是实现Lifecycle接口的实现类。    Lifecycle接口的实现组件可以触发一个或多个事件(Events):    与启...

2018-10-14 23:25:38 113

原创 How Tomcat works 4-5: Container

Container概述(1)主要包含四种:Engine:整个catalina servlet容器, Host:一个虚拟主机包含多个context容器, Context:一个web应用容器,包含一道多个Wrapper容器, Wrapper:独立servlet容器(2)UML图(3)添加/移除/查找子容器:container.addChild(container) -> con...

2018-10-14 23:20:01 140

原创 How Tomcat works 3: 简单的connector

Connetor的业务流程图:StringManager:(1)用于给tomcat管理各种error message。不同语言包的error Message存储在如:LocalStrings.properties, 日文的文件如:LocalStrings_jp.properties(2)StringManager是包内共享,全局使用Singleton pattern将所有key-val...

2018-10-14 23:12:10 107

原创 How Tomcat Works 2: A Simple Servlet Server

1 javax.servlet.Servlet 接口(1)接口包含五个方法:Public void init(ServletCongig config)Public void service(ServletRequest request, ServletResponse response)Public void destory()Public void ServletConfi...

2018-09-29 14:58:37 106

原创 How Tomcat Works 1: A Simple Http Server

A Simple Web Server    Web Server也称作HTTP server,用于客户端和服务器端HTTP通信。Java-base的webserver 主要使用java.net.Socket and java.net.ServerSocket. 1 HTTP协议介绍(Hypertest Transfer Protocol)    Client request一个文...

2018-09-28 13:22:56 142

原创 How Tomcat Works: Introduction

How Servlet Container works(1) 为一个servlet处理一个request, 主要做三件事    I. 创建一个request 对象(包含parameters,headers,cookies,query string,URI等信息). request 对象是javax.servlet.ServletRequest 接口或该接口的实现实例    ||. 创建...

2018-09-28 13:20:09 189

原创 Tomcat Wiki笔记

#######################################Tomcat wiki学习#######################################1. 标准目录格局(1) *.html, *.jsp, *.js, *.css,etc 存放在根目录下,或者做根的子目录(2) /WEB-INF/web.xml :描述webApp的servlets...

2018-09-28 13:18:37 493

转载 TCP | UDP 基础知识

####################TCP 和 UDP####################1. 端口:1.1 端口与进程(1) TCP的包不包含IP,但是有源端口和目的端口。在计算机内部可以使用管道、内存共享、信号量、消息队列等方法。本地进程可以通过PID(进程标识符)唯一标识进程。(2) 若两台机器需要在运输层使用protocol port numner(协议端口...

2018-09-27 10:45:44 783

原创 [Maven]Scope

1. Maven have 6 Scope :其中Compile是Default2. 官方介绍compile This is the default scope, used if none is specified. Compile dependencies are available in all classpaths of a project. Furthermore, thos...

2018-07-24 16:20:59 142

原创 [Spring-Core] AOP 详解

1. AOP Concepts(核心概念)2. AOP Indication(标记方式): XML 和 AspetJ-style 两种方式3. AOP 主要概念:(1)Aspect: 关注横切多个Class的模块(2)Join point: 程序执行的点,在spring中只描述method()(3)Point cut: Indication to match Join po...

2018-07-24 13:24:55 226

原创 [Step by step Spring MVC](五)搭建之【搭建Jquery+springmvc+hibernate+mysql】

问题:1. Q: Eclipse调试时,修改了jsp不自动同步到tomcat下  R: 关闭tomcat该项目的autoload功能,修改后会自动部署2. Q:文件目录js单独目录, jsp无法获得js路径 R:...

2018-06-06 09:56:50 130

原创 [Learning] Reading JAVA persistence with Hibernate

1. Persistence: 使数据的存活时间超过(outlive)应用程序的生命周期,也就是存储在数据库或磁盘上,不消失2. ORM: Object/ Relation Mapping: 解决数据库数据到Object的映射问题,使用Hibernate的好处:(1) Productivity, 提高生产效率,使developer从重复繁重的sql查询到组装object中释放出来(2) Maint...

2018-05-15 20:40:50 133

原创 [Step by step Spring MVC](三)搭建之【引入数据持久层】

一、思考: 业界流行使用JPA,Hibernate, iBatis等框架作为数据持久层支撑,那么为什么要引用数据持久层,相比原生sql以及jdbcTemplate,数据持久层有什么好处呢?二、思考:ORM (Object Relation Mapping)是什么意思?持久化是什么意思?两者有什么关系?...

2018-05-10 23:12:32 173

原创 [Step by step Spring MVC](二)搭建之【引入jdbcTemplate】

前提: 上一节,完成了Spring MVC无DB Demo, 这一节会引入jdbcTemplate来构建数据库查询1. 准备:安装Mysql 5.7.21,在mysql bench中可以使用SQL查询到自己安装的version:  select version();2. 配置jdbcTemplate所需数据库信息(1) 使用jdbc.properties文件来配置数据库信息jdbc.driver=...

2018-05-10 09:59:23 188

原创 [HTTPS] https证书缺失导致的log问题

使用java的httpclient调用https的api时,可能报error,这时的解决方法是:1. chrome中到处cer证书:2. 找到jdk 安装路径, 我的centos的路径为/usr/java3. 进入 /usr/java/bin,使用keytool导入相应https证书./keytool -import -alias ${aliasName} -keystore ${java_hom...

2018-05-09 11:29:21 676

原创 [estore 基础知识]之(一)【JDBC 从原始到高度封装演进】

1. 原始JDBC查询大致分为六个步骤:(1) 注册数据库驱动(动态加载类)(2) 创建数据库连接(3) 执行SQL脚本(4) 运行数据处理逻辑(5) 关闭资源(6) finally关闭句柄,关闭连接package com.cisco.eStore.test.dao;import org.apache.log4j.Logger;import java.sql.*;public clas...

2018-05-03 17:51:39 323

原创 [Step by Step 搭建SpringMVC](一) 之【无JDBC Demo】

1. Spring 项目结构:2. 基础配置文件:(1) web.xml<?xml version="1.0" encoding="UTF-8"?><web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaL...

2018-04-22 12:32:20 127

原创 [estore基础知识] 之(二)【Spring MVC和原始servlet方式演进】

1. 最初不使用框架,只使用servlet实现MVC模式的方式为:(1)在web.xml中配置servlet, servlet-mapping, 配置http请求进入不同的servlet中, 这里可以将每个请求的后缀或携带的参数当作分发标记,作为controller的实现。如: servlet-mapping的url-pattren为/demo/, 请求url为/demo/flag, 通过flag...

2018-04-20 22:30:11 190

原创 [eStore] Product list module --2018-04-20

1. US: choose the right DataBasetask1: why using mysqltask2: why using innodbtask3:why JPAtask4:Ibatis or hibernate or no JPA2. US: show List of Producttask1: give a api to show Product listtask2: edi...

2018-04-20 21:44:24 93

原创 [eStore] Build simplest spring MVC project with maven

1. Configuration of maven, pom.xml:<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" ...

2018-04-18 23:39:43 101

原创 [eStore]Archtecture

2018-04-18 17:52:51 190

转载 [estore基础知识] 之(三)【Spring 体系】

The Spring Framework consists of features organized into about 20 modules. These modules are grouped into Core Container, Data Access/Integration, Web, AOP (Aspect Oriented Programming), Instrumentati...

2018-04-18 17:25:12 158

原创 [Maven]project pom文件的顶级元素

project pom文件的顶级元素modelVersion 所使用的object model版本,为了确保稳定的使用,这个元素是强制性的。除非maven开发者升级模板,否则不需要修改groupId 是项目创建团体或组织的唯一标志符,通常是域名倒写,如groupId  org.apache.maven.plugins就是为所有maven插件预留的artifactId 是项目artifact唯一的基...

2018-04-18 16:49:47 504

转载 Java 架构师 学习计划

1. linux学习  -> 《鸟叔私房菜》, linux服务器实操2. 网络协议: TCP/IP协议   Http协议: 熟悉tcp协议,创建连接三次握手和断开连接四次握手的整个过程,不了解的话,无法对高并发网络应用做优化; 熟悉http协议,尤其是http头,我发现好多工作五年以上的都弄不清session和cookie的生命周期以及它们之间的关联3. 系统集群、负载均衡、反向代理、动静

2018-01-27 16:41:50 378

原创 Java Web 架构系列 知识(二) 学习高可用

Java Web架构分层:   客户端(浏览器,app) ->   反向代理(ngnix)   ->  web 应用(tomcat)   ->   servie(服务层)  ->数据库(noSql缓存+mysql)1. 反向代理:为什么用反向代理?2. web应用如何高可用,高并发,高伸缩性?3. service层如何保证数据一致性?4. noSql的缓存机制和数据库一致性?

2017-11-30 14:49:07 476

深入理解osgi

深入理解osgi,本书由浅入深的讲解了osgi的发展历程,模块层规范,生命周期层规范,以及基本实现原理,对初学者和从业人员都有不错的指导意义

2019-04-16

snort_2_9 Installer

snort2.9的安装软件,喜欢的可以下载实施

2014-02-20

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除