- 博客(42)
- 收藏
- 关注
转载 Tomcat的总体架构
前言本文章是Tomcat源代码阅读系列的第二篇文章,我们在本系列的第一篇文章:Tomcat源码分析环境搭建 一文中介绍了如何在Eclipse中运行Tomcat源代码,本文将介绍一下Tomcat的总体架构体系。Tomcat的总体架构Tomcat既是一个Http服务器也是一个Servlet容器,其总体架构如下:从上图我们可以看出Tomcat主要涉及的组件有:
2017-09-22 15:18:23
331
原创 nginx是如何处理请求的?
一、nginx如何选择适当的虚拟服务器来处理请求?(1)基于主机名匹配来选择合适的虚拟服务器(server匹配) 对比请求头中的host字段与server中的server_name,选择匹配的服务器。如果都不匹配,则选择该端口所对应默认的服务器。如果没有指定默认服务器,默默为服务器列表中的第一个,可以通过listen port default_server来显示指定。值得注意的是,
2017-06-09 16:59:05
820
原创 sybase数据库使用总结
启动和关闭数据库 启动数据库服务 进入 /opt/sybase-12.5/ASE/install ./RUN_test & 或 ./startserver –f RUN_test链接数据库服务,进入客户端模式isql -Usa -P -Stest关闭数据库服务BACKUP: 终端执行 isql –Stest –Usa –P1> shutdo
2017-05-31 16:27:16
1795
原创 使用parted分区的步骤
使用parted分区的步骤1. fdisk -l 查看一下当前的存储设备,这里可以看到新加入的磁盘,比如/dev/sdb2. parted /dev/sdb 进入分区命令行模式,可以随时用help来查看命令用法3. mklabel gpt 将MBR格式的磁盘格式化为GPT格式4. mkpart primary 0 -1 将整个磁盘化为一个分区,一般命名为/dev/sdb15.
2017-03-08 15:46:12
10004
1
原创 shell脚本学习(持续更新)
1.将文件的内容按行读取,并在循环中处理1).利用管道的方式,将文件内容传给whilecat input.txt | while read Linedo command1done2).利用重定向的方式,将文件内容传给whilewhile read Linedo command1done 3).通过文件描述符的方式exec 3 &e
2017-03-04 13:57:45
321
原创 详细打印tomcat的日志
tomcat启动时的报错日志太过简单,不方便排查问题,这时,可以在项目的classes下新增一个文件logging.properties内容如下:handlers = org.apache.juli.FileHandler, java.util.logging.ConsoleHandler org.apache.juli.FileHandler.level = FINE
2017-03-02 17:22:31
3089
原创 druid数据源及监控界面配置
1.引入所需jar包druid-1.0.15.jar2.配置数据源,在spring配置文件中声明DruidDataSourceBean
2017-02-14 16:50:04
1509
原创 spring-mvc数据源配置及modelAttribute注解
2016-04-29入门1、spring相关jar包下载地址https://repo.spring.io/libs-release/org/springframework/spring/4.2.6.RELEASE/2.各jar包的作用 所有的注解的定义如@controller @service等走定义在context jar中 org.springframework.w
2017-02-14 16:02:40
414
原创 时间类总结
JDK 中时间相关类1、Date初始化方法:Date()新建并用当前时间来初始化一个Date对象 Date(long miliseconds) 用指定的毫秒数来新建并初始化一个Date对象,这个毫秒数是距离1970.1.1的毫秒数常用方法:时间比较类:after(Date date)判断当前时间是否在指定时间之后
2016-08-30 09:49:33
458
转载 commons-logging.jar 和 log4j.jar 的关系
commons-logging.jar 和 log4j.jar 的关系在学习springmvc的时候下载了3.1的版本,导入jar包的时候发现commons-logging.jar 和 log4j.jar 这两个jar包做项目一直都是开发二期,从没关注过jar包的组合,以及项目的搭建思路,有感而想,真是失败。。。-----------------------------
2016-06-02 15:09:12
381
原创 transient、volatile变量、ThreadLocal变量
transient (临时的): 用transient关键字修饰的java变量,在对对象进行序列化的时候,这些变量不需要参加序列化。不需要持久化volatile(易变的):使用volatile修饰的java变量,线程每次使用该类变量时,jvm都会载入最新的值。保证该变量的值是先写后读的ThreadLocal变量:线程本地变量,每个线程在线程内共享的变量,不允许访问其他线程的线程本地变量。原
2016-06-02 15:06:35
478
原创 spring modelAttributes的使用
spring modelAttributes的使用(1)用在处理方法(有requestmapping注解的方法)的入参之前,用来将请求参数注入到特定对象,并且将得到的对象暴露在模型数据中(暴露的意思就是将该对象添加到modelMap中,并指定对象的名字,方便在视图中使用)。如下所示: @RequestMapping(value = "show", method = Request
2016-06-02 11:45:11
1300
原创 log4j使用总结
一、log4j的使用过程,通用步骤如下:1.加入log4j-xx.jar,提供相关类的支持2.写log4j.properties或log4j.xml,可自行命名。log4j本身的配置文件3.载入配置文件,spring环境中可以用spring自带的Log4jConfigListener监听器来加载,只需要通过context-param指定配置文件的位置及加载参数代码中手动载入的方式是
2016-05-31 17:08:50
423
转载 最常用的两个handlerMapping
handlerMapping的工作就是为每个请求找到合适的处理器handler. 最常用的两个handlerMapping:BeanNameUrlHandlerMapping: 查找spring容器中和请求的url同名的bean.这个映射器不需要配置,因为spring在找不到handlerMapping的情况下会使用BeanNameUrlHandlerMapping.如果一定要配置,像下面
2016-05-27 15:14:14
376
转载 spring中props,list,set,map元素的用法
【转】spring中props,list,set,map元素的用法博客分类: spring 在spring容器中配置bean,常用到的元素除了和外,还有、、、,在hibernate等框架的配置文件中我们经常可以见到这些元素,下面是他们的具体用法。 1.元素 创建了一个注入的java.util.Properties元素。例如每个人都有身高、体重等基本信息
2016-05-27 15:08:59
379
原创 建立一个能运行的spring-mvc程序,至少需要哪些配置以及jar包
(1)springMVC和Struts2框架的区别 springMVC的一个核心就是通过一个特殊的Servlet来拦截前端的请求,即DispatcherServlet。然后DispatcherServlet去询问handlerMapping由哪个Controller来处理该请求。接着,将请求发送给controller来处理,controller处理完成后会返回视图名称以及模型数据(可选
2016-05-27 12:39:51
10701
转载 tomcat的server.xml详解
Tomcat服务器是由一系列可配置的组件构成,其核心组件是Catalina Servlet容器,它是所有其他Tomcat组件的顶层容器。Tomcat的组件可以在/conf/server.xml文件中进行配置,每个Tomcat的组件在server.xml文件中对应一种配置元素.一下代码以XML的形式展示了各种Tomcat组件之间的关系: 元素 代表了整个Ca
2016-05-27 09:39:00
223
原创 使用spring dataSource的几种方式
使用spring dataSource的几种方式(1)不用jdbctemplate 使用DataSource public TestDao(){ public DateSource datasource; public query(){ conn = datasource.getConnection() statement
2016-05-26 20:18:36
2122
转载 http协议解析
当今web程序的开发技术真是百家争鸣,ASP.NET, PHP, JSP,Perl, AJAX 等等。 无论Web技术在未来如何发展,理解Web程序之间通信的基本协议相当重要, 因为它让我们理解了Web应用程序的内部工作. 本文将对HTTP协议进行详细的实例讲解,内容较多,希望大家耐心看。也希望对大家的开发工作或者测试工作有所帮助。使用Fiddler工具非常方便地捕获HTTP Request和HT
2015-11-27 11:15:32
344
原创 Adapter——适配器的使用
Adapter将数据以列表的形式显示到屏幕上,需要三步:1) 需要一个ListView2) 准备好要显示的数据,这些数据可能是数组,元素是map的集合,从数据库或者内容提供者中查询获得的游标3) 需要一个将数据逐条读入然后装入到相应列表项的适配器,通过适配器可以设置列表项的布局以及绑定要显示的数据根据要显示的数据源的不同,适配器常用的有如下三种,以
2014-05-20 21:13:47
604
转载 RelativeLayout的常用属性
下面介绍一下RelativeLayout用到的一些重要的属性: 第一类:属性值为true或false android:layout_centerHrizontal 水平居中 android:layout_centerVertical
2014-05-20 20:42:37
497
翻译 ListActivity
ListActivityListActivity 是一个窗口,该窗口通过绑定数据源(如数组或者查询结果游标)来显示一些数据项的列表,并且当用户选择一个列表项的时候触发一个事件处理。ListActivity本身维持一个ListView对象,该对象可以被绑定到不同的数据源,通常可能是一个数组或者是指向查询结果集的游标。下面依次介绍屏幕布局、行布局、数据的绑定以及常用的方法。Screen Lay
2014-05-20 09:49:22
609
转载 socket编程的其他函数说明
1、 网络字节顺序及其转换函数1) 网络字节顺序每一台机器内部对变量的字节存储顺序不同,而网络传输的数据是一定要统一顺序的。所以对内部字节表示顺序与网络字节顺序不同的机器,一定要对数据进行转换,从程序的可移植性要求来讲,就算本机的内部字节表示顺序与网络字节顺序相同也应该在传输数据以前先调用数据转换函数,以便程序移植到其它机器上后能正确执行。真正转换还是不转换是由系统函数自己来决定的
2014-03-23 21:43:05
672
原创 C Socket与Java Socket之间的通信
问题描述:拟在服务器上利用c或c++来编写服务器端程序,在android手机上编写客户端程序,实现通过手机客户端来访问服务器上的资源。由于在c中socket的使用方式跟Java中有一些不同,c中的使用方式比较麻烦,java中相对简单。本文中服务器端的环境是linux。若是windows,C Socket的使用方式会稍有不同。Socket介绍Socket(套接字)相当于一种特殊的IO。只不过
2014-03-23 21:39:37
3945
转载 linux后台进程管理
fg、bg、jobs、&、ctrl + z都是跟系统任务有关的,虽然现在基本上不怎么需要用到这些命令,但学会了也是很实用的 一. & 最经常被用到 这个用在一个命令的最后,可以把这个命令放到后台执行 二.ctrl + z 可以将一个正在前台执行的命令放到后台,并且暂停 三.jobs 查看当前有多少在后台运行的命令 四.fg 将后台中的命令调至前台继续运行 如果后
2014-03-22 09:51:35
610
转载 C++Socket编程
网络的Socket数据传输是一种特殊的I/O,Socket也是一种文件描述符。Socket也具有一个类似于打开文件的函数调用Socket(),该函数返回一个整型的Socket描述符,随后的连接建立、数据传输等操作都是通过该Socket实现的。什么是SocketSocket接口是TCP/IP网络的API,Socket接口定义了许多函数或例程,程序员可以用它们来开发TCP/IP网络上的
2014-03-18 21:31:02
661
转载 C++socket编程步骤
sockets(套接字)编程有三种,流式套接字(SOCK_STREAM),数据报套接字(SOCK_DGRAM),原始套接字(SOCK_RAW);基于TCP的socket编程是采用的流式套接字。服务器端编程的步骤:1:加载套接字库,创建套接字(WSAStartup()/socket());2:绑定套接字到一个IP地址和一个端口上(bind());3:将套接字设置为监听
2014-03-18 20:43:28
804
转载 C/C++在头文件上的区别于联系
iostream是C++的头文件,iostream.h是C的头文件,即标准的C++头文件没有.h扩展名,将以前的C的头文件转化为C++的头文件后,有时加上c的前缀表示来自于c,例如cmath就是由math.h变来的。iostream.h里面定义的所有类以及对象都是在全局空间里,所以你可以直接用cout 但在iostream里面,它所定义的东西都在名字空间std里面,所以你必须加上
2014-03-12 19:12:26
785
1
原创 Android网络编程
使用HttpURLConnection从网络上获取数据1. 在mainfest.xml中添加网络访问权限,代码如下: "2. 给定一个数据url,通过该URL得到一个Http链接,再通过链接获得输入流,读取该网站的数据。核心代码如下:URL url=new URL(urlstring);URLConnecion conn=url.openConnecion()
2014-03-12 16:31:40
874
转载 Android基础和运行机制
Android应用程序是用Java语言写的,通过aapt工具把应用程序所需要的任何数据、资源文件打包成apk文件,这个文件是一个将应用安装到手机上的一个载体。每个Android应用程序存在于不同的世界: (1)默认的,每个应用在他自己的Linux进程中运行,当应用中的任何代码需要执行时Android就启动相应的进程,当不需要执行时并且系统资源被其他应用请求时android就关闭相
2014-03-06 20:01:57
664
转载 基于Android 平台简易即时通讯的研究与设计
摘要:论文简单介绍Android 平台的特性,主要阐述了基于Android 平台简易即时通讯(IM)的作用和功能以及实现方法。(复杂的通讯如引入视频音频等可以考虑AnyChat SDK~)关键词:Android 平台;即时通讯 (本文中图表点击附件即可见) 1 Android 平台简介Android 是Google 公司于2007年11月5日推出的手
2014-03-05 19:14:01
1635
转载 Bloom Filter的概念和原理
Bloom Filter是一种空间效率很高的随机数据结构,它利用位数组很简洁地表示一个集合,并能判断一个元素是否属于这个集合。Bloom Filter的这种高效是有一定代价的:在判断一个元素是否属于某个集合时,有可能会把不属于这个集合的元素误认为属于这个集合(false positive)。因此,Bloom Filter不适合那些“零错误”的应用场合。而在能容忍低错误率的应用场合下,Bloom
2014-03-05 09:32:54
511
转载 GDB 调试程序
1、GDB 概述————GDB 是 GNU 开源组织发布的一个强大的 UNIX 下的程序调试工具。或许,各位比较喜欢那种图形界面方式的,像 VC 、 BCB 等 IDE 的调试,但如果你是在 UNIX 平台下做软件,你会发现 GDB 这个调试工具有比 VC 、 BCB 的图形化调试器更强大的功能。所谓 “ 寸有所长,尺有所短 ” 就是这个道理。一般来说, GDB 主要帮忙你完成下面四个
2014-02-28 08:58:42
910
原创 Android异步处理机制
一个安卓应用程序启动的时候会单独创建一个进程。默认情况下,该应用程序内的四大组件:Activity、Service、ContentProvider以及Broadcast Receiver都在该进程空间内运行。各应用程序的进程空间相互独立,不允许相互访问资源。每个进程空间中会有很多线程运行,其中有一个主线程(也成为UI线程),根据Android单线程模型,所有更新UI的操作必须在主线程中进行,不允许
2014-02-26 20:26:50
1048
转载 Android的进程、线程模型
Android 包括一个应用程序框架、几个应用程序库和一个基于 Dalvik 虚拟机的运行时,所有这些都运行在 Linux 内核之上。通过利用 Linux 内核的优势,Android 得到了大量操作系统服务,包括进程和内存管理、网络堆栈、驱动程序、硬件抽象层、安全性等相关的服务。 有关Java虚拟机跟进程,线程的关系请参看下面这篇文章:进程、线程与JVM、CLR
2014-02-25 17:08:43
929
原创 Android-广播接受者
广播接收者,事实上是一种观察者模式的实现。通过对关心的事件进行订阅(通过Intent-Filter来过滤意图),当关心事件发生时(广播一个意图),会自动回调广播接受者的onReceive()方法。广播接受者自身没有图形化的显示界面,通常会在onReceive()方法里启动一个Activity或者通过NotificationManager来提醒用户。以下是使用方法:1、 广播接收者作为andr
2014-02-25 11:17:12
865
原创 android-初识意图
一、意图(Intent)的作用意图的作用主要由两个,激活组件和传递数据。作为android系统的核心消息传递机制,android应用程序的三大组件Acitivity、service和Broadcase Receiver都是由意图来激活的。二、意图的使用方法意图包括了显式意图和隐式意图。1、 显式意图的使用1)利用意图跳转到其他活动并传递数据Activity1:Inte
2014-02-24 19:12:39
760
原创 Android中数据的存储和访问
数据存储的位置有两个:手机自带的存储空间(电脑的自带硬盘)和外存储设备(sdcard,移动硬盘,也有可能是固定在手机内部,用usb链接电脑后可以看到的存储设备)当使用context的openFileOutput()来保存文件时,文件会被保存在手机自带的存储空间中,而且根据保存时操作模式的不同而权限不同。手机自带的存储空间通常较小,适合存放一些小的文件。大的文件通常存放在SDCard中,保存在S
2014-02-24 10:23:19
1798
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人