其他
文章平均质量分 67
小流_跬步
不积跬步,无以至千里不积小流,无以成江海。千里之行,始于足下。技术征程,百折不挠。我思故我在。
展开
-
REST详解
不知你是否意识到,围绕着什么才是实现异构的应用到应用通信的“正确”方式,一场争论正进行的如火如荼:虽然当前主流的方式明显地集中在基于SOAP、WSDL和WS-*规范的Web Services领域,但也有少数人用细小但洪亮的声音主张说更好的方式是REST,表述性状态转移(REpresentational State Transfer)的简称。在本文中,我不会涉及争论的话题,而是尝试对REST和RES转载 2015-05-08 17:51:42 · 657 阅读 · 0 评论 -
基于jetty9实现java版的webcoket服务端和客户端
接上文,“websocket协议简析”。分享一下基于jetty9实现java版的webcoket服务端和客户端demo。 没有理论,话不多说,代码奉上。 准备工作: 新建maven工程,pom文件引入: <dependency> <groupId>org.eclipse.jetty.websocket</groupId>原创 2017-08-07 19:13:07 · 698 阅读 · 0 评论 -
java进程CPU占用高的问题排查
在某版代码提测时发现,java进程启动话,宿主机CPU使用率立马升到100%。百思不得其解,遂查之。top命令查看占用cpu高的java进程号,记录11303.ps -mp 11303 -o THREAD,tid,time 查看占用cpu高的线程号,记录。jstack 11303 >/usr/local/agent.log查看agent.log,并将线程号转为16禁止,搜索原创 2017-03-17 11:18:18 · 354 阅读 · 0 评论 -
java虚拟机 内存运行时数据区域
java虚拟机运行时数据区域广义上可以分为程序计数器 堆 栈和直接内存。程序计数器(线程私有)可以看作当前线程所执行的字节码的行号指示器。众所周知,多线程是争抢CPU执行时间的,轮流切换并分配cpu时间,每个cpu同一时刻只能处理同一个线程。程序计数器可以保证线程切换后能恢复到正确的执行位置。栈(先进后出,线程私有,生命周期与线程相同)包括java虚拟机栈和本地方法栈。原创 2017-01-13 18:32:27 · 1080 阅读 · 0 评论 -
数据库事务隔离级别
数据库事务隔离级别分为四种:以下四种隔离级别依次递增。read uncommitted(未提交读):事务可以读取未提交的数据。一般不会使用该级别。可能出现“脏读”。所谓脏读,指的是两个或多个并发事务,其中一个事务读取了另一个尚未提交的事务数据。脏读实例:公司发工资了,领导把5000元打到singo的账号上,但是该事务并未提交,而singo正好去查看账户,原创 2015-10-27 17:26:05 · 298 阅读 · 0 评论 -
linux安装并通过SSH链接
1安装下载mysql-5.5.46-linux2.6-x86_64.tar.gz。a. 检查是否已安装,grep的-i选项表示匹配时忽略大小写[root@localhost JavaEE]#rpm -qa|grep -i mysqlmysql-libs-5.1.61-4.el6.x86_64*可见已经安装了库文件,应该先卸载,不然会出现覆盖错误。原创 2015-10-27 17:09:13 · 409 阅读 · 0 评论 -
同步异步堵塞非堵塞
“阻塞”与"非阻塞"与"同步"与“异步"不能简单的从字面理解,提供一个从分布式系统角度的回答。1.同步与异步同步和异步关注的是消息通信机制 (synchronous communication/ asynchronous communication)所谓同步,就是在发出一个*调用*时,在没有得到结果之前,该*调用*就不返回。但是一旦调用返回,就得到返回值了。换句话说,就是由*调用者转载 2015-11-09 11:25:01 · 406 阅读 · 0 评论 -
java List 删除若干元素
对于LIst的删除操作,由于删除时会引起索引改变。直接使用循环遍历进行删除,只能删除1/2. 剩余部分由于索引问题而不能被删除。对于LIst遍历元素按需删除,可使用Iterator。Iterator itr = s.iterator(); while (itr.hasNext()) { Integer i = itr.next();原创 2015-07-16 16:06:44 · 387 阅读 · 0 评论 -
关于curl java 模拟http请求
近期笔者项目需求java模拟http请求,获取dns解析 tcp连接等详细耗时信息。java api中提供的urlConnection 及apache提供的httpClient都不能胜任该需求,二次开发太费时间。于是google之。最后 得出两种解决办法:一是使用HTTP4J。该开源项目使用socket方式,模拟请求,记录时间戳,基本满足需求。对于header自定义等细节,可在此基原创 2015-06-25 11:22:20 · 21018 阅读 · 10 评论 -
curl获取站点的各类响应时间(dns解析时间,响应时间,传输时间)
有时候为了测试网络情况,需要返回每个阶段的耗时时间,比如DNS解析耗时,建立连接所消耗的时间,从建立连接到准备传输所使用的时间,从建立连接到传输开始所使用的时间,整个过程耗时,下载的数据量,下载速度,上传数据量,上传速度等等。使用 cURL 获取站点的各类响应时间 – dns解析时间,响应时间,传输时间 curl -o /dev/null -s -w %{http_code}:%{ht转载 2015-06-25 11:28:54 · 6585 阅读 · 0 评论 -
基于三层路由的高可用方法 BGP(边界网关协议)
三层路由高可用指的是网络协议模型中网络层的路由高可用功能。基于虚拟IP来实现。对应的有四层传输层 LVS 是通过IP和端口实现。七层应用层F5可以通过URL实现。场景: 3台Linux服务器,2台server部署了服务,剩余1台作为应用client实现: 在3台Linux服务器上全部部署BGP服务,将3台机器规划到同一个BGP区域中,从而实原创 2015-05-08 09:15:08 · 2513 阅读 · 0 评论 -
eclipse maven jersey项目搭建
1/通过Maven原型(jersey-quickstart-grizzly )创建参考文档:点击打开链接jersey-quickstart-grizzly 插件安装:插件安装说明2/创建maven web工程 配置jersey参考文档:点击打开链接参考上述两篇博文 学习jersey的demo 均可成功。保存资料备用。原创 2015-05-11 15:51:06 · 3101 阅读 · 0 评论 -
dropwizard微服务实践
一 Dropwizard是什么? Dropwizard是一个跨越了库和框架的界限,他的目标是提供一个生产就绪的web应用程序所需的一切性能可靠的实现。 (一)它主要包含以下组件: 1、Jetty for HTTP 将Jetty的http库嵌入到项目中,不需要将我们的服务提交到复杂的服务器上。只需要一个main方法就可以启动服务。 2、Jersey for REST 使用Jersey来支原创 2017-08-10 16:03:56 · 843 阅读 · 0 评论