技术总结
文章平均质量分 64
hebeind100
这个作者很懒,什么都没留下…
展开
-
性能综述方法论
性能问题和Bug不同,后者的分析和解决思路更清晰,很多时候从应用日志(文中的应用指分布式服务下的单个节点)即可直接找到问题根源,而性能问题,其排查思路更为复杂一些。对应用进行性能优化,是一个系统性的工程,对工程师的技术广度和技术深度都有所要求。一个简单的应用,它不仅包含了应用代码本身,还和容器(虚拟机)、操作系统、存储、网络、文件系统等紧密相关,线上应用一旦出现了性能问题,需要我们从多方面去考虑。与此同时,除了一些低级的代码逻辑引发的性能问题外,很多性能问题隐藏的较深,排查起来会比较困难,需要我们对应用转载 2021-07-18 19:57:55 · 604 阅读 · 0 评论 -
JAR综述
1.JAR 文件是什么? JAR 文件格式以流行的 ZIP 文件格式为基础,用于将许多个文件聚集为一个文件。与 ZIP 文件不同的是,JAR 文件不仅用于压缩和发布,而且还用于部署和封装库、组件和插件程序,并可被像编译器和 JVM 这样的工具直接使用。在 JAR 中包含特殊的文件,如 manifests 和部署描述符,用来指示工具如何处理特定的 JAR。 2.JAR用途 ...原创 2013-04-02 17:21:35 · 99 阅读 · 0 评论 -
JAR的创建、解压、运行、反编译
1. JAR 文件包 JAR( Java Archive File),即它的应用是与 Java 相关,JAR是 Java 的一种文档格式。JAR是与平台无关的文件格式,它允许将许多文件组合成一个压缩文件。为 J2EE 应用程序创建的 JAR 文件是 EAR 文件。JAR 文件非常类似 ZIP 文件(准确的说,它就是 ZIP 文件,所以叫它文件包)。JAR 文件与 ZIP 文件不同的是,...原创 2013-04-07 13:00:33 · 404 阅读 · 0 评论 -
Perf4J介绍及使用、集成
1.Perf4J简述Perf4J 是一个新的开放源码的性能记录,监测和分析库,主要用于企业Java应用程序。与之类似,为我们所熟悉的的是log4j。Perf4J的重点功能:1)一个简单的秒表计时机制,对timing进行简洁的声明。2)一个命令行工具用来分析日志文件,并生成汇总统计和性能图表。。3)易于与常见的记录框架和facades集成:log4j, java.util.lo...原创 2013-04-09 10:51:21 · 699 阅读 · 0 评论 -
垃圾回收调优及JVM参数详解
引自:http://zhaohe162.blog.163.com/blog/static/382167972011910112950666/一、常用JVM配置参数1.1基本参数-client,-server 这两个参数用于设置虚拟机使用何种运行模式,client模式启动比较快,但运行时性能 和内存 管理效率不如server模式,通常用于客户端应用程序。相反,server模...原创 2013-04-10 15:54:48 · 100 阅读 · 0 评论 -
log4j日志输出性能优化-缓存、异步
引自:http://zhanghua.1199.blog.163.com/blog/static/464498072012112142121681/ 1、log4j已成为大型系统必不可少的一部分,log4j可以很方便的帮助我们在程序的任何位置输出所要打印的信息,便于我们对系统在调试阶段和正式运行阶段对问题分析和定位。由于日志级别的不同,对系统的性能影响也是有很大的差距,日志级别越高...原创 2013-04-11 09:19:55 · 582 阅读 · 0 评论 -
Java VS C/C++ 运行速度的对比
1.1 Java VS C/C++Java与C++相比的优点在于:u Java比C,C++简单,学起来比C\C++容易u Java完全对象化,比如数组在Java中是一个对象,含有length这个属性;而不像C++中数组是一个指针。所以访问数组,Java都会进行边界检查,更安全,但牺牲了速度。同时因为Java中所有类都会继承Object基类,所以可以把几个好不相干的类用基类联系起来...原创 2013-04-15 16:04:16 · 971 阅读 · 0 评论 -
高性能之javascript
《高性能javascript》 1. javascript的最初目的是改善网页用户的体验,早期的javascript为互联网用户节省了很多时间。2. javascript代码的增长,IE6的javascript引擎吃不消,原因是它的“静态垃圾回收机制”,javascript开发人员和web应用在发展,而IE6的javascript引擎木有发展。3. ...原创 2013-05-04 10:49:22 · 93 阅读 · 0 评论 -
高性能之网站建设
《高性能网站建设指南》 1. 项目三角:时间、质量、成本。往往3取22. 运行最大开销是DOM,不是javascript。酷炫体验只在确定改善用户体验时用,而不是应用于功能和可用性的缺陷3. 0.1秒:用户操作的极限4. Javascript文件外部引入比内嵌好5. 循环时,将长度的设置放于循环外6. 在不删...原创 2013-05-04 10:50:09 · 103 阅读 · 0 评论 -
高性能之DB2性能调整和优化
《DB2性能调整和优化》 1.性能优化应该是跨越应用系统的整个生命周期,不是用户感觉性能差的时候开始2.对任何程序而言,最慢最耗时间的操作是从磁盘度数(磁盘的转数没有较大提高),任何一个数据库系统、,必然存在大量的I/O,所以I/O是导致数据库性能问题的关键。3.DB中数据访问都要经过缓冲池:读的数据先要读到缓冲池才能提交应用;写的数据也是先要写到缓冲池才能进行I/O。缓冲池是影...原创 2013-05-04 10:50:59 · 216 阅读 · 0 评论 -
重构——改善既有代码的设计
《重构——改善既有代码的设计》1. 重构:在不改变软件可观察行为的前提下改善其内部结构。重构保持代码易读、易修改的关键,在写好代码之后改进它的设计。2. 改编代码的名称——值得。好的代码应该清楚的表达出自己的功能,变量名称是代码清晰的关键(可以用查找替换工具修改)3. 尽量去除临时变量4. 重构的目的:使软件更容易理解和修改,适当提...原创 2013-05-04 10:53:52 · 102 阅读 · 0 评论 -
定时任务Java编写综述之OS级的Linux crontab命令方式
定时任务Java编写综述目前我所用过的定时任务机制主要分三类:OS级的Linux crontab命令方式、Java语言级的JDK自带API、第三方API接口如Quartz(当然,其他MVC框架如Spring基于Quartz实现了更人性化的API接口,此类接口一并归入Quartz类族)。 这三种方式相比,OS级不用专门开启监听器,占用系统资源较少,是定时任务首选的实现方式;JDK自带A...原创 2013-05-05 08:56:22 · 114 阅读 · 0 评论 -
定时任务Java编写综述之Java语言级的JDK自带API
定时任务Java编写综述目前我所用过的定时任务机制主要分三类:OS级的Linux crontab命令方式、Java语言级的JDK自带API、第三方API接口如Quartz(当然,其他MVC框架如Spring基于Quartz实现了更人性化的API接口,此类接口一并归入Quartz类族)。 这三种方式相比,OS级不用专门开启监听器,占用系统资源较少,是定时任务首选的实现方...原创 2013-05-05 08:57:47 · 102 阅读 · 0 评论 -
定时任务Java编写综述之Quartz理论(1)
定时任务Java编写综述 目前我所用过的定时任务机制主要分三类:OS级的Linux crontab命令方式、Java语言级的JDK自带API、第三方API接口如Quartz(当然,其他MVC框架如Spring基于Quartz实现了更人性化的API接口,此类接口一并归入Quartz类族)。 这三种方式相比,OS级不用专门开启监听器,占用系统资源较少,是定时任务首...原创 2013-05-05 20:23:32 · 106 阅读 · 0 评论 -
定时任务Java编写综述之Quartz理论(2)
3.4 Quartz可以运行多少任务?看它依赖于什么环境。首先,JobStore对性能有重要的影响.基于RAM的JobStore要比基于JDBC的JobStore快的多。基于JDBC的JobStore的速度几乎完全取决于对数据库连接的速度,以及使用的数据系统以及数据库运行的硬件。Quartz本身实际上只做很少的处理,差不多所有的时间都花费在数据库上。当然,RAMJobStore对于有...原创 2013-05-06 11:16:32 · 91 阅读 · 0 评论 -
定时任务Java编写综述之Quartz理论(3)
3.6 Job Execution(任务执行)•任务是任何实现简单Job接口的Java 类,这样开发者能够执行任何完成他们工作的任务。•任务类的实例可以由Quartz实例化,也可以由你的程序框架实例化。当触发器被触发时,日程管理器将会通知某个或者多个实现了JobListener 或TriggerListener的对象(监听器可以是简单的Java对象,或者EJBs,或者JMS消息发布器...原创 2013-05-07 15:41:19 · 91 阅读 · 0 评论 -
定时任务Java编写综述之Quartz实战(1)
4.Quartz实战 4.1下载和安装 Quartz 在 Quartz 的主页面 http://www.opensymphony.com/quartz 中有下载链接。Quartz是一个完整的发行版,其中包括源代码和已编译好可直接使用的 JAR 文件。Quartz 的 JAR 包还存在于 ibiblio (http://www.ibiblio.org/maven/) maven 仓...原创 2013-05-07 15:54:34 · 110 阅读 · 0 评论 -
定时任务Java编写综述之Quartz实战(2)
4.2 Eclipse 中的 Quartz 工程创建一个 Quartz Job 类每一个 Quartz Job 必须有一个实现了 org.quartz.Job 接口的具体类。这个接口仅有一个实现的方法,即execute(),方法 execute() 的原型如下: public void execute(JobExecutionContext context) throws Job...原创 2013-05-07 17:10:58 · 82 阅读 · 0 评论 -
程序员宝典笔记
1.i+++j 从左向右结合2.unsigned int类型的数据和int类型的数据运算,自动转化为unsigned int。 在进行整数提升时,char、signed char、unsigned char、short int 都会自动转化为int。3.在C++程序中,调用被C编译器编译的函数,为什么加extend "C" C++支持函数重载,C不支持函数重载。函数在C++编译...原创 2013-05-08 10:14:54 · 147 阅读 · 0 评论 -
AWK编程总结(1)
AWK综述awk 适合于文本处理和报表生成。1 .AWK调用调用awk有三种方法(与sed类似):1)在Shell命令行输入命令调用awk:awk [-F 域分隔符] ‘awk程序段’输入文件2)将awk程序段插入脚本文件后,然后通过awk命令调用它:awk -f awk脚本文件输入文件【脚本文件的首行不以#!/bin/awk –f开头】3)将awk命令插入脚本文件后,...原创 2013-05-08 14:14:16 · 92 阅读 · 0 评论 -
AWK编程总结(2)
1.6 awk关系、布尔运算符、表达式AWK的大部分运算符及其意义与C/C++、Java、Linux等相似,如:< 小于> 大于<= 小于等于>= 大于等于== 等于!= 不等于|| 逻辑或&& 逻辑与! 逻辑非+ 加- 减* 乘/ 除% 模^或** 乘方++x 在返回x值之前,x变量加1...原创 2013-05-08 17:32:17 · 90 阅读 · 0 评论 -
高性能编程之高效SQL(1)
高性能编程之高效SQLSQL 语言是一种强大而且灵活的语言。SQL的广泛适用性,以至于搞财务的MM都能写一个简单的查询用户资料的SQL语句。但不同的用户可以写出很多不同的 SQL 语句来获取相同的结果。亦即:语法 (syntactical) 不同的 SQL 语句,有可能在语义 (semantical) 上是完全相同的。但是尽管这些 SQL 语句最后都能返回同样的查询结果,它们在 DB2...原创 2013-05-09 14:33:43 · 87 阅读 · 0 评论 -
高性能编程之高效SQL(2)
4. 常用优化方法 4.1 选择最有效率的表名顺序(只在基于规则的优化器中有效)ORACLE的解析器按照从右到左的顺序处理FROM子句中的表名,因此FROM子句中写在最后的表(基础表 driving table)将被最先处理. 在FROM子句中包含多个表的情况下,你必须选择记录条数最少的表作为基础表..当ORACLE处理多个表时, 会运用排序及合并的方式连接它们.首先,扫描第一个...原创 2013-05-09 14:42:41 · 66 阅读 · 0 评论 -
数字之美
数字之美 读完《数字之美》一书,让我不由由衷地感叹数学模型之妙。想我还是数学专业出身,历经课程学习、数学建模竞赛、考研、求职季笔试,如人搜考了很多离散数学等,却从未想过这些数学知识在互联网的应用场景。读此书有茅塞顿开的酣畅淋漓之感。 本书笔记摘录如下: 统计语言模型 事实证明,统计语言模型比任何已知的借助某种规则的解决方法都有效。用贝叶斯公式(Google 的中英文自动翻...原创 2013-06-03 08:28:52 · 220 阅读 · 0 评论 -
Android ImageView :Missing contentDescription attribute on image
ADT 16.0 在定义一个ImageVIew的时候 总是提示这个[Accessibility] Missing contentDescription attribute on image警告,虽说可以不理 但总是感觉怪怪的,在网上一搜 发现原来这是ADT 16.0的新特性,在一些没有文本显示的控件里,如imageView和imageButton等,ADT会提示你定义一个android:cont...原创 2013-11-06 13:32:51 · 108 阅读 · 0 评论 -
安卓调试常见问题总结
1.AVD问题 配置AVD点击start,长时间不见手机页面弹出的原因:(1)内存溢出,可将该AVD的内存、SD卡等设置调小,不同的设备类型默认的大小不同,如有的默认1024M,往往导致Eclipse宕机(2)设备类型问题:根本原因还是(1)中的问题 2.连真机调试(1)需调节eclipse.init启动的内存参数适当调大,不然容易内存溢出。但也不能太大,太大如1024...原创 2013-11-06 13:33:58 · 116 阅读 · 0 评论 -
Android学习笔记之6开发基本步骤
Android开发基本步骤进入编码前,需要整理好开发步骤:项目有哪些功能;需要哪些必须的界面剂界面之间的跳转;需要的数据集格式、类型;是否需要服务器支持;是否需要本地数据库支持;是否需要特殊权限;是否需要后台进程。 开发流程:界面UI设计是第一步;设计数据存储策略;设计多页面跳转;增加service;完善应用细节。 ...原创 2013-11-11 10:02:41 · 79 阅读 · 0 评论 -
Android学习笔记之7Intent和Broadcast
Intent和Broadcast11.1IntentIntent是一次即将执行操作的抽象描述。实现策略有3种:通过startActivity()启动Intent;通过Broadcast Intent将一个Intent发给任何对这个Intent感兴趣的BroadcastReceiver;通过startService(Intent)或bindService(Intent, Ser...原创 2013-11-11 10:04:12 · 113 阅读 · 0 评论 -
Android学习笔记之8Service
ServiceService自己不能运行,需要一个Activity或其他Context来调用,如Context.tartService()和Context.bindService()。 Service在onstart()或onCreate做耗时操作时,需要启动新的线程来实现。Service需要在AndroidManifest.xml中通过如下声明:<service An...原创 2013-11-11 10:04:53 · 161 阅读 · 0 评论 -
Android学习笔记之9数据存储
数据存储典型的桌面OS的文件系统是公共文件系统——任何软件可以使用它来存储和读取文件,改文件也可以被其他应用程序所读取。Android提供了不同的文件系统,所有应用程序数据为该应用程序私有。当然也可以通过统一的借口提供给其他应用程序访问。 10.1SharedPreferences用于存储简单的配置信息,如欢迎语、用户名及密码,以键值对方式存储。初始化对象:Share...原创 2013-11-11 10:05:35 · 131 阅读 · 0 评论 -
Android学习笔记之10Toast
ToastDialog虽然可以提示用户,但会打断用户。还有一种不会打断用户的、轻量级提醒机制。System.currentImeMillis():得到系统现在的时间 Notification均由NotificationManager管理,需要参数图片ID、文本、显示的时间。构造好Notification后,由NotificationManager显示。每个Notification...原创 2013-11-11 10:06:16 · 151 阅读 · 0 评论 -
Android实现局部图片滑动指引效果
局部的图片滑动指引效果。这种效果一般是在新闻客户端上比较常见,其功能是: 1、顶部单张图片左右拖拉滑动; 2、带指引; 3、仅滑动顶部单张图片,不滑动页面,下面的图文内容不动; 4、类似于新闻客户端的功能 为了大家能更好的理解,我们先来看下要实现的效果图: 以上便是实现的效果图,其实实现原理也并不难,我们只需要将a...原创 2013-11-13 13:29:38 · 123 阅读 · 0 评论 -
Android实现导航菜单左右滑动效果
介绍在Android中实现顶部导航菜单左右滑动效果的二种解决方案。 第一种解决方案: android-support-v4.jar来实现菜单左右滑动效果,关于这个包的信息,不再详述,大家可以查看官方文档。 实现原理是使用android-support-v4.jar包中ViewPager控件,在ViewPager控件中设置流布局,再在流布局中设置几项TextView,给每一个T...原创 2013-11-13 13:47:22 · 106 阅读 · 0 评论 -
Android实现左右滑动指引效果
么什么是指引效果呢?现在的应用为了有更好的用户体验,一般会在应用开始显示一些指引帮助页面,使用户能更好的理解应用的功能,甚至是一些新闻阅读器会把一些头条新闻以指引效果的形式显示。说个最基本的,就是我们的手机主屏幕就是这种效果。 下面我们就开始实现我们的左右滑动指引效果。为了大家更好的理解,我们先看下实现效果,如下图所示: 在这里,我们需...原创 2013-11-13 13:49:20 · 89 阅读 · 0 评论 -
Android调试常见问题新总结
R.java was modified manually! Reverting to generated version! 进入 eclipse后,菜单 --> Project --> clean,这样的操作就相当于把R文件删了,然后再自动生成R文件。如果没有自动生成R文件,那么就是程序中有错误,一般情况下是命名问题。我遇到的情况是:(1)layout文件夹中,不同的 xml...原创 2013-11-15 13:46:13 · 99 阅读 · 0 评论 -
GIT版本管理
1.关于版本控制版本控制是一种记录若干文件内容变化,以便将来查阅特定版本修订情况的系统 采用版本控制系统(VCS)是个明智的选择。有了它你就可以将某个文件回溯到之前的状态,甚至将整个项目都回退到过去某个时间点的状态。你可以比较文件的变化细节,查出是谁最后修改了什么地方从而造成某些怪异问题,又是谁在何时报告了某个功能缺陷,等等。使用版本控制系统通常还意味着,就算你胡来搞砸了...原创 2013-11-17 13:28:04 · 78 阅读 · 0 评论 -
Git简介
2.Git 自诞生于2005 年以来,Git 日臻成熟完善,在高度易用的同时,仍然保留着初期设定的目标。它的速度飞快,极其适合管理大项目,它还有着令人难以置信的非线性分支管理系统(见第三章),可以应付各种复杂的项目开发需求。 直接快照,而非比较差异Git 和其他版本控制系统的主要差别在于,Git 只关心文件数据的整体是否发生变化,而大多数其他系统则只关心文件内容的具体...原创 2013-11-17 13:29:24 · 60 阅读 · 0 评论 -
Git 基础
Git 基础 取得项目的Git 仓库有两种取得Git 项目仓库的方法。第一种是在现存的目录下,通过导入所有文件来创建新的Git 仓库。第二种是从已有的Git 仓库克隆出一个新的镜像仓库来。 从当前目录初始化要对现有的某个项目开始用Git 管理,只需到此项目所在的目录,执行:$ git init初始化后,在当前目录下会出现一个名为.git 的目录,所有Git 需...原创 2013-11-17 13:30:52 · 68 阅读 · 0 评论 -
Git 分支
Git 分支几乎每一种版本控制系统都以某种形式支持分支。使用分支意味着你可以从开发主线上分离开来,然后在不影响主线的同时继续工作。在很多版本控制系统中,这是个昂贵的过程,常常需要创建一个源代码目录的完整副本,对大型项目来说会花费很长时间。有人把Git 的分支模型称为“必杀技特性”,而正是因为它,将Git 从版本控制系统家族里区分出来。Git 有何特别之处呢?Git 的分支可谓...原创 2013-11-19 09:51:07 · 96 阅读 · 0 评论 -
Git使用协议总结
服务器上的Git建立一个大家都可以访问的共享仓库,从那里推送和拉取数据。我们将把这个仓库称为“Git 服务器”;代理一个Git 仓库只需要花费很少的资源,几乎从不需要整个服务器来支持它的运行。架设一个Git 服务器不难。第一步是选择与服务器通讯的协议。远程仓库通常只是一个纯仓库(bare repository) ——一个没有当前工作目录的仓库。因为该仓库只是一个合作媒介,所以不需要从...原创 2013-11-19 09:52:13 · 84 阅读 · 0 评论