摘要: 硬广:《IOS性能调优系列》第五篇,预计会有二十多篇,持续更新,欢迎关注。之前四篇都是关注于内存方面,分析了内存泄漏、僵尸对象、内存分配,本篇介绍Time Profiler工具的使用,开始真正的“性能”调优之旅。Time Profiler还有之前介绍过的Leaks、Allocations工具,被戏称...阅读全文
posted @ 2015-03-09 19:25 全栈工程狮 阅读(13838) 评论(4) 编辑
摘要: 工作几年,也写过了不少服务端项目,一直想把这方面的经验总结出来,每次总结也是一次更加深入思考的过程。要聊分布式,可以延伸到负载均衡、服务发现、服务依赖管理、异地冷备、异地双活、应用层协议、消息队列......以上还仅仅只是一部分,如果在做架构设计时,全部想着这些概念,瞬间就凌乱了......抛开场景...阅读全文
posted @ 2015-08-19 14:49 全栈工程狮 阅读(722) 评论(3) 编辑
摘要: ab的全称是Apache Bench,是Apache自带的网络压力测试工具,相比于LR、JMeter,是我所知道的 Http 压力测试工具中最简单、最通用的。ab命令对发出负载的计算机要求很低,不会占用很高CPU和内存,但也能给目标服务器产生巨大的负载,能实现基础的压力测试。在进行压力测试时,最好与...阅读全文
posted @ 2015-07-08 11:46 全栈工程狮 阅读(7138) 评论(0) 编辑
摘要: 像Hibernate这种ORM框架,相较于JDBC操作,需要有更复杂的机制来实现映射、对象状态管理等,因此在性能和效率上有一定的损耗。在保证避免映射产生低效的SQL操作外,缓存是提升Hibernate的关键之一。加入缓存可以避免数据库调用带来的连接创建与销毁、数据打包拆包、SQL执行、网络传输,良好...阅读全文
posted @ 2015-07-07 16:35 全栈工程狮 阅读(2275) 评论(0) 编辑
摘要: Hibernate优化的方式有很多,如缓存、延迟加载以及与SQL合理映射,通过对SessionFactory使用的优化是最基础的。SessionFactory负责创建Session实例,Session相当于JDBC里的Connection。SessionFactory的创建SessionFactor...阅读全文
posted @ 2015-07-07 10:32 全栈工程狮 阅读(962) 评论(0) 编辑
摘要: 有很多IDE可以开发Java RESTful服务,Eclipse、NetBeans等,个人偏好使用NetBeans,本文介绍使用NetBeans开发的入门步骤。《理解RESTful架构》、《RESTful API 设计指南》、《RESTful API 设计最佳实践》这三篇文章是介绍RESTful架构...阅读全文
posted @ 2015-06-26 17:36 全栈工程狮 阅读(1122) 评论(2) 编辑
摘要: 《Linux iptables:规则原理和基础》和《Linux iptables:规则组成》介绍了iptables的基础及iptables规则的组成,本篇通过实际操作进行iptables应用场景的实际演示。防火墙设置策略防火墙的设置策略一般分为两种,一种叫“通”策略,一种叫“堵”策略:通策略,默认所...阅读全文
posted @ 2015-06-10 20:08 全栈工程狮 阅读(507) 评论(0) 编辑
摘要: 《Linux iptables:规则原理和基础》介绍了iptables的四表五链,简单说就是不同的网络层数据包会经过哪几个挂载点,在每个挂载点可以在哪张表进行规则定义。本篇沿着这个思路,更具体的介绍一条iptables规则的组成。Linux iptables:规则组成这是iptables一条规则的基...阅读全文
posted @ 2015-06-10 19:34 全栈工程狮 阅读(598) 评论(0) 编辑
摘要: 什么是iptables?iptables是Linux下功能强大的应用层防火墙工具,但了解其规则原理和基础后,配置起来也非常简单。什么是Netfilter?说到iptables必然提到Netfilter,iptables是应用层的,其实质是一个定义规则的配置工具,而核心的数据包拦截和转发是Netfil...阅读全文
posted @ 2015-06-10 19:07 全栈工程狮 阅读(1781) 评论(0) 编辑
摘要: TCP自从1974年被发明出来之后,历经30多年发展,目前成为最重要的互联网基础协议,但TCP协议中也存在一些缺陷。SYN攻击就是利用TCP协议的缺陷,来导致系统服务停止正常的响应。SYN攻击原理TCP在传递数据前需要经过三次握手,SYN攻击的原理就是向服务器发送SYN数据包,并伪造源IP地址。服务...阅读全文
posted @ 2015-06-09 19:05 全栈工程狮 阅读(1347) 评论(2) 编辑
摘要: netcat又叫做瑞士军刀,是黑客和系统管理员常用的网络工具,最初开发的目的是文件传输,后来发展出很多强大的功能,比如也可以完成批量主机服务扫描。之前介绍了另一个更常用的批量主机服务扫描工具:nmap。netcat的安装也非常简单,直接yum安装:yum install nc一般不建议在生产环境安装...阅读全文
posted @ 2015-06-09 16:11 全栈工程狮 阅读(366) 评论(0) 编辑
摘要: Linux下有很多强大网络扫描工具,网络扫描工具可以分为:主机扫描、主机服务扫描、路由扫描等。之前已经写过常用的主机扫描和路由扫描工具,nmap支持批量主机扫描和主机服务扫描。nmap的安装直接使用:yum install nmap。nmap之ICMP扫描nmap可以使用ICMP协议来实现Ping的...阅读全文
posted @ 2015-06-08 17:40 全栈工程狮 阅读(1594) 评论(3) 编辑
摘要: 除了上一篇《Linux常用网络工具:路由扫描之traceroute》介绍的traceroute之外,一般Linux还内置了另一个常用的路由扫描工具mtr。mtr在某些方面比traceroute更好用,它可以实时显示经过的每一跳路由的信息,并不断进行探测。traceroute默认使用UDP数据包探测,...阅读全文
posted @ 2015-06-06 17:20 全栈工程狮 阅读(1584) 评论(0) 编辑
摘要: 之前两篇《Linux常用网络工具:fping主机扫描》和《Linux常用网络工具:hping高级主机扫描》都是关于主机扫描的,本篇介绍Linux下常用的路由扫描工具traceroute和mtr。路由扫描主要是查询本机到另一个主机经过的路由跳数及数据延迟情况。traceroute基本使用路由扫描工具的...阅读全文
posted @ 2015-06-06 15:33 全栈工程狮 阅读(6010) 评论(1) 编辑
摘要: 之前介绍了主机扫描工具fping,可以参考我写的《Linux常用网络工具:fping主机扫描》。hping是一款更高级的主机扫描工具,它支持TCP/IP数据包构造、分析,在某些防火墙配置或运营商拦截ICMP数据包时,可用来扫描存活主机。hping还可以伪造源IP,用来发起DDos攻击。hping官方...阅读全文
posted @ 2015-06-04 21:33 全栈工程狮 阅读(1318) 评论(0) 编辑
摘要: Linux下有很多强大网络扫描工具,网络扫描工具可以分为:主机扫描、主机服务扫描、路由扫描等。fping是一个主机扫描工具,相比于ping工具可以批量扫描主机。fping官方网站:http://fping.org/fping的源代码编译安装访问fping的官方网站,获取源代码地址:编译及安装命令:w...阅读全文
posted @ 2015-06-03 16:51 全栈工程狮 阅读(2383) 评论(4) 编辑
摘要: 服务器程序经常需要在命令行中显示错误消息、状态或者用来跟踪程序的执行路径,最简单的方法是使用printf。ACE提供了更强大日志设施:1、可以在编译时启用或禁用宏;2、可以动态的启用或禁用宏;3、支持日志严重级别;4、支持日志重定向;5、支持多线程安全和线程级配置;使用ACE的日志相关功能,需要引入...阅读全文
posted @ 2015-05-26 18:58 全栈工程狮 阅读(985) 评论(0) 编辑
摘要: 参考APG里的说法:平台差异及不兼容性的一个特别的方面,是对象的运行时初始化和程序关闭时这些对象的相应析构。ACE为了明确管理对象的清理,定义了ACE_Object_Manager类,这个类不仅涉及到对象的管理,还与ACE库的初始化与关闭相关。ACE中应用了大量的设计模式,本篇顺便研究ACE的程序入...阅读全文
posted @ 2015-05-22 23:22 全栈工程狮 阅读(687) 评论(0) 编辑
摘要: ACE服务端编程系列的第三篇,探究ACE解决不同编译器之间分配堆内存的差异。在ACE的官方示例中会看到大量的ACE_NEW_RETURN,ACE_NEW这样的宏,这是ACE为了消除不同编译器编译的代码在堆上分配内存失败的行为差异。具体来说:使用 malloc/calloc 等分配内存的函数时,一定要...阅读全文
posted @ 2015-05-21 23:37 全栈工程狮 阅读(225) 评论(0) 编辑
摘要: ACE网络库的主要优势之一就是跨平台,ACE提供了操作系统API和编译器级别的跨平台解决方法,使开发人员不用再去关心操作系统和编译器的差异,但因此也带来了ACE的复杂性。ACE网络库的组织结构主要分为四层:OS适配层、wrapper facade层、框架层、服务层,其中OS适配层为操作系统API提供...阅读全文
posted @ 2015-05-21 10:19 全栈工程狮 阅读(1033) 评论(0) 编辑
摘要: Bolt没有提供官方IDE,缺少强大的代码提示和自动补全,Notepad++写起界面和脚本来比较费劲。Notepad++有个QuickText插件,支持多语言的自动补全,进行简单的配置就可以支持Bolt XML和JQBolt Lua代码。配置后的效果,输入关键字,Ctrl+Enter自动补全:下面介...阅读全文
posted @ 2015-05-04 22:36 全栈工程狮 阅读(377) 评论(0) 编辑