- Linux 文件 1.4—文件描述符0 1 2(文件操作简述)
胖胖的小肥猫
Linux系统笔记linuxc语言
文件描述符:关于这些:此处这里讲的十分的详细,清晰,膜拜大佬Linux中有这样一句话,万物皆可文件;1、对于内核而言,所有打开文件都由文件描述符引用,文件描述符是一个非负整数,当打开一个现存文件或者创建一个新文件时,内核向进程返回一个文件描述符,当读写一个文件时,用open()和creat()返回文件描述符标识该文件,将其作文参数,传递给read和write。而在Linux系统中,有默认文件描述符
- Linux基础03-指令篇之文件及其内容相关操作【入门级】
kk努力学编程
linux服务器运维
Linux基础-文件操作内容概要本文主要介绍了在linux系统中如何通过终端指令对文件以及文件内容进行增删改查。同时上传了关于存储转换的小知识点。指令cat/less/more/head/tailcat:查看文件内容(少)执行权限:所有用户语法:cat[选项]文件选项-n:显示文件行号范例:cat/proc/cpuinfocat-n/proc/cpuinfomore:分页查看文件内容(多)执行权限
- Linux 查看文件的超强命令集合与实用技巧大揭秘
疯狂的键盘侠
linuxlinux
Linux查看文件的超强命令集合与实用技巧大揭秘在Linux系统这片广阔天地里,查看文件内容是日常操作中最频繁的任务之一。无论是排查系统故障、分析日志,还是研读配置文档,掌握多样化的文件查看命令及技巧,都能让你如虎添翼,迅速定位所需信息。今天,就为大家呈上这份精心整理的Linux查看文件命令与技巧指南。一、基础查看命令cat:全称concatenate,简单直接,用于查看文本文件内容并输出到终端。
- Linux内存管理:深度解析与探索
深度Linux
Linux内存管理linuxLinux内核内存映射
你是否想过,在Linux系统中,当你打开一个程序、浏览网页或者处理文件时,这些数据都存放在哪里呢?答案就是内存。Linux内存管理就像是一个超级大管家,它负责管理着系统中所有数据的“家”。这个“家”的空间有限,却要容纳各种各样的数据,而且要保证每个数据都能被快速准确地找到和使用。它需要智慧地分配房间(内存空间),合理地安排住户(进程),还要及时清理不再需要的杂物(回收内存)。今天,我们就一起深入了
- 在linux 中搭建deepseek 做微调,硬件配置要求说明
慧香一格
学习AIlinux服务器deepseek
搭建可参考使用deepseek-CSDN博客官方网站:DeepSeekDeepSeek是一个基于深度学习的开源项目,旨在通过深度学习技术来提升搜索引擎的准确性和效率。如果你想在Linux系统上搭建DeepSeek,你可以遵循以下步骤。这里我将提供一个基本的指导,帮助你从零开始搭建一个基础的DeepSeek环境。1.安装依赖首先,确保你的Linux系统上安装了Python和pip。DeepSeek主
- M1 Mac双系统搭建qemu riscv linux仿真
灰灰h
操作系统经验分享linuxrisc-vmacos
前言实验需要riscv仿真,网上没有针对m1的配置教程,故在此整理下。本人用的m1macbookpro,系统12.3。参考到的链接:https://github.com/AsahiLinuxhttps://risc-v-getting-started-guide.readthedocs.io/en/latest/linux-qemu.htmlhttps://zhuanlan.zhihu.com/p
- 【Linux&Python】linux中通过源码方式安装python环境
atwdy
环境安装与配置linuxpython运维
python环境安装直接看第二部分即可。文章目录1.背景2.python安装3.包环境复制1.背景部署一个线上任务时,相同的代码本地开发机正常产出数据,线上产出数据为0,排查到原因是:...File"/home/disk1/wangdeyong/venv/python3_shapely_new/lib/python3.9/site-packages/mcpack/pack.py",line15,i
- ERROR: could not inset ‘edd‘
lsw1990lsw
centos
1、进入该界面后键入"e"键进行编辑,vmlinuzinitrd.imginst.stage2=hd:LABEL=centOS\x207\x20x86_64rd.live.checkquiet把上述信息,修改为:vmlinuzinitrd.imglinuxddquiet2、按屏幕最下方提示按下“Ctrl+x”运行然后找到自己的u盘盘符,一般对应的是“centOS\x207\x20x86_64”,盘
- 【组件-池式】线程池1-线程
好好学习++
课程笔记#C/C++服务器c++linuxc语言
声明:仅为个人学习总结,还请批判性查看,如有不同观点,欢迎交流。摘要介绍在Linux环境中,使用POSIXAPI和C++11进行线程开发的基本操作,包括线程的创建、退出,以及属性设置等。目录摘要1基本概念1.1线程函数1.2C++多线程开发方式2POSIX线程API2.1线程的创建2.2线程的属性2.2.1分离状态2.2.2调度策略2.3线程的退出2.3.1线程主动结束2.3.2pthread_k
- Linux:Supervisor进程管理
m0_37559973
linux运维服务器
目录一、Supervisor介绍二、核心组件2.1supervisord2.2supervisorctl2.3WebServer三、安装Supervisor3.1安装要求3.2安装方式3.3修改WebServer端口(可选)3.4启动服务四、Supervisor常用命令4.1supervisord命令行选项4.2supervisorctl命令行选项五、监控服务5.1创建进程管理配置文件5.2重新加
- 【Linux】 TCP短服务编写和守护进程
杰瑞的猫^_^
Linuxlinuxtcp/ip守护进程进程组
文章目录TCP短服务编写流程进程组和会话和守护进程TCP短服务编写流程 TCP服务器是面向连接的,客户端在发送数据之前需要先与服务器建立连接。因此,TCP服务器需要能够监听客户端的连接请求。为了实现这一功能,需要将TCP服务器创建的套接字设置为监听状态,以便等待和处理客户端的连接请求。服务器在完成监听工作后,才算初始化完成。 客户端在创建套接字后,使用connect函数向服务器发起连接请求,而
- 【Linux】【网络】Reactor模式
钟离墨笺
Linuxlinux网络java
【Linux】【网络】Reactor模式1.Reactor模式:Reactor模式是一种事件驱动的设计模式,同步I/O通常用于设置Reactor模式主线程(I/0处理单元,下同)只负责监听文件描述上是否有事件发生,有的话就立即将该事件通知工作线程(逻辑单元,下同)。除此之外,主线程不做任何其他实质性的工作。读写数据,接受新的连接,以及处理客户请求均在工作线程中完成。使用同步I/O模型(以epoll
- Linux 固定 IP 地址和网关
法号:行颠
Linuxlinux
Linux固定IP地址和网关查看IPifconfigifconfigeth0ipaddripaddrshoweth0查看网关iprouteshowroute-nnetstat-rn设置固定IP//配置静态IP文件/etc/network/interfaces$vi/etc/network/interfacesautoeth0ifaceeth0inetstaticaddress192.168.0.2
- 百万架构师第三十九课:RabbitMq:Linux安装RabbitMq|JavaGuide
后端
来源:https://javaguide.netRPM包安装RabbitMQRabbitMQ的安装非常简单,由于RabbitMQ依赖于Erlang,所以需要先安装Erlang,解决依赖关系后,就可以安装RabbitMQ了。注意,在安装Erlang前,需要先安装socat安装socat[root@nogeek]#yum-yinstallsocat下载RPM包RabbitMQ:http://www.r
- 1、Android概述
守望178
Android
安卓(Android)是一种基于Linux的自由及开放源代码的操作系统。主要使用于移动设备,如智能手机和平板电脑,由Google公司和开放手机联盟领导及开发。Android操作系统最初由AndyRubin开发,主要支持手机。2005年8月由Google收购注资。2007年11月,Google与84家硬件制造商、软件开发商及电信营运商组建开放手机联盟共同研发改良Android系统。随后Google以
- Linux内核中的双向链表list_head
ioriwc
linux链表运维
双向链表在Linux内核中使用非常多,它是内核各种队列、栈的基础,相关的结构定义和函数均在include/linux/list.h中定义,下面介绍下其原理及使用方法。1、结构体定义structlist_head{structlist_head*next,*prev;};双向链表结构体很简单,有prev和next两个指针,分别指向链表的前一节点和后一节点。这里专门讲下空链表,空链表指链表的prev和
- Alpine 安装 应用错误 ERROR: unable to select packages
seojava
linux运维服务器
/#apkaddcurlfetchhttps://dl-cdn.alpinelinux.org/alpine/v3.19/community/x86_64/x86_64/APKINDEX.tar.gzWARNING:updatingandopeninghttps://dl-cdn.alpinelinux.org/alpine/v3.19/community/x86_64/:Nosuchfileor
- mysql 如何查看建表语句
艾斯比的日常
mysqlmysql数据库database
由于公司都是使用linux跳板机连接mysql,而某个项目又没有测试环境,于是只能通过跳板机查看某张表的详细信息.具体语句如下这里以查看ups_auth_info表为例#\G表示以垂直形式查看结果showcreatetableups_auth_info\G;总结:showcreatetablexxx\G;语句虽然简单,但是自己如果不注重积累,那么在使用mysql命令时,就不得不现场查询sql语法,
- 提示-bash: telnet: command not found的解决方法
廖俊才
LinuxCentOS
Linuxcentos运行telnet命令,出现下面的错误提示:[root@localhost~]#telnet127.0.0.1-bash:telnet:commandnotfound解决方法:安装telnet服务centos、ubuntu安装telnet命令的方法.yumlisttelnet*列出telnet相关的安装包yuminstalltelnet-server安装telnet服务yumi
- clang编译代码报错:`_start': (.text+0x24): undefined reference to `main'
PandaMohist
前端linuxjavascript运维服务器
1.说明使用clang++10.1编译报错:/usr/bin/ld:/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/crt1.o:infunction`_start':(.text+0x24):undefinedreferenceto`main'clang-10:error:linkercommandfailedwithexitc
- (.text+0x1b): undefined reference to `main‘
༺࿈梦༒缘࿈༻
c++linux服务器
使用vscodeLinuxg++编译出现/usr/bin/ld:/usr/lib/gcc/x86_64-linux-gnu/11/../../../x86_64-linux-gnu/Scrt1.o:infunction`_start':(.text+0x1b):undefinedreferenceto`main'collect2:error:ldreturned1exitstatusmake:**
- Linux下CMake 3.28.2版本针对ARM64架构的预编译安装包
安检
本文还有配套的精品资源,点击获取简介:CMake是一个跨平台的自动化构建系统,通过配置文件简化了项目构建过程,并能够生成适应不同操作系统和编译器环境的构建工具。版本3.28.2针对Linux系统和aarch64架构预编译,适用于64位ARM处理器。该版本包括了所有必要的可执行文件、库、模块和文档。解压后,通过简单几步即可安装并开始使用CMake来构建项目。1.CMake简介和特性CMake简介CM
- 学习笔记之debian的thonny开发(尚未验证)--从stm32裸机到linux嵌入式系统
sjh2100
嵌入式硬件硬件工程linuxstm32debian
这应该算stm32裸机用户转linux嵌入式系统的入门学习笔记。【鲁班猫】39-vnc远程桌面连接鲁班猫_哔哩哔哩_bilibili本集的鲁班猫的视频介绍中,没有清晰明确指出需要linux开发板接入网络,接入网络可以使用有线网口或者wifi路由,有些提示信息是来自开发板还是win电脑屏幕并不是很明确。stm32开发需要win+keil+stlink+开发板。linux嵌入式系统应用开发需要:lin
- DeepSeek 满血版的部署方案
rockmelodies
deepseek人工智能deepseek
1.环境准备确保你的服务器或本地开发环境满足以下要求:操作系统:Linux(推荐Ubuntu20.04LTS或CentOS7)内存:至少16GBCPU:至少4核硬盘:至少50GB可用空间网络:稳定的互联网连接2.安装依赖安装必要的软件包和依赖项:#更新系统包sudoapt-getupdatesudoapt-getupgrade-y#安装必要的软件包sudoapt-getinstall-ybuild
- Android-Amlogic-GPIO
shizhong2006
systemBSPandroid驱动开发linux
问题显示外设供电电压是19V,通过GPIO控制上下电,下面以此为例,梳理基于Amlogic平台,在Android系统里对GPIO的控制过程。Linuxversion5.4.125-android11-2-g05a36b0e5a09-dirtyMachinemodel:AmlogicT5DT950D4AM3011.5G分析过程原理图通过原理图,确定对显示外设供电的GPIO是GPIOH_13Andro
- 嵌入式编程——数据结构与linux编程
做自己'S Catanin
数据结构linuxc#
根据dict.txt文件中的内容,用户输入单词获得单词含义#include"public.h"intmain(void){structlist_head*parray=NULL;FILE*fp=NULL;char*nret=NULL;char*pword=NULL;char*pparaphrase=NULL;intnum=0;charstr[1024]={0};charword[256]={0};
- Linux Ubuntu设置ollama保存模型的路径和设置监听端口
3333333_
大模型Linuxlinux学习人工智能大模型
下载模型之前可以修改下模型默认保存路径。设置ollama保存模型的路径和监听端口sudomkdir/path/to/ollama/modelssudochown-R777/path/to/ollama/modelssudovi/etc/systemd/system/ollama.service在[Service]下面添加相应的环境变量Environment,包括OLLAMA_HOST和OLLAMA
- 学C++还是学Java?做软件研发还需掌握哪些知识和技能?_c+
2401_84160087
程序员c++javac语言
1.1、Java和C++都很有前途1.2、Java的应用领域与使用场景1.3、C++的应用领域与使用场景1.4、如何选择2、需要掌握的知识和技能2.1、掌握一些基础的网络知识2.2、熟悉一些常用的SQL语句2.3、了解Linux系统,掌握常用的Linux命令2.4、学习汇编语言相关的内容2.5、学习一些其他的专业课程3、最后最近和一些高校的学生朋友交流,他们打算毕业后从事软件研发的工作,但目前有些
- Docker-快速入门
学习两年半的Javaer
dockerdocker容器
1.部署MySQL首先,我们利用Docker来安装一个MySQL软件,大家可以对比一下之前传统的安装方式,看看哪个效率更高一些。如果是利用传统方式部署MySQL,大概的步骤有:搜索并下载MySQL安装包上传至Linux环境编译和配置环境安装而使用Docker安装,仅仅需要一步即可,在命令行输入下面的命令(建议采用CV大法):dockerrun-d\--namemysql\-p3306:3306\-
- linux 搭建kafka集群
节点。csn
linuxkafka运维
目录、一、环境准备二、文件配置三、集群启动一、环境准备1、我这里是准备三台服务器节点ipnode1192.168.72.132node2192.168.72.133node3192.168.72.1342、安装jdklinux环境安装jdk_openjdk1.8.0_345-CSDN博客3、下载kafka安装包安装包下载wget--nhttps://downloads.apache.org/kaf
- 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