- Docker学习笔记
Hi,你好啊
运维docker学习笔记
文章目录Docker的基本概念容器的概念容器的特点容器与虚拟机的区别容器的三个核心概念Docker的底层隔离机制NameSpaceCgroupUnion文件系统Linux安装DockerCentOSUbuntuDocker基本命令Docker限制容器资源Docker中的网络Docker网络模式Docker网络配置Docker中的卷挂载文件系统到容器Docker镜像Docker镜像的特点Docker
- 在 Linux 上部署javaWeb项目+图文详解_java web项目部署到linux服务器
2401_85154737
服务器linuxjava
-f:force强制的意思,如果目标文件已经存在,不会询问直接覆盖-i:若目标已经存在,就会询问是否覆盖-u:若目标文件已经存在,且比目标文件新,才会更新#该命令可以把多个文件一次移动到一个文件夹中,但是最后的一个目标文件一要是“目录”。例如:mvfile1file2file3dir#把多个文件移动到dir目录中mvfile1file2#把file重命名为file26、rm命令该命令用于删除文件或
- 【LINUX】阿里云linux服务器上使用iptables设置安全策略的方法_status=$(grep -i ubuntu etc issue)
2401_85154737
linux服务器阿里云
yuminstall-yiptablesiptables安装好后就可以来配置规则了。由于作为web服务器来使用,所以对外要开放80端口,另外肯定要通过ssh进行服务器管理,22端口也要对外开放,当然最好是把ssh服务的默认端口改掉,在公网上会有很多人试图破解密码的,如果修改端口,记得要把该端口对外开发,否则连不上就悲剧了。下面提供配置规则的详细说明:第一步:清空所有规则当ChainINPUT(po
- Linux 如何创建进程函数与查看进程_linux java进程 查看热点函数
2401_85154737
javalinux开发语言
进程创建函数进程就是pcb,意味着创建一个进程,就是创建一个pcbpid_tfork(void)–通过复制调用进程(父进程)创建一个新的进程(子进程)创建一个新的pcb,然后从父进程pcb中复制了很多数据过来复制的主要信息有内存指针,程序计数器,上下文数据。内存指针:子进程与父进程运行的代码其实是一样的–指向同一块物理内存中的数据及指令程序计数器/上下文数据:子进程被创建出来后,运行位置与父进程是
- 学习记录——day43 C++ 异常处理
子座
学习
一、异常处理的格式1、在可能产生异常的地方使用关键字:throw抛出异常2、try{可能会抛出异常的语句}catch(接收异常的形参){处理异常}任何函数在定义时,可以指定能抛出的异常格式如下返回值类型函数名(形参列表)throw(异常类型1,异常类型2,。。。。)定义时throw没有不影响函数体内throw的使用,系统会自动匹配,如果有,内外类型要一致,不能缺少对于一定不会抛出异常的函数,可用n
- 【车载测试面试:各大车企面试题汇总】
@逝水流年轻染尘@
面试职场和发展
HIL(硬件在环)测试、UDS功能诊断、UDS自动化诊断、数据库制作、DTC故障制造、CANoe工具使用、ECU刷写、报文解析、导航测试、车控测试、OTA升级测试、TBOX测试等TBOX深圳涉及过T-BOX测试吗Ota升级涉及的台架环境是什么样的?上车实测之前有没有一个仿真环境台架环境都什么零部件T-BOX了解多少Linux和shell有接触吗单片机车机有没有热点啊WiFi这个功能有没有涉及一些法
- docker基础用法
先饮乌龙茶
linuxdocker
文章目录OCI&OCFdocker架构docker镜像与镜像仓库docker对象docker的安装及使用docker安装docker加速docker常用操作OCI&OCFOCIOCI(OpenContainerInitiative)Linux基金会于2015年6月成立组织,旨在围绕容器格式和运行时制定一个开放的工业化标准,包括容器运行时的规范和镜像文件的规范。OCFOCF(OpenContaine
- swap function & copy-and-swap idiom
leon4ever
在C++中,一个资源管理类(例如含有指向堆内存的指针)中需要重新定义拷贝构造函数、赋值运算符以及析构函数(BigThree),在新标准下还可能需要定义移动构造函数和移动赋值预算法(BigFive)。但实际上,这条规则还可以有一个小拓展。就是在资源管理类中,往往需要重新定义自己的swap函数来作为优化手段。1.Swap函数首先考察如下例子,假设类HashPtr中含有一个指向string的指针*ps和
- C++ | Leetcode C++题解之第392题判断子序列
Ddddddd_158
经验分享C++Leetcode题解
题目:题解:classSolution{public:boolisSubsequence(strings,stringt){intn=s.size(),m=t.size();vector>f(m+1,vector(26,0));for(inti=0;i=0;i--){for(intj=0;j<26;j++){if(t[i]==j+'a')f[i][j]=i;elsef[i][j]=f[i+1][j
- C++ | Leetcode C++题解之第391题完美矩形
Ddddddd_158
经验分享C++Leetcode题解
题目:题解:typedefpairPoint;classSolution{public:boolisRectangleCover(vector>&rectangles){longarea=0;intminX=rectangles[0][0],minY=rectangles[0][1],maxX=rectangles[0][2],maxY=rectangles[0][3];mapcnt;for(au
- C++ | Leetcode C++题解之第218题天际线问题
Ddddddd_158
经验分享C++Leetcode题解
题目:题解:classSolution{public:vector>getSkyline(vector>&buildings){autocmp=[](constpair&a,constpair&b)->bool{returna.second,vector>,decltype(cmp)>que(cmp);vectorboundaries;for(auto&building:buildings){bo
- C++ | Leetcode C++题解之第64题最小路径和
Ddddddd_158
经验分享C++Leetcode题解
题目:题解:classSolution{public:intminPathSum(vector>&grid){if(grid.size()==0||grid[0].size()==0){return0;}introws=grid.size(),columns=grid[0].size();autodp=vector>(rows,vector(columns));dp[0][0]=grid[0][0
- Analyzing CPU Usage with Perf (1) - preparation
Chia-Te Kuan
交叉編譯分析工具chrome前端
contentAboutPerfBuildingPerf-enabledFirmwareBuildingPerf-enabledFirmwareEnablePerfinLinuxKernelConfigchecktheresultBuildingandInstallingPerfAddThreadNamestoApplicationCompilingApplicationforStackTraci
- C++ | Leetcode C++题解之第390题消除游戏
Ddddddd_158
经验分享C++Leetcode题解
题目:题解:classSolution{public:intlastRemaining(intn){inta1=1;intk=0,cnt=n,step=1;while(cnt>1){if(k%2==0){//正向a1=a1+step;}else{//反向a1=(cnt%2==0)?a1:a1+step;}k++;cnt=cnt>>1;step=step<<1;}returna1;}};
- 20240829软考架构-------软考81-85答案解析
杨诚实
软考架构架构
每日打卡题81-85答案81、【2014年真题】难度:一般某公司欲开发一个用于分布式登录的服务端程序,使用面向连接的TCP协议并发地处理多客户端登录请求。用户要求该服务端程序运行在Linux、Solaris和WindowsNT等多种操作系统平台之上,而不同的操作系统的相关API函数和数据都有所不同。针对这种情况,公司的架构师决定采用“包装器外观(WrapperFacade)”架构模式解决操作系统的
- c++利用ado操作excel(.xls)或(.xlsx)文件
三无人员9630
//ConnectionString=_T("Provider=Microsoft.Jet.OLEDB.4.0;DataSource=");ConnectionString=_T("Provider=Microsoft.ACE.OLEDB.12.0;DataSource=");ConnectionString+="E:\\周报\\222.xlsx";//excelfilename//Connect
- Could not fetch/save url https://download.docker.com/linux/centos/docker-ce.repo
让梦想疯狂
DockerLinuxCentOScentosdockerlinux
出现错误#将Docker官方的YUM存储库添加到CentOS系统中sudoyum-config-manager--add-repohttps://download.docker.com/linux/centos/docker-ce.repoCentOS安装Docker时,执行以上命令时出现错误:Loadedplugins:fastestmirroraddingrepofrom:https://do
- Linux脚本实现自动化运维:系统自动备份、资源监控
人生在勤,不索何获-白大侠
运维linux自动化
1、系统自动备份目的:将重要应用备份到别的机器上脚本实例:#!/bin/bash#定义变量app_user=待备份应用的服务器用户名app_passwd=待备份应用的服务器密码app_ip=待备份应用的服务器IPBASE_PATH='/data/inspur_bak'TODAY_DATE=`date+\%Y\%m\%d`CURRENT_PATH=${BASE_PATH}/${TODAY_DATE}
- 【LINUX-python】PATH、sys.path、PYTHONPATH
m0_46093829
ROS基础python学习ubuntulinux
这个博客已经写的非常好了,感谢博主,我只是又梳理了一次。【python】搞懂环境变量从此3P都不怕...PATH、sys.path、PYTHONPATH-简书以下是我对python及配置python环境的梳理:python既是软件也是一门编程语言,所以我们就先从安装软件开始梳理一、安装python在linux中安装python有apt-get自动安装和源码安装(以下只是梳理了一下这两种方法的本质并
- Python的图形化界面编程
iteye_20668
Pythonpython
2017.2.14好久没有写代码了,感觉过一个年弄的什么也没有干成,好像看了下c++,突然发现现在来看C++,要简单了好多,并且指针也没有那么难了,然后就是看了下机器学习,感觉有点小难,现在发现好多都涉及到高数,概率论和线性代数的知识,想想当初把这些学的是一塌糊涂。然后上次和胡杨大大聊天的时候,他说好多东西都是在实践中去学习的。好了,继续我的Python吧,Python的图形化界面编程。impor
- 怎么解决海外服务器远程连接失败的问题?
华纳云IDC服务商
服务器运维
解决海外服务器远程连接失败的问题需要系统地排查和解决。以下是详细的检查和解决步骤:一、网络连接检查检查本地网络,确认本地网络连接正常,可以访问其他网站或服务器。尝试使用其他网络(如手机热点)进行连接,排除本地网络问题。测试服务器连接使用ping命令测试服务器的连通性:ping使用traceroute或tracert命令检查路由路径,找出网络中断点:traceroute#Linux/Mactrace
- yum的基本使用方法
云夏之末
Linuxlinux运维服务器
`yum`(全称"YellowdogUpdaterModified")是基于RPM包管理器的软件包管理系统,主要用于Fedora和RedHat系列的Linux发行版中。它允许用户安装、更新、删除以及搜索软件包,并能自动处理软件包之间的依赖关系。下面是一些基本的`yum`命令用法示例:基本操作更新系统: sudoyumupdate这个命令会检查所有已安装的软件包是否有新版本可用,并尝试更新它们。更新
- Linux 文件权限与属性管理
云夏之末
Linuxadb
概述Linux系统是一种典型的多用户系统,不同的用户处于不同的地位,拥有不同的权限。为了保护系统的安全性,Linux对不同用户访问同一文件(包括目录文件)的权限做了详细的规定。文件属性查看在Linux中,我们通常使用`ls-l`或`ll`命令来显示一个文件的属性以及文件所属的用户和组:[root@www/]#ls-ltotal64dr-xr-xr-x 2rootroot4096Dec14 201
- 技术分享会回顾|Rust在量化领域如何应用?
非凸科技
Rust招聘量化私募Rust汇报rust开发语言后端
很多人会问:未来几年,国内量化机构都会考虑用Rust吗?Rust在量化领域如何应用?又有什么独特优势?就高频量化交易系统而言,Rust比C++强吗?如何看待Rust的应用前景?......为满足大家的好奇心,3月6日,非凸科技与Rust中文社区联合举办了一场线上技术分享会。非凸科技北京分公司负责人朱为老师就“国内外量化发展现状、Rust在量化领域应用、典型工作场景以及招聘职位等方面进行了分享。满满
- 人工智能时代的程序设计教学与课程设计
于仕琪(南科大)
人工智能课程设计
声明:本文已经投稿至“2024年中国高校计算机教育大会”,并发表于微信公众号“于仕琪”,可以转载,但不可修改。作者:于仕琪,郑锋,廖琪梅,田蕾单位:南方科技大学计算机科学与工程系摘要:随着人工智能的兴起,学生对编程的热情逐渐从C/C++向Python迁移,对于计算机硬件体系结构的理解也呈现逐年下降的趋势。当前许多人工智能从业者做的是人工智能算法设计,但参与基础人工智能软件开发的相对较少。我们认为本
- linux修改文件内容
谁点的猪脚饭
linuxlinux
进入文件(1)vi文件名,进入文件vi.env查找要修改的内容(1)输入shift+“:”,变成可输入指令状态:(2)输入/+查询内容,如我要修改VERSION参数后的内容则输入/VERSION按下回车即会高亮显示此部分:/VERSION编辑内容(1)找到要修改的内容后,按i键即可进入编辑状态(2)编辑完成后,按住Esc退出编辑保存修改(1)保存编辑后的内容,shift+“:”变为指令状态,输入w
- pip配置国内镜像源
一个苯有6个C
pippython
文章目录列举常用的国内镜像源windows下配置pip镜像源临时使用永久使用linux下配置pip镜像源临时使用永久使用列举常用的国内镜像源清华大学:https://pypi.tuna.tsinghua.edu.cn/simple/网易:https://mirrors.163.com/pypi/simple/阿里云:https://mirrors.aliyun.com/pypi/simple/中国
- ipc共享内存
flowesy
笔记
今天才发现ipc用户态直接传数据是shm开头的那几个函数,看视频想到jvm都有不通过系统调用进行ipc通信的方式,linux应该也有啊,我也不知道之前总是记成mmap,感觉好像是上大学的时候被误导了,产生了错记。当然其实mmap也是很重要的,基本上可执行文件和动态链接库加载时都是通过这个函数映射到虚地址的。最近在b站上看os相关的课程,感觉发生pagefault时可以像tcp一样直接置换出去1/2
- 浙大陈越数据结构04-树4 是否同一棵二叉搜索树
ethnanli
c++算法
本方法使用慕课上何老师讲的方法,使用C++实现#include#includeusingnamespacestd;structTreeNode;typedefTreeNode*treePointer;structTreeNode{intval;treePointerleft;treePointerright;intflag;TreeNode(intnum):val(num),left(nullpt
- Linux - Linux安装部署Maven以及环境变量配置
MinggeQingchun
LinuxMavenlinuxmaven运维
1、下载Maven:前往官网下载最新版的Maven:Maven–DownloadApacheMaven2、解压Maven:将下载的压缩包解压到你希望安装Maven的目录,例如:tar-zxvfapache-maven-3.8.6-bin.tar.gz-C/opt/maven3、配置环境变量:编辑.bashrc或.bash_profile文件,添加以下内容:exportM2_HOME=/opt/ma
- 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