当前位置:  编程技术>移动开发
本页文章导读:
    ▪Tomcat(免安装版)的装配与配置        Tomcat(免安装版)的安装与配置 如果是免安装版。是不是点start.up一闪而过。没有配置JDK,我也不知道怎么他妈的配置JDK。反正就是tomcat找不到JDK,我们用记事本打开,在上面加两行,SET .........
    ▪ 堵塞队列        阻塞队列 ArrayBlockingQueueLinkedBlockingQueueSynchronousQueueproducer// 如果队列满则阻塞blockingQ.put(object);阻于生产者-消费者模式。consumerfor(;;) {blockingQ.take(); // 如果队列空则阻塞}Queue<E>add(E) : bool.........
    ▪ 兑现一个简单的阻塞队列       实现一个简单的阻塞队列 classBlockingQ{privateObject notEmpty= newObject();privateQueue<Object> linkedList= new LinkedList<Object>();publicObject take() throwsInterruptedException{synchronized(notEmpty) {if(linkedList.size() .........

[1]Tomcat(免安装版)的装配与配置
    来源: 互联网  发布时间: 2014-02-18
Tomcat(免安装版)的安装与配置
如果是免安装版。是不是点start.up一闪而过。没有配置JDK,我也不知道怎么他妈的配置JDK。反正就是tomcat找不到JDK,我们用记事本打开,在上面加两行,
SET JAVA_HOME=JDK目录
SET CATALINA_HOME=前面解压后Tomcat的目录或者%cd%
就可以了,要关闭的话也是这样

Tomcat(免安装版)的安装与配置
一、下载Tomcat
Tomcat可以从http://tomcat.apache.org/网站下载,选择任意版本,在 Binary Distributions 下的zip包既是。

二、配置Tomcat
1、将下载Tomcat Zip压缩包解压。

2、修改\bin\startup.bat文件:
在第一行前面加入如下两行:
SET JAVA_HOME=JDK目录
SET CATALINA_HOME=前面解压后Tomcat的目录或者%cd%
如果需要使用shutdown.bat关闭服务器的话,也按照上面加入两行。

3、这样,运行startup.bat就可以运行服务器,运行shutdown.bat就可以关闭服务器了。

4、修改\conf\tomcat-users.xml文件:
在<tomcat-users>标签内加入
<role rolename="manager"/>
<role rolename="admin"/>
<user username="admin" password="admin" roles="admin,manager"/>
这样才可以使用Tomcat的管理界面。

三、将Tomcat加入服务
1、修改bin目录中的service.bat:
REM 添加下面的一行
set CATALINA_HOME=%cd%
如果从来没有安装过Tomcat,或者保证Services.msc启动服务管理器检查没有Apache Tomcat系统服务,到此你就可以转到第二步了。否则继续往下走
REM 按照描述修改下面的几行
set SERVICE_NAME=Tomcat5
REM 上面一行,Tomcat5修改成你需要的服务名,这个将是一后使用net start/stop来操作的服务名称。
set PR_DISPLAYNAME=Apache Tomcat
REM 上面一行,Apache Tomcat改为你需要的显示服务名,这个将显示在服务管理器中。
set PR_DESCRIPTION=Apache Tomcat Server - http://jakarta.apache.org/tomcat
REM 这一行改不改无所谓,是服务的描述,根据自己的喜好决定吧。

2、运行cmd打开控制台,进入Tomat目录/bin文件夹,输入如下命令运行。
service.bat install
程序提示:The service 'Tomcat5(或者你修改一后的SERVICE_NAME)' has been installed
说明服务Tomcat已经被安装成功。
顺便说一下,运行service.bat remove可以移除服务。
3、到这里,服务添加成功,运行services.msc,可以看到添加的服务,默认状态下该服务是手动运行的,在他的属性中,将启动类型更改为“自动”,以后机器启动以后Tomcat就在后台启动了。

四、控制台控制服务的命令
启动服务
net Start 服务名
关闭服务
net stop 服务名
注:
1、此服务名可以是SERVICE_NAME,也可以是PR_DISPLAYNAME;
2、如果服务名中包含空格或者中文,请将服务名用半角双引号包含起来。


    
[2] 堵塞队列
    来源: 互联网  发布时间: 2014-02-18
阻塞队列
ArrayBlockingQueue
LinkedBlockingQueue
SynchronousQueueproducer
// 如果队列满则阻塞
blockingQ.put(object);
阻于生产者-消费者模式。
consumer
for(;;) {
blockingQ.take(); // 如果队列空则阻塞
}
Queue<E>
add(E) : boolean
offer() : boolean
remove() : E
poll() : E
element() : E
peek() : E
使用BlockingQueue的时候,尽量不要使用从Queue继承下来的方法,否则就失去了Blocking的特性了。


BlockingQueue<E>
put(E)
take() : E
offer(E, long, TimeUnit) : boolean
poll(long, TimeUnit) : E
remainingCapacity()
drainTo(Collection<? super E>) : int
drainTo(Collection<? super E>, int) : int

在BlockingQueue中,要使用put和take,而非offer和poll。如果要使用offer和poll,也是要使用带等待时间参数的offer和poll。
使用drainTo批量获得其中的内容,能够减少锁的次数。



    
[3] 兑现一个简单的阻塞队列
    来源: 互联网  发布时间: 2014-02-18
实现一个简单的阻塞队列
classBlockingQ{
privateObject notEmpty= newObject();
privateQueue<Object> linkedList= new LinkedList<Object>();
publicObject take() throwsInterruptedException{
synchronized(notEmpty) {
if(linkedList.size() == 0) {
notEmpty.wait(); 要执行wait操作,必须先取得该对象的锁。执行wait操作之后,锁会释放。被唤醒之前,需要先获得锁。
}
returnlinkedList.poll();
}
}
publicvoidoffer(Object object) {
synchronized(notEmpty) {
if(linkedList.size() == 0) {
notEmpty.notifyAll();要执行notify和notifyAll操作,都必须先取得该对象的锁。
}
linkedList.add(object);
}
}
}
未取得锁就直接执行wait、notfiy、notifyAll会抛异常

    
最新技术文章:
▪Android开发之登录验证实例教程
▪Android开发之注册登录方法示例
▪Android获取手机SIM卡运营商信息的方法
▪Android实现将已发送的短信写入短信数据库的...
▪Android发送短信功能代码
▪Android根据电话号码获得联系人头像实例代码
▪Android中GPS定位的用法实例
▪Android实现退出时关闭所有Activity的方法
▪Android实现文件的分割和组装
▪Android录音应用实例教程
▪Android双击返回键退出程序的实现方法
▪Android实现侦听电池状态显示、电量及充电动...
▪Android获取当前已连接的wifi信号强度的方法
▪Android实现动态显示或隐藏密码输入框的内容
▪根据USER-AGENT判断手机类型并跳转到相应的app...
▪Android Touch事件分发过程详解
▪Android中实现为TextView添加多个可点击的文本
▪Android程序设计之AIDL实例详解
▪Android显式启动与隐式启动Activity的区别介绍
▪Android按钮单击事件的四种常用写法总结
▪Android消息处理机制Looper和Handler详解
▪Android实现Back功能代码片段总结
▪Android实用的代码片段 常用代码总结
▪Android实现弹出键盘的方法
▪Android中通过view方式获取当前Activity的屏幕截...
▪Android提高之自定义Menu(TabMenu)实现方法
▪Android提高之多方向抽屉实现方法
▪Android提高之MediaPlayer播放网络音频的实现方法...
▪Android提高之MediaPlayer播放网络视频的实现方法...
▪Android提高之手游转电视游戏的模拟操控
 


站内导航:


特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

©2012-2021,,E-mail:www_#163.com(请将#改为@)

浙ICP备11055608号-3