- jvm监控工具一览
Daniel 大东
jvm
下面是对BTrace、JAD、JMAP、JSTAT、JSTACK、JINFO以及MARK工具的比较表:工具/属性功能适用场景使用难度是否侵入式是否需要重启JVMBTrace动态跟踪和监控Java应用程序性能分析、故障排查、日志收集、安全监控中等无侵入式否JAD反编译Java字节码文件(.class)查看Java代码,尤其是源代码丢失时低无侵入式否JMAP导出堆内存快照、显示内存使用统计分析内存泄漏
- Java技术专题-Java Agent探针的技术介绍(1)
洛神灬殇
前提概要Java调式、热部署、JVM背后的支持者JavaAgent:各个JavaIDE的调试功能,例如eclipse、IntelliJ;热部署功能,例如JRebel、XRebel、spring-loaded;各种线上诊断工具,例如Btrace、Greys,还有阿里的Arthas;各种性能分析工具,例如VisualVM、JConsole等;Agent的介绍JavaAgent直译过来叫做Java代理,
- BTrace的使用
谁说咖啡不苦
简介BTrace可以动态地向目标应用程序的字节码注入追踪代码所依赖的技术:JavaComplierApi、JVMTI、Agent、Instrumentation+ASMBTrace安装新建环境变量:BTRACE_HOME,下载Release来使用。简单的使用packagecom.songshuang.btrace;importcom.sun.btrace.annotations.*;importc
- jvm-sandbox分享
Benett-Chen
Java虚拟机
引子相信大家都遇到过这种场景,线上出故障了,但是关键代码里面忘记打日志了,导致无法复现和准确定位问题。这时候可能需要重写加上日志,部署到服务器,但这第一耗时间,第二可能破坏现场,比如可能是线程池的问题呢?所以如果可以不重启服务器,就可以给代码加上日志,是多么棒的一件事呀。那能不能实现,ofcourse。如何手动实现当然市面上有很多工具可以实现热部署,比如btrace,jvm-sandbox等。那如
- Btrace使用
SparkOnly
btrace是一个java平台上使用的动态追踪工具btrace工具下载github的地址为:https://github.com/btraceio/btrace/tree/master下载地址为:https://github.com/btraceio/btrace/releases这里记录下我对btrace的使用示例代码编写新建maven工程其中配置文件如下:4.0.0cn.yebtrace1.0
- Java Agent
小白龙ProMonkey
javajvm开发语言
摘要JavaAgent就是Java探针,是一个JVM插件,常用于代码热更新,AOP,JVM监控等功能。这个技术对大多数的同学来说可能有点陌生,但是对Java软件开发人员来说肯定都多多少少接触过,只是相对其原理,我们更多的关注在以它为核心的工具使用上。例如常见的热部署(JRebel,spring-loaded)、各种线上诊断工具(btrace,阿里的Arthas)、代码覆盖率工具(JaCoCo),如
- Btrace入门
程序员青菜学厨艺
Java技术java
一、前言今天收到客户报的一个Bug,登录系统查看发现没有相关日志输出,方法中相关的请求参数及变量都没有打印出来,给排查问题造成很大不便,我们知道解决Java系统疑难杂症有两大利器,其一是tcpdump用于网络抓包分析、其二是Btrace用于动态跟踪Java代码,tcpdump在前面一些文章有介绍它的简单使用(用抓包工具分析HTTPS报文)、Btrace其实我也没有实际用过,但因为第一次听说是在20
- 重要升级!btrace 2.0 技术原理大揭秘
字节跳动技术团队
动手点关注干货不迷路项目GitHub地址:https://github.com/bytedance/btrace背景介绍在一年多前,我们对外正式开源了btrace(AKARheaTrace),它是基于Systrace的高性能Trace工具,目前字节跳动已经有接近10+产品团队使用btrace做日常性能优化工作。在这一年期间,我们收到很多社区以及公司内部反馈,包括使用体验、性能体验、监控数据等上都
- Java笔记:BTrace-Java线上异常排查
zui初的梦想
java笔记开发语言
BTrace是什么BTrace是检查和解决线上的问题的杀器,BTrace可以通过编写脚本的方式,获取程序执行过程中的一切信息,并且,注意了,不用重启服务,是的,不用重启服务。写好脚本,直接用命令执行即可,不用动原程序的代码。原理总体来说,BTrace是基于动态字节码修改技术(Hotswap)来实现运行时java程序的跟踪和替换。大体的原理可以用下面的公式描述:Client(Javacompilea
- Btrace那些事
张兆坤的那些事
Javauser
BTrace系列之一:简介BTrace系列之二:简单示例BTrace系列之三:实际案例分析BTrace使用简介BTraceUser'sGuide
- 在IDE开发工具中(idea、eclipse等)配置BTrace的编码环境
重色思倾国
BTrace是基于动态字节码修改技术(Hotswap)实现java实时性能分析与动态监控。看到网上有人问如何在IDE(如IDEA、eclipse等)中编码BTrace实现自动提示的功能。以IDEA为例(其他IDE工具同理),要实现相关提示自然就需要有相应的库文件支持。要么来自IDEA自带的库,要么来自第三方,在编写BTrace源码时,既然没有提示,肯定需要自己手动引入BTrace相关jar包。1.
- 在线Profiling技术之Btrace
CleverApe
线上问题偶尔发生,最让人苦恼的是,在问题追踪过程中,有些关键位置没有打log,无法进一步确定问题原因。重新加日志发布项目?当然可以,但显然线上运行服务,大部分情况下,是不允许这样做的。为了解决这种问题,Btrace应运而生。查了不少Btrace资料,本人也亲自实践了一下,总结出一些遇到的坑和解决方法。Btrace使用有两种方法1.工程引入maven依赖com.sun.tools.btracebtr
- Java性能调优及问题追踪--Btrace的使用
老兵一枚
原文地址:https://www.cnblogs.com/rwxwsblog/p/6248210.html生产环境中经常遇到格式各样的问题,如OOM或者莫名其妙的进程死掉。一般情况下是通过修改程序,添加打印日志;然后重新发布程序来完成。然而,这不仅麻烦,而且带来很多不可控的因素。有没有一种方式,在不修改原有运行程序的情况下获取运行时的数据信息呢?如方法参数、返回值、全局变量、堆栈信息等。Btrac
- 从底层入手,解析字节码增强和Btrace应用
邴越
这篇文章聊下字节码和相关的应用。1、机器码和字节码机器码(machinecode),学名机器语言指令,有时也被称为原生码(NativeCode),是电脑的CPU可直接解读的数据。通常意义上来理解的话,机器码就是计算机可以直接执行,并且执行速度最快的代码。用机器语言编写程序,编程人员要首先熟记所用计算机的全部指令代码和代码的涵义。手编程序时,程序员得自己处理每条指令和每一数据的存储分配和输入输出,还
- Java动态追踪之BTrace【0】:官方Wiki译文与译注
IconExp
无关紧要的译序:几个月前,在网上翻到了章亦春巨巨关于动态追踪技术的博文,被Dtrace这个工具吸引了。特别是可以通过它在对目标程序运行影响很小的情况下,生成目标程序运行的火焰图这一点。而无奈最近几个月的工作占据了我从十点睁开眼到凌晨闭眼睡觉的所有时间,抽不出时间来研究下这个东西。意识到这个工作状态会一直持续下去,所以辞职了。这几天就好好把这个东西搞一下。Dtrace工具使用的主要场合是,使用D语言
- 【Java综合专栏】「引领序幕」全链路追踪原理之Java Agent探针的技术介绍(上篇)
洛神灬殇
深入浅出JVM原理及调优深入浅出Java原理及实战javajvm开发语言
前提概要Java调式、热部署、JVM背后的支持者JavaAgent:各个JavaIDE的调试功能,例如eclipse、IntelliJ;热部署功能,例如JRebel、XRebel、spring-loaded;各种线上诊断工具,例如Btrace、Greys,还有阿里的Arthas;各种性能分析工具,例如VisualVM、JConsole等;Agent的介绍JavaAgent直译过来叫做Java代理,
- 使用arthas进行线上java应用诊断
enilu
最近发现一个挺好用的工具:alibaba出的Arthas。这是一个java应用线上诊断工具。如果你之前用过Btrace,那么理解起来Arthas就不难。这两个都是java线上应用诊断工具。比如你想了解当前执行应用的内存占用,线程情况,具体参数值等信息,无需麻烦的打日志,上线就可以用上面的工具轻轻松松解决问题。之前也了解过Btrace,但是鉴于用起来太麻烦,一直不喜欢用。这次发现了Arthas,用起
- 阿里诊断工具arthas的使用
我叫小八
java
引言它是阿里开源的Java诊断工具,进一步简化了动态追踪技术,有了它,可以直接查看类加载信息、JVM信息、线程堆栈信息、追踪方法执行情况,反编译类文件等,基本涵盖了前面提到的java命令行工具的功能和BTrace的功能。无需太多额外工作,只需熟悉Arthas提供的命令即可,很方便。其实Arthas底层跟BTrace一样,是基于jvmAgent方式,使用Instrumentation方式修改字节码方
- java常用性能监控或调试工具一览
重色思倾国
1.MAT主要针对堆内存分析2.jmapdmup出堆内存快照3.jstackdump出线程快照4.visualVM/Jconsole一站式分析平台(可插件拓展)5.BTrace依赖动态字节码实现动态监控6.SA(ServiceabilityAgent)/HSDB(对SA封装)基于快照分析jvm底层调用情况7.linux各种命令perf、iostat、mpstat、sar、vmstat、top、ne
- 第三章:基于BTrace的监控调试
秦仙云
本文主要参考慕课网若鱼老师课程Java生产环境下性能监控与调优详解请支持正版,抵制盗版,维护每一位辛苦付出的人的合法权益!本章关键词:BTrace、拦截、注意事项一、入门1.做什么的?可以在应用程序不重启,不修改的情况下,正在运行的情况下,动态的修改字节码,达到监控调试的目的可以动态的向目标应用程序的字节码注入追踪代码用到的技术JavaComplierApi、JVMTI、Agent、Instrum
- 利用神器BTrace 追踪线上 Spring Boot应用运行时信息
java菜
在现实业务中,Kafka经常会遇到的一个集成场景就是,从数据库获取数据,因为关系数据库是一个非常丰富的事件源。数据库中的现有数据以及对该数据的任何更改都可以流式传输到Kafka主题中,在这里这些事件可用于驱动应用,也可以流式传输到其它数据存储(比如搜索引擎或者缓存)用于分析等。实现这个需求有很多种做法,但是在本文中,会聚焦其中的一个解决方案,即Kafka连接器中的JDBC连接器,讲述如何进行配置,
- JVM沙箱容器,一种JVM的非侵入式运行期AOP解决方案
JAVA高级
目标群体BTRACE好强大,也曾技痒想做一个更便捷、更适合自己的问题定位工具,既可支持线上链路监控排查,也可支持单机版问题定位。有时候突然一个问题反馈上来,需要入参才能完成定位,但恰恰没有任何日志,甚至出现在别人的代码里,好想开发一个工具可以根据需要动态添加日志,最好还能按照业务ID进行过滤。系统间的异常模拟可以使用的工具很多,可是系统内的异常模拟怎么办,加开关或是用AOP在开发系统中实现,好想开
- 04.BTrace 监控与调试
心释逍遥lx
Jvm与调优imoocJVMMarkdownBTrace可以动态地向目标应用程序的字节码注入追踪代码BTrace只能本地执行,不支持远程BTrace可以在生产环境下使用,但是被修改的字节码不会被还原JavaComplierApi、JVMTI、Agent、Instrucmentation+ASMBTrace安装下载BTrace:https://github.com/btraceio/btrace新建
- BTrace 初探
一个喜欢折腾的健身爱好者
BTrace是一款java诊断工具.今天使用的时候碰到几个坑,先记录一下.下载下来以后直接运行报错root@iZ2ze89756yjbvq7le6obdZ:~/btrace-bin-1.3.11/bin#./btrace6582/root/testBtrace.javaExceptioninthread"main"java.lang.NoClassDefFoundError:com/sun/sou
- 线上调试debug神器 Arthas(阿尔萨斯) 简单介绍&教程
洪韭菜
Tool
今天我们来看一大利器:arthas(阿尔萨斯)arthas官网地址:https://alibaba.github.io/arthas/arthas的文档真的写得非常棒,可以说一看就会。但是我还是想写一下一些自己的文档,毕竟我们往往只会用到其中皮毛功能而已。翻阅其所有文档也还是有点浪费了!返回顶部一、为什么要用Arthas?其实,这个问题在前面已回答,而且,你为什么要用btrace?同理!具体理由如
- Btrace线上跟踪Java程序问题点
十五倍压枪
背景:线上服务接口在大量调用中出现相同的参数却有时会超时返回空结果现象,本地测试无法顺利重现该现象,初步怀疑是httpclient连接耗尽导致无法获得新连接从而直接超时返回。但是无法从日志中做出判断,因为日志没有任何报错信息只有查询耗时达到超时时间。方案:1.调整参数试图本地还原出线上出现的场景。2.使用Btrace编写脚本在线调试/*https://www.cnblogs.com/zengkef
- btrace 开源!基于 Systrace 高性能 Trace 工具
字节跳动技术团队
pythonjavaandroidlinux数据库
介绍btrace(又名RheaTrace)是抖音基础技术团队自研的一款高性能AndroidTrace工具,它基于Systrace实现,并针对Systrace不足之处加以改进,核心改进点如下。效率提升:编译期间为App方法自动注入自定义事件,并提供高效、灵活配置规则。性能提升:改进Systrace文件实时写atrace数据方式,性能提升最大400%以上。实用性提升:额外提供更详细IO等数据,大幅提升
- [原]btrace 开源!基于 Systrace 高性能 Trace 工具
ByteDanceTech
介绍btrace(又名RheaTrace)是抖音基础技术团队自研的一款高性能AndroidTrace工具,它基于Systrace实现,并针对Systrace不足之处加以改进,核心改进点如下。效率提升:编译期间为App方法自动注入自定义事件,并提供高效、灵活配置规则。性能提升:改进Systrace文件实时写atrace数据方式,性能提升最大400%以上。实用性提升:额外提供更详细IO等数据,大幅提升
- Java问题排查
星城天空
GC日志:在线分析:GCEasy:https://gceasy.io/分析工具:GCPlot,GCViewer线程Dump:在线分析FastThread:https://fastthread.io/分析工具:TDA堆Dump:在线分析:HeapHero:https://heaphero.io/分析工具:MATBTrace系:btrace:https://github.com/btraceio/bt
- BTrace使用小结
lfckop
简介BTrace是一个安全的JVM动态追踪工具,最初为原Sun公司Kenai项目下面的一个子项目。典型的使用场景是,“我要查个问题,可那个方法没有打印入口参数和返回结果日志”,“我想看某个方法的执行耗时”,“我想查看某方法如System.GC()的调用栈”等等,这些都是BTrace可以小试牛刀的地方。它的优势是,直接attach应用JVM,不用重启应用进程,可比较快速方便地定位问题。不错的教程如果
- 开发者关心的那些事
圣子足道
ios游戏编程apple支付
我要在app里添加IAP,必须要注册自己的产品标识符(product identifiers)。产品标识符是什么?
产品标识符(Product Identifiers)是一串字符串,它用来识别你在应用内贩卖的每件商品。App Store用产品标识符来检索产品信息,标识符只能包含大小写字母(A-Z)、数字(0-9)、下划线(-)、以及圆点(.)。你可以任意排列这些元素,但我们建议你创建标识符时使用
- 负载均衡器技术Nginx和F5的优缺点对比
bijian1013
nginxF5
对于数据流量过大的网络中,往往单一设备无法承担,需要多台设备进行数据分流,而负载均衡器就是用来将数据分流到多台设备的一个转发器。
目前有许多不同的负载均衡技术用以满足不同的应用需求,如软/硬件负载均衡、本地/全局负载均衡、更高
- LeetCode[Math] - #9 Palindrome Number
Cwind
javaAlgorithm题解LeetCodeMath
原题链接:#9 Palindrome Number
要求:
判断一个整数是否是回文数,不要使用额外的存储空间
难度:简单
分析:
题目限制不允许使用额外的存储空间应指不允许使用O(n)的内存空间,O(1)的内存用于存储中间结果是可以接受的。于是考虑将该整型数反转,然后与原数字进行比较。
注:没有看到有关负数是否可以是回文数的明确结论,例如
- 画图板的基本实现
15700786134
画图板
要实现画图板的基本功能,除了在qq登陆界面中用到的组件和方法外,还需要添加鼠标监听器,和接口实现。
首先,需要显示一个JFrame界面:
public class DrameFrame extends JFrame { //显示
- linux的ps命令
被触发
linux
Linux中的ps命令是Process Status的缩写。ps命令用来列出系统中当前运行的那些进程。ps命令列出的是当前那些进程的快照,就是执行ps命令的那个时刻的那些进程,如果想要动态的显示进程信息,就可以使用top命令。
要对进程进行监测和控制,首先必须要了解当前进程的情况,也就是需要查看当前进程,而 ps 命令就是最基本同时也是非常强大的进程查看命令。使用该命令可以确定有哪些进程正在运行
- Android 音乐播放器 下一曲 连续跳几首歌
肆无忌惮_
android
最近在写安卓音乐播放器的时候遇到个问题。在MediaPlayer播放结束时会回调
player.setOnCompletionListener(new OnCompletionListener() {
@Override
public void onCompletion(MediaPlayer mp) {
mp.reset();
Log.i("H
- java导出txt文件的例子
知了ing
javaservlet
代码很简单就一个servlet,如下:
package com.eastcom.servlet;
import java.io.BufferedOutputStream;
import java.io.IOException;
import java.net.URLEncoder;
import java.sql.Connection;
import java.sql.Resu
- Scala stack试玩, 提高第三方依赖下载速度
矮蛋蛋
scalasbt
原文地址:
http://segmentfault.com/a/1190000002894524
sbt下载速度实在是惨不忍睹, 需要做些配置优化
下载typesafe离线包, 保存为ivy本地库
wget http://downloads.typesafe.com/typesafe-activator/1.3.4/typesafe-activator-1.3.4.zip
解压r
- phantomjs安装(linux,附带环境变量设置) ,以及casperjs安装。
alleni123
linuxspider
1. 首先从官网
http://phantomjs.org/下载phantomjs压缩包,解压缩到/root/phantomjs文件夹。
2. 安装依赖
sudo yum install fontconfig freetype libfreetype.so.6 libfontconfig.so.1 libstdc++.so.6
3. 配置环境变量
vi /etc/profil
- JAVA IO FileInputStream和FileOutputStream,字节流的打包输出
百合不是茶
java核心思想JAVA IO操作字节流
在程序设计语言中,数据的保存是基本,如果某程序语言不能保存数据那么该语言是不可能存在的,JAVA是当今最流行的面向对象设计语言之一,在保存数据中也有自己独特的一面,字节流和字符流
1,字节流是由字节构成的,字符流是由字符构成的 字节流和字符流都是继承的InputStream和OutPutStream ,java中两种最基本的就是字节流和字符流
类 FileInputStream
- Spring基础实例(依赖注入和控制反转)
bijian1013
spring
前提条件:在http://www.springsource.org/download网站上下载Spring框架,并将spring.jar、log4j-1.2.15.jar、commons-logging.jar加载至工程1.武器接口
package com.bijian.spring.base3;
public interface Weapon {
void kil
- HR看重的十大技能
bijian1013
提升能力HR成长
一个人掌握何种技能取决于他的兴趣、能力和聪明程度,也取决于他所能支配的资源以及制定的事业目标,拥有过硬技能的人有更多的工作机会。但是,由于经济发展前景不确定,掌握对你的事业有所帮助的技能显得尤为重要。以下是最受雇主欢迎的十种技能。 一、解决问题的能力 每天,我们都要在生活和工作中解决一些综合性的问题。那些能够发现问题、解决问题并迅速作出有效决
- 【Thrift一】Thrift编译安装
bit1129
thrift
什么是Thrift
The Apache Thrift software framework, for scalable cross-language services development, combines a software stack with a code generation engine to build services that work efficiently and s
- 【Avro三】Hadoop MapReduce读写Avro文件
bit1129
mapreduce
Avro是Doug Cutting(此人绝对是神一般的存在)牵头开发的。 开发之初就是围绕着完善Hadoop生态系统的数据处理而开展的(使用Avro作为Hadoop MapReduce需要处理数据序列化和反序列化的场景),因此Hadoop MapReduce集成Avro也就是自然而然的事情。
这个例子是一个简单的Hadoop MapReduce读取Avro格式的源文件进行计数统计,然后将计算结果
- nginx定制500,502,503,504页面
ronin47
nginx 错误显示
server {
listen 80;
error_page 500/500.html;
error_page 502/502.html;
error_page 503/503.html;
error_page 504/504.html;
location /test {return502;}}
配置很简单,和配
- java-1.二叉查找树转为双向链表
bylijinnan
二叉查找树
import java.util.ArrayList;
import java.util.List;
public class BSTreeToLinkedList {
/*
把二元查找树转变成排序的双向链表
题目:
输入一棵二元查找树,将该二元查找树转换成一个排序的双向链表。
要求不能创建任何新的结点,只调整指针的指向。
10
/ \
6 14
/ \
- Netty源码学习-HTTP-tunnel
bylijinnan
javanetty
Netty关于HTTP tunnel的说明:
http://docs.jboss.org/netty/3.2/api/org/jboss/netty/channel/socket/http/package-summary.html#package_description
这个说明有点太简略了
一个完整的例子在这里:
https://github.com/bylijinnan
- JSONUtil.serialize(map)和JSON.toJSONString(map)的区别
coder_xpf
jqueryjsonmapval()
JSONUtil.serialize(map)和JSON.toJSONString(map)的区别
数据库查询出来的map有一个字段为空
通过System.out.println()输出 JSONUtil.serialize(map): {"one":"1","two":"nul
- Hibernate缓存总结
cuishikuan
开源sshjavawebhibernate缓存三大框架
一、为什么要用Hibernate缓存?
Hibernate是一个持久层框架,经常访问物理数据库。
为了降低应用程序对物理数据源访问的频次,从而提高应用程序的运行性能。
缓存内的数据是对物理数据源中的数据的复制,应用程序在运行时从缓存读写数据,在特定的时刻或事件会同步缓存和物理数据源的数据。
二、Hibernate缓存原理是怎样的?
Hibernate缓存包括两大类:Hib
- CentOs6
dalan_123
centos
首先su - 切换到root下面1、首先要先安装GCC GCC-C++ Openssl等以来模块:yum -y install make gcc gcc-c++ kernel-devel m4 ncurses-devel openssl-devel2、再安装ncurses模块yum -y install ncurses-develyum install ncurses-devel3、下载Erang
- 10款用 jquery 实现滚动条至页面底端自动加载数据效果
dcj3sjt126com
JavaScript
无限滚动自动翻页可以说是web2.0时代的一项堪称伟大的技术,它让我们在浏览页面的时候只需要把滚动条拉到网页底部就能自动显示下一页的结果,改变了一直以来只能通过点击下一页来翻页这种常规做法。
无限滚动自动翻页技术的鼻祖是微博的先驱:推特(twitter),后来必应图片搜索、谷歌图片搜索、google reader、箱包批发网等纷纷抄袭了这一项技术,于是靠滚动浏览器滚动条
- ImageButton去边框&Button或者ImageButton的背景透明
dcj3sjt126com
imagebutton
在ImageButton中载入图片后,很多人会觉得有图片周围的白边会影响到美观,其实解决这个问题有两种方法
一种方法是将ImageButton的背景改为所需要的图片。如:android:background="@drawable/XXX"
第二种方法就是将ImageButton背景改为透明,这个方法更常用
在XML里;
<ImageBut
- JSP之c:foreach
eksliang
jspforearch
原文出自:http://www.cnblogs.com/draem0507/archive/2012/09/24/2699745.html
<c:forEach>标签用于通用数据循环,它有以下属性 属 性 描 述 是否必须 缺省值 items 进行循环的项目 否 无 begin 开始条件 否 0 end 结束条件 否 集合中的最后一个项目 step 步长 否 1
- Android实现主动连接蓝牙耳机
gqdy365
android
在Android程序中可以实现自动扫描蓝牙、配对蓝牙、建立数据通道。蓝牙分不同类型,这篇文字只讨论如何与蓝牙耳机连接。
大致可以分三步:
一、扫描蓝牙设备:
1、注册并监听广播:
BluetoothAdapter.ACTION_DISCOVERY_STARTED
BluetoothDevice.ACTION_FOUND
BluetoothAdapter.ACTION_DIS
- android学习轨迹之四:org.json.JSONException: No value for
hyz301
json
org.json.JSONException: No value for items
在JSON解析中会遇到一种错误,很常见的错误
06-21 12:19:08.714 2098-2127/com.jikexueyuan.secret I/System.out﹕ Result:{"status":1,"page":1,&
- 干货分享:从零开始学编程 系列汇总
justjavac
编程
程序员总爱重新发明轮子,于是做了要给轮子汇总。
从零开始写个编译器吧系列 (知乎专栏)
从零开始写一个简单的操作系统 (伯乐在线)
从零开始写JavaScript框架 (图灵社区)
从零开始写jQuery框架 (蓝色理想 )
从零开始nodejs系列文章 (粉丝日志)
从零开始编写网络游戏 
- jquery-autocomplete 使用手册
macroli
jqueryAjax脚本
jquery-autocomplete学习
一、用前必备
官方网站:http://bassistance.de/jquery-plugins/jquery-plugin-autocomplete/
当前版本:1.1
需要JQuery版本:1.2.6
二、使用
<script src="./jquery-1.3.2.js" type="text/ja
- PLSQL-Developer或者Navicat等工具连接远程oracle数据库的详细配置以及数据库编码的修改
超声波
oracleplsql
在服务器上将Oracle安装好之后接下来要做的就是通过本地机器来远程连接服务器端的oracle数据库,常用的客户端连接工具就是PLSQL-Developer或者Navicat这些工具了。刚开始也是各种报错,什么TNS:no listener;TNS:lost connection;TNS:target hosts...花了一天的时间终于让PLSQL-Developer和Navicat等这些客户
- 数据仓库数据模型之:极限存储--历史拉链表
superlxw1234
极限存储数据仓库数据模型拉链历史表
在数据仓库的数据模型设计过程中,经常会遇到这样的需求:
1. 数据量比较大; 2. 表中的部分字段会被update,如用户的地址,产品的描述信息,订单的状态等等; 3. 需要查看某一个时间点或者时间段的历史快照信息,比如,查看某一个订单在历史某一个时间点的状态, 比如,查看某一个用户在过去某一段时间内,更新过几次等等; 4. 变化的比例和频率不是很大,比如,总共有10
- 10点睛Spring MVC4.1-全局异常处理
wiselyman
spring mvc
10.1 全局异常处理
使用@ControllerAdvice注解来实现全局异常处理;
使用@ControllerAdvice的属性缩小处理范围
10.2 演示
演示控制器
package com.wisely.web;
import org.springframework.stereotype.Controller;
import org.spring