- 博客(22)
- 资源 (43)
- 收藏
- 关注
转载 tomcat 与 weblogic 区别
先看看Tomcat与Weblogic的区别:TomcatWeblogic是否收费 免费收费兼容性tomcat和商业开发软件Jbiulder是不兼容的兼容性比较好Web容器支持html/jsp/servlet支持html/jsp/servletEJB容器不支持支持性能WLS业界性能评测最好的J2EE服务器规范支持 Tomcat只支持部分J2EE标准,应用
2017-06-28 22:58:27 1838
转载 Tomcat源码分析(三)------ Request和Response处理的全过程
从Tomcat源码分析(二)可知,用户的一个请求会经过n个环节的处理,最后到达开发人员写的Servlet,传给Servlet也就是HttpServletRequest和HttpServletResponse,因此可以认为这一路走下来无非就是把最原始的Socket包装成Servlet里用到的HttpServletRequest和HttpServletResponse,只不过每个环节完成的包装功能和部分
2017-06-28 21:36:39 1316
转载 Tomcat源码分析(二)------ 一次完整请求的里里外外
前几天分析了一下Tomcat的架构和启动过程,今天开始研究它的运转机制。Tomcat最本质就是个能运行JSP/Servlet的Web服务器,因此最典型的应用就是用户通过浏览器访问服务器,Tomcat接收到请求后转发给Servlet,由Servlet处理完后,把结果返回给客户端。今天就专门解析一下这么一个完整的请求的内部机理。通过DEBUG,一路跟下来,发现Tomcat处理请求的核心过程是以下几
2017-06-28 21:22:53 689
转载 Tomcat源码分析(一)------ 架构
废话少说,拉代码,导入eclipse开干,具体步骤可以参考http://hi.baidu.com/hateeyes/blog/item/7f44942a20ad8f9d023bf66d.html下面谈谈我对Tomcat架构的理解总体架构:面向组件架构基于JMX事件侦听1)面向组件架构tomcat代码看似很庞大,但从结构上看却很清晰和简单,它主要由一堆组件组成,如Server、Service、
2017-06-28 21:21:59 917
转载 数据库索引的原理
强烈建议参阅链接:http://www.linezing.com/blog/?p=798#nav-1说白了,索引问题就是一个查找问题。。。数据库索引,是数据库管理系统中一个排序的数据结构,以协助快速查询、更新数据库表中数据。索引的实现通常使用B树及其变种B+树。在数据之外,数据库系统还维护着满足特定查找算法的数据结构,这些数据结构以某种方式引用(指向)数据,这样就可以在这些数据结构上实现高级查
2017-06-27 23:21:40 777
转载 启动tomcat卡在starting状态,然后访问页面就报错:org.apache.jasper.JasperException: Unable to compile class for JSP
一、问题描述eclipse通过maven插件创建一个WEB项目通过内嵌Tomcat加载项目,启动没问题,一访问页面就报错提示无法将jsp编译为class文件:org.apache.jasper.JasperException: Unable to compile class for JSP: An error occurred at line: 1 in the generated java fi
2017-06-26 19:33:18 6667 4
转载 Java -verbose:gc 命令详解 JVM参数以及其含义
-Xms2g:JVM启动初始化堆大小为2g,Xms的默认是物理内存的1/64但小于1G。 -Xmx2g:JVM最大的堆大小为2g,Xmx默认是物理内存的1/4但小于1G;将-Xms和-Xmx的值配置为一样,可以避免每次垃圾回收完成后对JVM堆大小进行重新的调整。 -Xmn512M:堆中的新生代大小为512M -Xss128K:每个线程的堆栈大小为128K -XX:PermSi
2017-06-25 23:42:39 3736 1
原创 Servlets入门
1、ServletRequest对于每个Http请求,Servlet容器会创建一个ServletRequest实例,并将它传给Servlet的Service方法,ServletRequest封装关于这个请求的信息2、ServletResponse表示一个Servlet响应,在调用Servlet的Service方法之前,Servlet容器会首先创建一个ServletResponse,
2017-06-21 11:30:13 737
转载 银行家算法
我们可以把操作系统看作是银行家,操作系统管理的资源相当于银行家管理的资金,进程向操作系统请求分配资源相当于用户向银行家贷款。为保证资金的安全,银行家规定:(1) 当一个顾客对资金的最大需求量不超过银行家现有的资金时就可接纳该顾客;(2) 顾客可以分期贷款,但贷款的总数不能超过最大需求量;(3) 当银行家现有的资金不能满足顾客尚需的贷款数额时,对顾客的贷款可推迟支付,但总能使顾客在有限的时间里
2017-06-20 10:11:37 3728 1
原创 《重构改善既有代码的设计》代码的坏味道
1、重复代码避免这种情况,采用提炼方法 void print(double amount){ printBanner(); System.out.println("name"+name); System.out.println("amount"+amount); }更改为void print(double a
2017-06-18 19:41:17 1110
转载 信号量机制
上篇博客中(进程同步之临界区域问题及Peterson算法),我们对临界区,临界资源,锁机制详细解读了下,留下了一个问题,就是锁机制只能判断临界资源是否被占用,所以他解决了互斥问题,但是他不能确定前面的进程是否完成,所以他不能用于同步问题中。下面就为你讲解信号量机制是如何解决这一问题的。1.信号量机制信号量机制即利用pv操作来对信号量进行处理。什么是信号量?信号量(semaphore)的数据结构为
2017-06-18 10:29:11 10877
原创 slidingmenu实现左侧滑
效果图 首先要导入slidingmenu的library文件,然后依赖,主页面和左菜单是两个FragmentBaseFragment让ContentFragment和LeftmenuFragment继承的基Fragment,实现代码的复用,避免两个子Fragment写重复的代码,initView方法使用抽象修饰,所以子Fragment必须实现。initData方法是可以不用实
2017-06-18 07:33:54 843
原创 爬虫入门教程 | 使用selenium爬取微博热门数据
抓取实时热搜榜、热点热搜榜、潮流热搜榜、名人热搜榜 ,并固定格式存到CSV文件。代码如下:# coding=utf-8import reimport requestsimport xlwtfrom bs4 import BeautifulSoupfrom selenium import webdriverdriver = webdriver.Chrome("C:\Prog...
2017-06-18 07:30:46 1610
原创 《重构改善既有代码的设计》第一个重构案例
重构之前Movie(影片)public class Movie { //儿童片 public static final int CHILDRENS=0; //普通片 public static final int REGULAR=1; //新片 public static final int NEW_RELEASE=2; priva
2017-06-17 19:46:14 995
原创 弹出式线程&使用单线程代码多线程化
弹出式线程介绍在如何处理到来的消息,一个消息的到达导致系统创建一个处理该消息的线程,这种线程就叫弹出式线程优点由于线程相当新,没有必须存储的寄存器、堆栈等内容,所以消息到达与处理开始之间的时间非常短 使用单线程代码多线程化介绍单线程代码所运行的系统,在内核里认为上层运行的程序是单线程进程,此时改为多线程进程,是用户级多线程。需要解决的问题一:全局变量问题解决方案1:为每个线程赋予其私有的全局变量,
2017-06-17 11:55:08 1181
原创 线程实现的两种方式 —— 用户空间和内核中
在用户空间中实现线程特点: 整个线程包放入用户空间中,内核对线程包一无所知。从内核角度考虑,就是按正常的方式管理,即单线程进程 优点: 1、用户级线程包可以在不支持线程的操作系统上实现 2、线程切换比内核快更多 3、允许每个进程有自己定制的调度算法缺点: 线程发生I/O或页面故障引起的阻塞时,如果调用阻塞系统调用则内核由于不知道有多线程的存在,而会阻塞整个进程从而阻塞所有线程 一个单独
2017-06-17 11:18:39 2086
原创 关于进程
创建进程有4种事件导致进程的创建: 1、系统初始化 2、有一个执行中的进程所调用的进程创建系统调用 3、用户自己创建进程 4、一个批处理作业的初始化 (fork)进程的状态1、运行态 2、就绪态 3、阻塞态进程的实现操作系统有一张进程表。每一项记录每个进程的各种信息。也称为进程控制块进程间通信线程因为共享一个地址空间,所以他们可以传递信息 1、竞争条件 两个或多个进程读写某个共享数
2017-06-17 10:41:04 1173
原创 SpringMVC实战教程 | 第八篇:SpringMVC下载文件
为了将像文件这样的资源发送到浏览器,需要在控制器中完成以下工作: (1)对请求处理方法使用void返回类型,并在方法中添加HttpServletResponse参数。 (2)将响应的内容类型设为文件的内容类型。Content-Type标题在某个实体的body中定义数据的类型,并包含媒体类型和子类型标识符。 (3)添加一个名为Content-Disposition的HTTP响应标题,并赋...
2017-06-16 16:08:58 756
原创 SpringMVC实战教程 | 第七篇:SpringMVC转换器和格式化
ConverterSpring的Converter可以将一种类型转换另一种类型的对象,例如:如果希望Spring在将输入的日期字符串绑定到Date时,使用不同的日期样式,需要使用Converter来将字符串转换日期 创建Converter需要实现Converter< String,Date >接口StringToDateConverter负责将字符串转换日期p...
2017-06-16 13:03:00 882
原创 No mapping found for HTTP request with URI [/app17a/] in DispatcherServlet with name 'springmvc'解决方法
因为你的Controller没有扫描到,注意加注解@Controller的前提,然后在配置文件<context:component-scan base-package="controller1"></context:component-scan>去扫描该Controller所在包
2017-06-15 20:30:27 970
原创 SpringMVC实战教程 | 第六篇:SpringMVC表单处理(重定向)
1、应用@Autowired和@Service进行依赖注入将依赖注入到SpringMVC控制器的最简单的方法就是通过注解@Autowired到字段或方法。还有类的依赖注入要注明@Service,指示该类是一个服务,并在配置文件中添加扫描依赖基本包 <context:component-scan base-package="service"></context:comp...
2017-06-15 18:36:57 714
原创 SpringMVC实战教程 | 第五篇:SpringMVC表单处理(注解和非注解)
1、目录结构2、部署描述符文件和SpringMVC配置文件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/j...
2017-06-15 11:14:40 932
大型网站技术架构+核心原理与案例分析+李智慧 (带书签).pdf
2017-09-05
思维导图.rar
2019-07-19
Java高级架构师面试必备思维导图
2019-06-08
基于Springboot高并发商品限时秒杀系统
2018-06-21
基于Zookeeper+Netty+Protostuff实现的简单RPC框架源码
2018-06-21
一款社交APP,采用EasyUI+环信+百度地图+MVP进行开发源码
2018-06-21
Java后端面试知识点总结
2018-06-21
android面试题集锦(珍藏)
2018-02-06
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人