- 博客(14)
- 资源 (7)
- 收藏
- 关注
原创 Windows下,通过Jstack截取Java进程中的堆栈信息
在Java软件的使用过程中,有时会莫名的出现奇怪的问题。而这些问题常常无法使用日志信息定位,这时我们就需要通过查看进程内部线程的堆栈调用关系来分析问题出在哪里。 举个例子,当我们在做某个操作时,莫名的会弹出多个警告框,其中有些信息是正常的,有些则不是。对于这些错误的警告信息,我们该如何定位是哪个位置的代码出现了错误弹出的框呢? 我们就需要在弹框以后,去查看软件的各个线程,去查找究竟是哪个线程导致...
2018-03-23 15:05:37 2273 1
原创 MySQL中四种常用存储引擎
MySQL常用的四种引擎的介绍(1):MyISAM存储引擎:不支持事务、也不支持外键,优势是访问速度快,对事务完整性没有 要求或者以select,insert为主的应用基本上可以用这个引擎来创建表支持3种不同的存储格式,分别是:静态表;动态表;压缩表静态表:表中的字段都是非变长字段,这样每个记录都是固定长度的,优点存储非常迅速,容易缓存,出现故障容易恢复;缺点是占用的空间通常比动态表多(因为存储时...
2018-03-20 17:49:09 278 1
原创 Mysql索引实现原理及相关优化策略
数据库索引数据库索引是什么?A database index is a data structure that improves the speed of data retrieval operations on a database table at the cost of additional writes and storage space to maintain the index dat...
2018-03-13 15:03:54 374
原创 Oracle存储过程及函数的练习题
--存储过程、函数练习题 --(1)创建一个存储过程,以员工号为参数,输出该员工的工资 create or replace procedure p_sxt1(v_empno in emp.empno%type, v_sal out emp.sal%type) is begin select sal into v_sal from emp where empno = v_empno;...
2018-03-06 16:32:19 4262
原创 RPC实例Apache Thrift 下篇(2)
3、正式开始编码我已经在CSDN的资源区上传了这个示例工程的所有代码(http://download.csdn.net/download/wanbf123/10266929)。读者可以直接到资源下载站进行下载(不收积分哦~~^_^)。这篇文章将紧接上文,主要介绍这个工程几个主要的类代码。3-1、编写服务端主程序服务端主程序的类名:processor.MainProcessor,它负责在服务端启动A...
2018-03-02 17:11:08 197
原创 RPC实例Apache Thrift 下篇(1)
1、服务治理通过前面两篇文章的介绍,相信读者已经可以将Apache Thrift应用到实际工作中,并且理解了为什么Apache Thrift的性能要比大多数RPC框架优秀。但如果您使用过Apache thrift,那么相信您会发现它的一些不足(或者说是所有单纯的RPC框架的不足):由于Apache Thrift使用IDL定义RCP 调用接口,实现跨语言性。那么一旦当业务发生变化后,是否要重新编写I...
2018-03-02 17:06:02 163
原创 RPC实例Apache Thrift 中篇
3-1、Aapche Thrift与消息格式Apache Thrift支持多种消息格式封装。这些消息格式是如果进行编码和解码的是不需要使用者关心的,只需要根据自己的需要制定不同的消息封装格式即可。Apache Thrift所有消息格式封装的实现,都继承与TProtocol这个抽象类,如下图所示:3-1-1、TBinaryProtocol二进制流的编码格式。由于需要支持跨语言,所以Apache Th...
2018-03-02 17:05:06 196
原创 RPC实例Apache Thrift 上篇
1、概述通过上一篇文章RPC的基本概念的介绍,相信读者已经理解了基本的RPC概念。为了加深这个理解,后面几篇文章我将详细讲解一款典型的RPC规范的实现Apache Thrift。Apache Thrift的介绍一共分为三篇文章,上篇讲解Apache Thrift的基本使用;中篇讲解Apache Thrift的工作原理(主要围绕Apache Thrift使用的消息格式封装、支持的网络IO模型和它的客...
2018-03-02 17:03:27 244
原创 RPC的基本概念
1、概述经过了详细的信息格式、网络IO模型的讲解,并且通过JAVA RMI的讲解进行了预热。从这篇文章开始我们将进入这个系列博文的另一个重点知识体系的讲解:RPC。在后续的几篇文章中,我们首先讲解RPC的基本概念,一个具体的RPC实现会有哪些基本要素构成,然后我们详细介绍一款典型的RPC框架:Apache Thrift。接下来我们聊聊服务治理和DUBBO服务框架。最后总结一下如何在实际工作中选择合...
2018-03-02 17:01:08 482
原创 八张图表示八大排序算法
算法一:插入排序插入排序示意图插入排序是一种最简单直观的排序算法,它的工作原理是通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插入。算法二:希尔排序希尔排序示意图希尔排序,也称递减增量排序算法,是插入排序的一种更高效的改进版本。但希尔排序是非稳定排序算法。希尔排序是基于插入排序的以下两点性质而提出改进方法的:插入排序在对几乎已经排好序的数据操作时, 效率高, 即可以达...
2018-03-02 15:30:30 1613
原创 八大排序算法 之 堆排序
例如数组 a={19,3,60,7,1,15,33,24,45,32,79,85};排序思想:1,堆排序也是选择排序的一种,根据堆得特性,每次把最大或最小值(本次以最大值为例)拿出来,按序排列;2,堆排序是对普通选择排序的一种优化:如果是一个稳定堆,每次在选择最大值时,只用沿着二叉树其中一个分叉去交换即可,其他分叉符合堆得特性(因是排好的稳定堆),可以看作是稳定的,不用重排交换,省去了绝大多数的比...
2018-03-02 14:46:45 391
原创 Java 8实现Base64编解码
Java一直缺少BASE64编码 API,以至于通常在项目开发中会选用第三方的API实现。但是,Java 8实现了BASE64编解码API,它包含到java.util包。下面我会对Java 8的BASE64 API做一个介绍。java.util.Base64工具类提供了一套静态方法获取下面三种BASE64编解码器:1)Basic编码2)URL编码3)MIME编码Basic编码是标准的BASE64编...
2018-03-02 14:17:23 1895
原创 Apache HttpClient 4.3开发手册
一、概述Apache HttpClient 4系列已经发布很久了,但由于它与HttpClient 3.x版本完全不兼容,以至于业内采用此库的公司较少,在互联网上也少有相关的文档资料分享。本文旨在写一个简要的Apache HttpClient 4.3开发指南,帮助开发者快速上手Apache HttpClient 4.3.x库。要注意的是,本文档中的代码在低于HttpClient 4.3版本的地方可能...
2018-03-02 14:13:50 3024 1
原创 jackson2.x与Jackson1.x的比较
jackson可以轻松的将Java对象转换成json对象和xml文档,同样也可以将json、xml转换成Java对象。Jackson库于2012.10.8号发布了最新的2.1版。Jackson源码目前托管于GitHub,地址:https://github.com/FasterXML/一、Jackson 2.x介绍Jackson 2.x版提供了三个JAR包供下载:1. Core库:streaming...
2018-03-02 12:23:56 1672
pdf转换器破解版
2017-09-18
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人