- nginx学习笔记
码农000
nginx学习笔记
基本内容视频地址https://www.bilibili.com/video/BV1TZ421b7SD/?spm_id_from=333.788&vd_source=36466300c658605b420cf080dc4109c2nginx基本功能web服务器负载均衡反向代理…主要讲解作为web服务的配置.nginx基本命令检查nginx版本nginx-v检查nginx运行状态servicengi
- centos nginx添加域脚本
慕兴
centosnginxlinux
nginx添加域脚本该脚本会自动创建配置文件:/etc/nginx/conf.d/$DOMAIN.confssl证书目录:/etc/nginx/ssl/DOMAIN/DOMAIN/DOMAIN/DOMAIN静态资源文件目录:/var/www/$DOMAIN添加域脚本脚本需要两个模板文件(http.conf.temp和https.conf.temp)#!/bin/bash#检查是否提供了所需的命令行
- nginx502 Bad Gateway错误解决办法
Hanson,
nginx
一、问题现象nginx部署正常,运行正常。后端tomcat程序部署正常,运行正常。通过nginx反向代理后出现如下报错。nginx配置:server{listen80;listen[::]:80;server_nameweb;root/usr/share/nginx/html;#Loadconfigurationfilesforthedefaultserverblock.include/etc/n
- 怎么在一台服务器上配置两套不同的前后端分离系统
yzq-3841
java
在一台服务器上部署两套前后端分离的系统,并使用IP地址作为server_name,可以通过配置Nginx来实现。以下是一个详细的步骤指南:步骤准备文件和目录结构确保每套系统的前端文件和后端服务器已经准备就绪。假设两套系统的前端文件分别位于/usr/local/app1/frontend和/usr/local/app2/frontend。假设两套系统的后端服务分别运行在http://127.0.0.
- nginx-rtmp-module之ngx_rtmp_live_module.c代码详解
音视频牛哥
流媒体服务器大牛直播SDK软件开发nginxc语言ffmpeg运维nginxrtmp代码nginxrtmp服务器大牛直播SDK
ngx_rtmp_live_module.h头文件分析这个头文件定义了直播模块相关的结构体、函数声明和一些常量,主要用于支持RTMP协议中的直播流。1.核心数据结构:ngx_rtmp_live_chunk_stream_t:该结构体用于表示一个数据流中的“块”,包含:active:标记该块是否处于活动状态。timestamp:数据块的时间戳。csid:流的标识符。dropped:表示被丢弃的字节数
- Nginx RTMP HLS模块分析 (ngx_rtmp_hls_module.c)
音视频牛哥
流媒体服务器RTMP推流RTMP播放器音视频nginxrtmpnginxrtmp服务器nginxrtmp代码nginxhls代码nginxhls大牛直播SDK
ngx_rtmp_hls_module用于支持RTMP流式传输的HLS(HTTPLiveStreaming)模块的代码。它包含了实现流媒体文件切片、播放列表生成、加密等功能的多个模块和函数。下面我会针对初学者逐步讲解代码的主要部分。1.模块结构全局变量和函数:next_publish,next_close_stream,next_stream_begin,next_stream_eof:这些是函数
- Nginx RTMP 处理模块 (ngx_rtmp_handler.c) 详细分析
音视频牛哥
流媒体服务器大牛直播SDKnginx运维nginxrtmpnginxrtmp代码nginxrtmp服务器nginxrtmp源码大牛直播SDK
ngx_rtmp_handler是NginxRTMP模块中的核心处理部分,主要负责处理RTMP流会话中的数据接收、发送、ping操作以及分块大小的设置等。1.全局变量ngx_rtmp_naccepted:记录接受的RTMP连接数。ngx_rtmp_bw_out和ngx_rtmp_bw_in:分别表示输出带宽和输入带宽,用于监控RTMP会话的数据流量。2.主要处理函数2.1ngx_rtmp_cycl
- 如何在Nginx 中实现动态封禁IP
白露与泡影
nginxtcp/ipjunit
需求为了封禁某些爬虫或者恶意用户对服务器的请求,我们需要建立一个动态的IP黑名单。对于黑名单中的IP,我们将拒绝提供服务。并且可以设置封禁失效时间环境准备linuxversion:centos7/ubuntu等redisversion:5.0.5nginxversion:nginx-openresty设计方案实现IP黑名单的功能有很多途径:1、在操作系统层面,配置iptables,来拦截指定IP的
- maxun爬虫工具docker搭建
想做后端的小C
网络安全docker容器运维
思路来源开源无代码网络数据提取平台Maxun先把代码克隆到本地(只有第一次需要)gitclonehttps://github.com/getmaxun/maxun.git转到maxun目录cdmaxun启动容器docker-compose--env-file.envup-d成功启动六个容器网址http://localhost:8080目前还无法运行爬虫程序,可能是因为后端nginx.conf或数据
- Ubuntu利用Nginx+uwsgi部署Anaconda Django项目
王牌蛋
nginxdjango运维
这是我第一篇博客,作为自己的一个笔记和备忘录,因为我还是处于一定程度上的新手阶段,因此在专业术语上还有一定程度上的不足,我就按照自己的理解写了,欢迎大家批评指正。先把参考的几篇博客的链接附上:Django+Uwsgi+Nginx的生产环境部署-腾讯云开发者社区-腾讯云(tencent.com)uwsgi+anaconda+nginx部署django项目(ubuntu下)-辣眼睛De小新-博客园(c
- nginx源码安装及各模块(自我学习)(二)
马总123
linuxcentos7nginxlinuxcentos服务器运维
安装nginx及部分常用模块目录安装nginx配置文件模块安装目录索引nginx状态监控nginx基于ip的访问控制nginx基于用户的访问控制(auth模块)ningx的访问限制限制ip限制速率安装nginx(1).可以配置本地yum源[root@nginx~]#vim/etc/yum.repos.d/nginx.repo[nginx-stable]name=nginxstablerepobas
- Nginx源码分析
编程界的谢菲尔德
nginx运维
目录解析auto:configure编译的脚本html:默认htmlobjs:执行configure之后产生的src:源码conf:默认配置文件contrib:一些使用工具e.vim的高亮语法man:帮助文件auto文件:cc:#检各种编译器的脚本lib:#检各种编译依赖库的脚本os:#检各种操作系统的脚本types:#检平台相关的基本类型的脚本src文件core数据结构定义和核心代码event事
- nginx源码安装及各模块(自我学习)(一)
马总123
linuxcentos7linuxnginxcentos
目录nginx介绍(出身及现状)特点及优缺点优点缺点正向代理介绍举例反向代理介绍举例负载均衡轮询(rr)加权轮询(wrr)ip_hashurl_hashnginx介绍(出身及现状)世界第二大web服务器软件,以高并发、低消耗著称,源自于俄罗斯,创建者Igor(伊戈尔),2004年开源,最早以代理服务器的身份出现,2015成立nginx公司,2019年以6.7亿被F5Networks公司收购。特点及
- docker 安装镜像及使用命令
时间头秃大师
docker容器运维
目录1.Mysql2.Redis3.Nginx4.Elasticsearch单机ik分词器官网集群指导个人集群5.RocketMQdockerpull容器名:版本号拉取容器,不指定版本号默认最新的dockerexec-it容器名称bash可以进入该容器,进行操作run命令解释-d后台启动-p宿主机端口:容器端口--name容器名称-epass_word=123456(环境变量,k=v)-v目录映射
- Django 生产环境静态文件处理
换个网名有点难
pythondjango
`pythonmanage.pycollectstatic`是Django提供的一个非常重要的管理命令,用于将项目中的静态文件收集到一个指定的目录中。这在部署Django项目时尤其重要,因为静态文件需要被Web服务器(如Nginx或Apache)提供服务,而不是通过Django提供。命令详解1.基本功能`collectstatic`命令的主要功能是将项目中所有应用的静态文件以及`STATICFIL
- Zabbix监控系统搭建&飞书机器人告警
wdy0078
zabbix
Zabbix监控系统搭建&飞书机器人告警操作系统:CentOS7x64Zabbix版本:5.0LTS参考官网链接:下载Zabbix5.0LTSforCentOS7,MySQL,NGINX安装Zabbix源rpm-Uvhhttps://repo.zabbix.com/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpmyumclea
- 2025最新docker教程(八)
嘿rasa
2025最新教程系列docker容器运维
什么是Dockerfile?Dockerfile是一个用来构建镜像的文本文件,文本内容包含了一条条构建镜像所需的指令和说明。使用Dockerfile定制镜像这里仅讲解如何运行Dockerfile文件来定制一个镜像,具体Dockerfile文件内指令详解,将在下一节中介绍,这里你只要知道构建的流程即可。1、下面定制一个nginx镜像(构建好的镜像内会有一个/usr/share/nginx/html/
- Nginx Stream 代理配置全解析:TCP/UDP 流量转发及常见问题排查
秃头摸鱼侠
nginxnginxtcp/ipudp
Nginx除了可以处理HTTP代理,还可以用于TCP/UDP流量转发,适用于数据库代理(MySQL、PostgreSQL)、Redis负载均衡、WebSocket代理、游戏服务器流量分发等场景。相比HAProxy,Nginx配置更加灵活,并且可以结合stream模块进行高效的TCP/UDP代理。本篇文章将带你深入了解NginxStream代理的配置方法、负载均衡策略,以及常见问题的解决方案,帮助你
- MySQL 设置允许远程连接完整指南:安全与效率并重
weixin_44563169
mysql安全数据库
一、为什么需要远程连接MySQL?在分布式系统架构中,应用程序与数据库往往部署在不同服务器。例如:Web服务器(如Nginx+PHP)需要连接独立的MySQL数据库数据分析师通过BI工具直连生产库多服务器集群间的数据同步但直接开放远程连接存在安全风险,需遵循最小权限原则。本指南将分步讲解安全开启远程访问的方法。二、基础配置步骤(以MySQL8.0为例)2.1修改MySQL绑定地址默认情况下MySQ
- MySQL 设置允许远程连接完整指南:安全与效率并重
设计师晏军
mysql安全数据库
一、为什么需要远程连接MySQL?在分布式系统架构中,应用程序与数据库往往部署在不同服务器。例如:Web服务器(如Nginx+PHP)需要连接独立的MySQL数据库数据分析师通过BI工具直连生产库多服务器集群间的数据同步但直接开放远程连接存在安全风险,需遵循最小权限原则。本指南将分步讲解安全开启远程访问的方法。二、基础配置步骤(以MySQL8.0为例)2.1修改MySQL绑定地址默认情况下MySQ
- 用docker搭建php环境,使用docker快速搭建nginx+php环境
weixin_39710041
用docker搭建php环境
经过了繁琐的docker环境安装,看了下镜像/容器的简单使用,开始进行nginx+php环境的搭建,本文记录一下在安装过程中的笔记。
- docker搭建php环境安装
.LWH
php开发语言docker
目录一、什么是php?二、docker拉取nginx和php镜像三、创建容器四、测试一、什么是php?PHP定义:一种服务器端的HTML脚本/编程语言,是一种简单的、面向对象的、解释型的、健壮的、安全的、性能非常之高的、独立于架构的、可移植的、动态的脚本语言。是一种广泛用于OpenSource(开放源代码)的尤其适合Web开发并可以嵌入HTML的多用途脚本语言。它的语法接近C,Java和Perl,
- 如何用docker搭建php环境
CRMEB系统商城
dockerphpeureka
要使用Docker搭建PHP环境,可以按照以下步骤进行:1.安装Docker首先,确保你的系统上已经安装了Docker。如果没有安装,可以参考[Docker官方文档](https://docs.docker.com/get-docker/)进行安装。2.拉取PHP和Nginx镜像使用以下命令拉取最新的PHP和Nginx镜像:```shdockerpullphp:7.4-fpmdockerpulln
- 【Docker系列八】使用 Docker run 命令部署 Nginx
Kwan的解忧杂货铺@新空间代码工作室
s4Docker系列dockernginx容器
欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。推荐:kwan的首页,持续学习,不断总结,共同进步,活到老学到老导航檀越剑指大厂系列:全面总结java核心技术,jvm,并发编程redis,kafka,Spring,微服务等常用开发工具系列:常用的开发工具,IDEA,Mac,Alfred,Git,
- 自动化漏洞扫描系统(源码、docker、虚拟机)
huan666*
漏洞扫描自动化漏洞扫描
项目地址:https://github.com/huan-cdm/info_scan/docker部署(beta版本):1.账号密码:nginx/web/mysql:admin/1234562.创建docker自定义网络,使容器间完成通信:dockernetworkcreateinfo_scan_network3.mysql环境:下载镜像:dockerpullregistry.cn-hangzho
- Netty - 从Nginx 四层(TCP/UDP)流量中获取客户端真实/网络出口IP
小小工匠
【Netty入门到精通】nginxtcp/ip客户端IP
文章目录一、背景与原理1.1问题场景网络架构影响分析1.1客户端与Nginx之间存在的NAT/VPN1.2Nginx与RPC服务之间的NAT1.2技术原理二、环境配置验证2.1Nginx配置2.2版本要求三、Netty服务端实现3.1Pipeline配置(核心代码)3.2协议处理器实现3.3业务处理器调用示例四、关键实现细节4.1解码顺序保障4.2地址类型处理4.3安全性增强五、异常处理方案六、H
- nginx 配置m3u8播放视频
超级小龙虾
nginxnginx音视频运维
第一步nginx配置:参考csdn-CircleMouseNginx配置搭建m3u8格式的视频播放服务userwwwwww;worker_processesauto;error_log/www/wwwlogs/nginx_error.logcrit;pid/www/server/nginx/logs/nginx.pid;worker_rlimit_nofile51200;stream{log_fo
- 【负载均衡系列】nginx负载高怎么排查
yunqi1215
Basic负载均衡nginx运维
一、快速定位问题方向现象确认:服务器响应变慢、超时或返回5xx错误。系统监控显示CPU、内存、磁盘I/O或网络带宽使用率飙升。初步判断:Nginx自身瓶颈:配置不当、连接数超限、日志写入阻塞。后端服务问题:应用处理慢、数据库阻塞、缓存失效。外部攻击/异常流量:DDoS、爬虫、API滥用。二、系统资源分析1.查看全局资源占用#查看整体资源使用(按CPU排序)tophtop#检查内存使用free-h#
- SSH项目负载均衡中的Session一致性解决方案
hellotutu
ssh负载均衡运维
SSH项目负载均衡中的Session一致性解决方案1.粘性会话(SessionSticky)2.Session复制(集群同步)3.集中式Session存储4.客户端存储(Cookie加密)方案选型建议注意事项1.粘性会话(SessionSticky)通过负载均衡器将同一用户的请求固定分发到同一后端服务器,确保Session数据本地存储有效。实现方式:Nginx:使用ip_has
- Cloud 组件负载均衡Ribbon
大番薯_y
cloud组件负载均衡ribbonspringcloud
ribbon两种负载均衡当系统面临大量的用户访问,负载过高的时候,通常会增加服务器数量来进行横向扩展(集群),多个服务器的负载需要均衡,以免出现服务器负载不均衡,部分服务器负载较大,部分服务器负载较小的情况。通过负载均衡,使得集群中服务器的负载保持在稳定高效的状态,从而提高整个系统的处理能力。软件负载均衡:nginx,lvs硬件负载均衡:F5我们只关注软件负载均衡,第一层可以用DNS,配置多个A记
- Java实现的简单双向Map,支持重复Value
superlxw1234
java双向map
关键字:Java双向Map、DualHashBidiMap
有个需求,需要根据即时修改Map结构中的Value值,比如,将Map中所有value=V1的记录改成value=V2,key保持不变。
数据量比较大,遍历Map性能太差,这就需要根据Value先找到Key,然后去修改。
即:既要根据Key找Value,又要根据Value
- PL/SQL触发器基础及例子
百合不是茶
oracle数据库触发器PL/SQL编程
触发器的简介;
触发器的定义就是说某个条件成立的时候,触发器里面所定义的语句就会被自动的执行。因此触发器不需要人为的去调用,也不能调用。触发器和过程函数类似 过程函数必须要调用,
一个表中最多只能有12个触发器类型的,触发器和过程函数相似 触发器不需要调用直接执行,
触发时间:指明触发器何时执行,该值可取:
before:表示在数据库动作之前触发
- [时空与探索]穿越时空的一些问题
comsci
问题
我们还没有进行过任何数学形式上的证明,仅仅是一个猜想.....
这个猜想就是; 任何有质量的物体(哪怕只有一微克)都不可能穿越时空,该物体强行穿越时空的时候,物体的质量会与时空粒子产生反应,物体会变成暗物质,也就是说,任何物体穿越时空会变成暗物质..(暗物质就我的理
- easy ui datagrid上移下移一行
商人shang
js上移下移easyuidatagrid
/**
* 向上移动一行
*
* @param dg
* @param row
*/
function moveupRow(dg, row) {
var datagrid = $(dg);
var index = datagrid.datagrid("getRowIndex", row);
if (isFirstRow(dg, row)) {
- Java反射
oloz
反射
本人菜鸟,今天恰好有时间,写写博客,总结复习一下java反射方面的知识,欢迎大家探讨交流学习指教
首先看看java中的Class
package demo;
public class ClassTest {
/*先了解java中的Class*/
public static void main(String[] args) {
//任何一个类都
- springMVC 使用JSR-303 Validation验证
杨白白
springmvc
JSR-303是一个数据验证的规范,但是spring并没有对其进行实现,Hibernate Validator是实现了这一规范的,通过此这个实现来讲SpringMVC对JSR-303的支持。
JSR-303的校验是基于注解的,首先要把这些注解标记在需要验证的实体类的属性上或是其对应的get方法上。
登录需要验证类
public class Login {
@NotEmpty
- log4j
香水浓
log4j
log4j.rootCategory=DEBUG, STDOUT, DAILYFILE, HTML, DATABASE
#log4j.rootCategory=DEBUG, STDOUT, DAILYFILE, ROLLINGFILE, HTML
#console
log4j.appender.STDOUT=org.apache.log4j.ConsoleAppender
log4
- 使用ajax和history.pushState无刷新改变页面URL
agevs
jquery框架Ajaxhtml5chrome
表现
如果你使用chrome或者firefox等浏览器访问本博客、github.com、plus.google.com等网站时,细心的你会发现页面之间的点击是通过ajax异步请求的,同时页面的URL发生了了改变。并且能够很好的支持浏览器前进和后退。
是什么有这么强大的功能呢?
HTML5里引用了新的API,history.pushState和history.replaceState,就是通过
- centos中文乱码
AILIKES
centosOSssh
一、CentOS系统访问 g.cn ,发现中文乱码。
于是用以前的方式:yum -y install fonts-chinese
CentOS系统安装后,还是不能显示中文字体。我使用 gedit 编辑源码,其中文注释也为乱码。
后来,终于找到以下方法可以解决,需要两个中文支持的包:
fonts-chinese-3.02-12.
- 触发器
baalwolf
触发器
触发器(trigger):监视某种情况,并触发某种操作。
触发器创建语法四要素:1.监视地点(table) 2.监视事件(insert/update/delete) 3.触发时间(after/before) 4.触发事件(insert/update/delete)
语法:
create trigger triggerName
after/before
- JS正则表达式的i m g
bijian1013
JavaScript正则表达式
g:表示全局(global)模式,即模式将被应用于所有字符串,而非在发现第一个匹配项时立即停止。 i:表示不区分大小写(case-insensitive)模式,即在确定匹配项时忽略模式与字符串的大小写。 m:表示
- HTML5模式和Hashbang模式
bijian1013
JavaScriptAngularJSHashbang模式HTML5模式
我们可以用$locationProvider来配置$location服务(可以采用注入的方式,就像AngularJS中其他所有东西一样)。这里provider的两个参数很有意思,介绍如下。
html5Mode
一个布尔值,标识$location服务是否运行在HTML5模式下。
ha
- [Maven学习笔记六]Maven生命周期
bit1129
maven
从mvn test的输出开始说起
当我们在user-core中执行mvn test时,执行的输出如下:
/software/devsoftware/jdk1.7.0_55/bin/java -Dmaven.home=/software/devsoftware/apache-maven-3.2.1 -Dclassworlds.conf=/software/devs
- 【Hadoop七】基于Yarn的Hadoop Map Reduce容错
bit1129
hadoop
运行于Yarn的Map Reduce作业,可能发生失败的点包括
Task Failure
Application Master Failure
Node Manager Failure
Resource Manager Failure
1. Task Failure
任务执行过程中产生的异常和JVM的意外终止会汇报给Application Master。僵死的任务也会被A
- 记一次数据推送的异常解决端口解决
ronin47
记一次数据推送的异常解决
需求:从db获取数据然后推送到B
程序开发完成,上jboss,刚开始报了很多错,逐一解决,可最后显示连接不到数据库。机房的同事说可以ping 通。
自已画了个图,逐一排除,把linux 防火墙 和 setenforce 设置最低。
service iptables stop
- 巧用视错觉-UI更有趣
brotherlamp
UIui视频ui教程ui自学ui资料
我们每个人在生活中都曾感受过视错觉(optical illusion)的魅力。
视错觉现象是双眼跟我们开的一个玩笑,而我们往往还心甘情愿地接受我们看到的假象。其实不止如此,视觉错现象的背后还有一个重要的科学原理——格式塔原理。
格式塔原理解释了人们如何以视觉方式感觉物体,以及图像的结构,视角,大小等要素是如何影响我们的视觉的。
在下面这篇文章中,我们首先会简单介绍一下格式塔原理中的基本概念,
- 线段树-poj1177-N个矩形求边长(离散化+扫描线)
bylijinnan
数据结构算法线段树
package com.ljn.base;
import java.util.Arrays;
import java.util.Comparator;
import java.util.Set;
import java.util.TreeSet;
/**
* POJ 1177 (线段树+离散化+扫描线),题目链接为http://poj.org/problem?id=1177
- HTTP协议详解
chicony
http协议
引言
- Scala设计模式
chenchao051
设计模式scala
Scala设计模式
我的话: 在国外网站上看到一篇文章,里面详细描述了很多设计模式,并且用Java及Scala两种语言描述,清晰的让我们看到各种常规的设计模式,在Scala中是如何在语言特性层面直接支持的。基于文章很nice,我利用今天的空闲时间将其翻译,希望大家能一起学习,讨论。翻译
- 安装mysql
daizj
mysql安装
安装mysql
(1)删除linux上已经安装的mysql相关库信息。rpm -e xxxxxxx --nodeps (强制删除)
执行命令rpm -qa |grep mysql 检查是否删除干净
(2)执行命令 rpm -i MySQL-server-5.5.31-2.el
- HTTP状态码大全
dcj3sjt126com
http状态码
完整的 HTTP 1.1规范说明书来自于RFC 2616,你可以在http://www.talentdigger.cn/home/link.php?url=d3d3LnJmYy1lZGl0b3Iub3JnLw%3D%3D在线查阅。HTTP 1.1的状态码被标记为新特性,因为许多浏览器只支持 HTTP 1.0。你应只把状态码发送给支持 HTTP 1.1的客户端,支持协议版本可以通过调用request
- asihttprequest上传图片
dcj3sjt126com
ASIHTTPRequest
NSURL *url =@"yourURL";
ASIFormDataRequest*currentRequest =[ASIFormDataRequest requestWithURL:url];
[currentRequest setPostFormat:ASIMultipartFormDataPostFormat];[currentRequest se
- C语言中,关键字static的作用
e200702084
C++cC#
在C语言中,关键字static有三个明显的作用:
1)在函数体,局部的static变量。生存期为程序的整个生命周期,(它存活多长时间);作用域却在函数体内(它在什么地方能被访问(空间))。
一个被声明为静态的变量在这一函数被调用过程中维持其值不变。因为它分配在静态存储区,函数调用结束后并不释放单元,但是在其它的作用域的无法访问。当再次调用这个函数时,这个局部的静态变量还存活,而且用在它的访
- win7/8使用curl
geeksun
win7
1. WIN7/8下要使用curl,需要下载curl-7.20.0-win64-ssl-sspi.zip和Win64OpenSSL_Light-1_0_2d.exe。 下载地址:
http://curl.haxx.se/download.html 请选择不带SSL的版本,否则还需要安装SSL的支持包 2. 可以给Windows增加c
- Creating a Shared Repository; Users Sharing The Repository
hongtoushizi
git
转载自:
http://www.gitguys.com/topics/creating-a-shared-repository-users-sharing-the-repository/ Commands discussed in this section:
git init –bare
git clone
git remote
git pull
git p
- Java实现字符串反转的8种或9种方法
Josh_Persistence
异或反转递归反转二分交换反转java字符串反转栈反转
注:对于第7种使用异或的方式来实现字符串的反转,如果不太看得明白的,可以参照另一篇博客:
http://josh-persistence.iteye.com/blog/2205768
/**
*
*/
package com.wsheng.aggregator.algorithm.string;
import java.util.Stack;
/**
- 代码实现任意容量倒水问题
home198979
PHP算法倒水
形象化设计模式实战 HELLO!架构 redis命令源码解析
倒水问题:有两个杯子,一个A升,一个B升,水有无限多,现要求利用这两杯子装C
- Druid datasource
zhb8015
druid
推荐大家使用数据库连接池 DruidDataSource. http://code.alibabatech.com/wiki/display/Druid/DruidDataSource DruidDataSource经过阿里巴巴数百个应用一年多生产环境运行验证,稳定可靠。 它最重要的特点是:监控、扩展和性能。 下载和Maven配置看这里: http
- 两种启动监听器ApplicationListener和ServletContextListener
spjich
javaspring框架
引言:有时候需要在项目初始化的时候进行一系列工作,比如初始化一个线程池,初始化配置文件,初始化缓存等等,这时候就需要用到启动监听器,下面分别介绍一下两种常用的项目启动监听器
ServletContextListener
特点: 依赖于sevlet容器,需要配置web.xml
使用方法:
public class StartListener implements
- JavaScript Rounding Methods of the Math object
何不笑
JavaScriptMath
The next group of methods has to do with rounding decimal values into integers. Three methods — Math.ceil(), Math.floor(), and Math.round() — handle rounding in differen