Tomcat启动两次问题
Tomcat启动两次问题起因多个项目协同,同事在进行项目断点时发现,在进行一个ws链接的时候,竟然会有两次链接请求。
分析由于项目链接启动是通过子线程去启动,所以考虑是否是因为代码问题,导致创建了大于1个线程,才会出现多个创建链接的问题,经过排差并非这个问题,所以就对Tomcat启动进行检查,发现是tomcat启动两次导致的。
原因由于是Tomcat的原因,自然就是配置出现问题了,检查Tomcat相关配置。当时为了项目访问路径的原因,重新配置相关项目,配置如下:
1234567891011<Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true"> <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs" prefix="l ...
芙蓉女儿诔
维太平不易之元,蓉桂竞芳之月,无可奈何之日,怡红院浊玉,谨以群花之蕊,冰鲛之縠,沁芳之泉,枫露之茗,四者虽微,聊以达诚申信,乃致祭于白帝宫中抚司秋艳芙蓉女儿之前曰:
窃思女儿自临浊世,迄今凡十有(通“又)”六载。其先之乡籍姓氏,湮沦而莫能考者久矣。而玉得于衾枕栉沐之间,栖息宴游之夕,亲昵狎亵,相与共处者,仅五年八月有奇。
忆女儿曩生之昔,其为质则金玉不足喻其贵,其为性则冰雪不足喻其洁,其为神则星日不足喻其精,其为貌则花月不足喻其色。姊娣悉慕媖娴,妪媪咸仰惠德。
孰料鸠鸩恶其高,鹰鸷翻遭罦罬;薋葹妒其臭,茝兰竟被芟鉏!花原自怯,岂奈狂飙;柳本多愁,何禁骤雨!偶遭蛊虿之谗,遂抱膏肓之疚。故樱唇红褪,韵吐呻吟;杏脸香枯,色陈顑颔。诼谣謑诟,出自屏帏;荆棘蓬榛,蔓延户牖。岂招尤则替,实攘诟而终。既忳幽沉于不尽,复含罔屈于无穷。高标见嫉,闺帏恨比长沙;直烈遭危,巾帼惨于羽野。自蓄辛酸,谁怜夭折?仙云既散,芳趾难寻。洲迷聚窟,何来却死之香?海失灵槎,不获回生之药。
眉黛烟青,昨犹我画;指环玉冷,今倩谁温?鼎炉之剩药犹存,襟泪之余痕尚渍。镜分鸾别,愁开麝月之奁;梳化龙飞,哀折檀云之齿。委金钿于草莽 ...
Go语言设计语言
Go入门go圣经学习笔记+练习,放在码云上,用于记录和回顾。
Linux常用指令
常用命令ps命令:
12ps -aux | grep javaps -ef | grep java
查找对应应用PID:
1234# 新写法pgrep java# 老写法ps -aux|grep java| grep -v grep | awk '{print $2}'
清空文件:
1cat /dev/null > text.txt
将用户从某个组删除
1gpasswd --delete user group
杀死、暂停、继续一个进程ps: 正在进行的进程kill: 发信号给一个进程,一般用于杀死改进程jobs: 列出当前shell环境中已启动的任务。挂起任务时,会出现[1]+ stop类似的提示bg: 将一个后台进行的任务,搬到前台;bg %jobnumberfg: 将一个前台任务搬到后台;fg %jobnumber
前台进程的挂起和终止:挂起:ctrl + z终止:ctrl + c
screen命令: 用于多重视窗管理程序,以下为一些简单命令
123456789#创建screen -S <名字># 查看所有 scr ...
Go加速地址
Go 国内加速镜像go的很多包都需要在国外的网站拉取,比如golang.org/x/...。而且在国内拉取github上的模块也很慢,一般推荐一下三个镜像站:
七牛:https://goproxy.cn
阿里:https://mirrors.aliyun.com/goproxy/
官方:https://goproxy.io/如何使用
配置Goproxy环境变量MacOS or Linux12export GO111MODULE=onexport GOPROXY=https://goproxy.io,direct
Window(PowerShell)12$env:GO111MODULE = "on"$env:GOPROXY = "https://goproxy.io,direct"
配置长久生效Mac or Linux12345# 设置你的 bash 环境变量echo "export GOPROXY=https://goproxy.io,direct" >> ~/.profile && sourc ...
Go语言结构体
Go的结构体与函数在go语言中,并没有”类“的概念,只有结构体和接口,官方认为通过结构体和接口的组合,能够更加灵活和更具扩展性
结构体结构体成员是由一系列的成员变量构成,这些成员变量也被称为“字段”。字段有以下特性:
字段拥有自己的类型和值。
字段名必须唯一。
字段的类型也可以是结构体,甚至是字段所在结构体的类型。
结构体不能包含自己类型的成员,但是可以包含自己类型的指针类型(指针,链表等数据结构)
结构体的全部成员都是可以比较的,结构体也是可以比较的,可以使用==或!=比较
12345678910type 类型名 struct { 字段1 字段1类型 字段2 字段2类型 …}// 包含自己类型指针type tree struct { left, right *tree value int}
实例化可以通过var来实例化结构体: var instance T也可以通过new来实例化: instance := new(T)也可以通过获取结构体的指针地址来进行实例化: instance := &T{ ...
Go语言基础语法
Go的起始我们做了大量的 C++ 开发,厌烦了等待编译完成,尽管这是玩笑,但在很大程度上来说也是事实。
Go是编译型语言Go使用编译器来编译代码。Go自带编译器,所以,我们只需要写好源码就行了。一般,都是如下步骤:
使用文本编辑器创建go程序
保存文件
编辑程序
运行编译成对应系统的可执行文件
和c++较量编译快,和Java较量执行高效,和Python较量开发快速。GO在三个语言中做了平衡,获得了自己的优势:快速编译,高效执行,快速开发。
特性
语法简单
并发模型
内存分配
垃圾回收
静态链接
标准库
工具链
为并发而生Go语言从底层执行并发,无需第三方库,开发人员可以很轻松地在编写程序时决定怎么使用CPU资源。Go并发基于goroutine。Go在运行时会调用goroutine,并将goroutine合理地分配到每个CPU上,最大限度地使用CPU性能。多个goroutine之间,使用channel通信。
编译与运行Go语言是编译型的静态语言,所以在运行之前,需要将其编译为二进制的可执行文件。
go build命令可以将Go语言代码编译为二进制的可执行文件,但是需要我们手动执行 ...
Java8后续版本新特性
Java9新特性
完全卸载nginx
nginx卸载ubuntu一般情况下,我们都是会使用nginx作为web服务器的,但是,如果希望通过openresty来替换掉原来的nginx,那么我们就需要将原来的nginx进行卸载。步骤如下:
删除nginx
1sudo apt-get --purge remove nginx
自动删除不需要的包
1sudo apt-get autoremove
罗列出所有与nginx相关的包
1dpkg --get-selections|grep nginx
(例)结果如下:
123456root@ip:~# dpkg --get-selections|grep nginxlibnginx-mod-http-image-filter deinstalllibnginx-mod-http-xslt-filter deinstalllibnginx-mod-mail deinstalllibnginx-mod-stream ...
React入门
React入门典中典:什么是React?React 是一个声明式,高效且灵活的用于构建用户界面的 JavaScript 库。
使用 React 可以将一些简短、独立的代码片段组合成复杂的 UI 界面,这些代码片段被称作“组件”。
React与传统JavaScript的优势和劣势?
组件化,提高代码利用率,声明式编码
避免dom频繁的渲染,低效率
React Native使用React,学习移动端开发的前置知识
虚拟DOM,优秀的Diffing算法,减少真实dom操作
有上手难度,需要学习和掌握全新的技术栈
JSX1234567891011121314class ShoppingList extends React.Component { render() { return ( <div className="shopping-list"> <h1>Shopping List for {this.props.name}</h1 ...






