上一页 1 ··· 60 61 62 63 64 65 66 67 68 ··· 91 下一页
  2014年5月14日
摘要: 引导一个应用程序是指对它进行配置,并使它运行起来的过程。 一、Bootstrap 类 引导类的层次结构包括一个抽象的父类和两个具体的引导子类,如图 8-1 所示 服务器致力于使用一个父 Channel 来接受来自客户端的连接,并创建子 Channel 以用于它们之间的通信; 而客户端将最可能只需要一 阅读全文
posted @ 2014-05-14 21:23 duanxz 阅读(715) 评论(0) 推荐(0)
摘要: 一、Bootstrap Bootstrap 是 Netty 提供的一个便利的工厂类, 我们可以通过它来完成 Netty 的客户端或服务器端的 Netty 初始化.下面我以 Netty 源码例子中的 Echo 服务器作为例子, 从客户端和服务器端分别分析一下Netty 的程序是如何启动的. 客户端部分 阅读全文
posted @ 2014-05-14 21:22 duanxz 阅读(583) 评论(0) 推荐(0)
摘要: 目录: 《syslog之一:Linux syslog日志系统详解》 《syslog之二:syslog协议及rsyslog服务全解析》 《syslog之三:建立Windows下面的syslog日志服务器》 《Linux下dmesg命令处理故障和收集系统信息的7种用法》 我们需要测试一种集中日志系统,要 阅读全文
posted @ 2014-05-14 21:22 duanxz 阅读(14453) 评论(0) 推荐(1)
摘要: 现代CPU 架构的形成 硬件的效率与一致性 Java 内存模型(JMM) 主内存与工作内存 主内存与工作内存交互协议 JMM对于volatile型变量的特殊规则 JMM针对long和double型变量的特殊规则 原子性、可见性与有序性 先行发生原则 1、概述:现代CPU架构的形成 一切从冯洛伊曼计算 阅读全文
posted @ 2014-05-14 21:21 duanxz 阅读(1144) 评论(0) 推荐(0)
  2014年5月7日
摘要: 由于项目需要,用到了 mina 框架进行 tcp 通讯。我是初次接触 mina,于是从 Hello world 开始学习了 mina 。期间遇到了一个奇怪的发送数据的延迟问题,解决的过程是曲折的,但找出的原因却令我“吐血”(没真的吐……)。不管怎样,还是贴出来一下作反面案例,希望初次学习 mina 阅读全文
posted @ 2014-05-07 10:13 duanxz 阅读(2559) 评论(0) 推荐(0)
  2014年5月6日
摘要: 一、面向服务的架构SOA 面向服务的架构是一种软件体系结构,应用程序的不同组件通过网络上的通信协议向其他组件提供服务。通信可以是简单的数据传递,也可以是两个或多个服务彼此协调连接。这些独特的服务执行一些小功能,例如验证付款、创建用户帐户或提供社交登录等。 面向服务的架构不太关于如何对应用程序进行模块 阅读全文
posted @ 2014-05-06 07:54 duanxz 阅读(1578) 评论(0) 推荐(1)
  2014年5月5日
摘要: 1、同步代价 同步代码对性能有两个方面的影响。 其一:应用在同步块上所花的时间会影响该应用的可伸缩性。 其二:获取同步锁需要一些CPU周期,所以也会影响性能。 1.1、同步与可伸缩性 当某个应用被分割到多个线程上运行时,加速比(speedup)可以用如下等式定义(即Amdahl定律): P是程序并行 阅读全文
posted @ 2014-05-05 22:15 duanxz 阅读(941) 评论(0) 推荐(0)
摘要: 同步的方法: 一、同步方法 即有synchronized关键字修饰的方法。 由于java的每个对象都有一个内置锁,当用此关键字修饰方法时, 内置锁会保护整个方法。在调用该方法前,需要获得内置锁,否则就处于阻塞状态。 注: synchronized关键字也可以修饰静态方法,此时如果调用该静态方法,将会 阅读全文
posted @ 2014-05-05 16:51 duanxz 阅读(50517) 评论(3) 推荐(4)
摘要: 1.TCP连接 几乎所有的HTTP通信都有由TCP/IP承载的,TCP/IP是全球计算机及网络设备都在使用的一种常用的分组交换网络分层协议集。一旦连接建立起来,客户端和服务器之间交换的报文就永远不会丢失、受损或失序。但计算机或网络崩溃,会使通信终端。 1.1.TCP可靠数据管道 TCP为HTTP提供 阅读全文
posted @ 2014-05-05 14:30 duanxz 阅读(620) 评论(0) 推荐(0)
摘要: 一、MySQL的体系结构 为了适应各种不同的运行环境,MYSQL提供了多种不同的存储引擎(Storage Engine ),在应用程序开发这个层面上,开发者可以根据不同的需求选择适合的Storage Engine 方案,更为灵活的是,你可以根据每张表将要存储数据的特点,选择不同的Storage En 阅读全文
posted @ 2014-05-05 14:06 duanxz 阅读(945) 评论(0) 推荐(0)
  2014年4月22日
摘要: ZAB协议并不是Paxos算法的一个典型实现,在讲解ZAB和Paxos之间的区别之前,我们首先来看下两者的联系。 两者都存在一个类似于Leader进程的角色,由其负责协调多个Follow进程的运行。 Leader进程都会等待超过半数的Follower做出正确的反馈后,才会将一个提案进行提交。 在ZA 阅读全文
posted @ 2014-04-22 11:22 duanxz 阅读(2296) 评论(0) 推荐(0)
  2014年4月18日
摘要: 目录: 《syslog之一:Linux syslog日志系统详解》 《syslog之二:syslog协议及rsyslog服务全解析》 《syslog之三:建立Windows下面的syslog日志服务器》 《Linux下dmesg命令处理故障和收集系统信息的7种用法》 背景:需求来自于一个客户想将服务 阅读全文
posted @ 2014-04-18 16:40 duanxz 阅读(5637) 评论(0) 推荐(0)
  2014年4月17日
摘要: 一、SOA和ESB一直是没有明确概念的两个缩略词 SOA 面向服务架构,实际上强调的是软件的一种架构,一种支撑软件运行的相对稳定的结构,表面含义如此,其实SOA是一种通过服务整合来解决系统集成的一种思想。不是具体的技术,本质上是一种策略、思想。 ESB 企业服务总线,像一根“聪明”的管道,用来连接各 阅读全文
posted @ 2014-04-17 11:19 duanxz 阅读(10426) 评论(0) 推荐(1)
  2014年4月16日
摘要: DBCP连接池介绍-----------------------------目前 DBCP 有两个版本分别是 1.3 和 1.4。DBCP 1.3 版本需要运行于 JDK 1.4-1.5 ,支持 JDBC 3。DBCP 1.4 版本需要运行于 JDK 1.6 ,支持 JDBC 4。1.3和1.4基于... 阅读全文
posted @ 2014-04-16 14:41 duanxz 阅读(11664) 评论(0) 推荐(2)
摘要: 首先,Spring bean的默认加载顺序是怎么控制的 工程中有2个bean,A和B,其中必须先初始化A再初始化B,但是没有depend-on或者Order等方式去保证,只不过恰好刚好这么运行着没出事,但是突然增加了一个C之后,就先初始化B再初始化A导致问题,但是在主干版本上却没问题。 解决这个问题 阅读全文
posted @ 2014-04-16 13:27 duanxz 阅读(6459) 评论(0) 推荐(0)
  2014年4月11日
摘要: IoC容器的初始化包括BeanDefinition的Resource定位、载入和注册这三个基本的过程。 一、Resource定位。BeanDefinition的资源定位有resourceLoader通过统一的Resource接口来完成,这个Resource对各种形式的BeanDefinition的使 阅读全文
posted @ 2014-04-11 17:30 duanxz 阅读(3344) 评论(1) 推荐(0)
摘要: 1.场景负载均衡服务器是一个集群的请求分配器,负责将外部访问集群的请求分配到集群中的某台机器上。一个特定功能的集群由很多独立的机器组成,这些机器都运行相同的程序接受并服务分配到的请求。拿WEB服务器为例,A用户对集群内网页的请求,每次都由负载均衡服务器分配到集群中一台机器上的WEB服务进程。在WEB应用的情形下,WEB服务进程通过HTTP请求头内的cookie的ID(如果使用PHP作为服务进程,则该ID可能名为PHPSESSID)来辨别访问者身份,并根据该访问者的操作,在机器中保存一些只服务于该用户的数据。如果该用户没有这样的ID,则认为是新的访问者,并且重新分配一个系统内唯一的字符串来表示该 阅读全文
posted @ 2014-04-11 15:50 duanxz 阅读(871) 评论(1) 推荐(0)
  2014年4月10日
摘要: Ubuntu18.04安装Docker 第一种方法从Ubuntu的仓库直接下载安装: 安装比较简单,这种安装的Docker不是最新版本,不过对于学习够用了,依次执行下面命令进行安装。 查看是否安装成功 第二种方法从Docker仓库下载安装: 这种安装方式首先要保证Ubuntu服务器能够访问Docke 阅读全文
posted @ 2014-04-10 13:20 duanxz 阅读(983) 评论(0) 推荐(0)
  2014年4月8日
摘要: 单一职责原则(Single Responsibility Principle) 定义:不要存在多于一个导致类变更的原因。通俗的说,即一个类只负责一项职责。 问题由来:类T负责两个不同的职责:职责P1,职责P2。当由于职责P1需求发生改变而需要修改类T时,有可能会导致原本运行正常的职责P2功能发生故障 阅读全文
posted @ 2014-04-08 22:16 duanxz 阅读(1743) 评论(0) 推荐(0)
摘要: mysqladmin 工具的使用格式: mysqladmin [option] command [command option] command ...... option 选项: -c number 自动运行次数统计,必须和 -i 一起使用 -i number 间隔多长时间重复执行 MySQLAd 阅读全文
posted @ 2014-04-08 21:04 duanxz 阅读(5887) 评论(0) 推荐(0)
摘要: 1.什么是SOA? SOA代表了面向服务的架构。 SOA是一种使用松耦合的黑盒子服务构建业务应用的体系架构,这些服务可以通过编排连接在一起以实现特定的功能。 2.SOA特点 以下是服务的SOA的主要特点: A) SOA组件是松耦合的。当我们说松耦合,这意味着每一个服务是自包含单独存在的逻辑。举例来说 阅读全文
posted @ 2014-04-08 20:58 duanxz 阅读(393) 评论(0) 推荐(0)
摘要: 配置之前,可能需要修改下每台机器的hostname,修改方法 1、直接修改hostname文件:sudo vi /etc/hostname 2、重启服务器:shutdown -r now Ubuntu 默认已安装了 SSH client,此外还需要安装 SSH server: sudo apt-ge 阅读全文
posted @ 2014-04-08 20:40 duanxz 阅读(578) 评论(0) 推荐(0)
摘要: 一、概念 ProGuard是一款免费的Java类文件压缩器、优化器和混淆器。它能发现并删除无用类、字段(field)、方法和属性值(attribute)。它也能优化字节码并删除无用的指令。最后,它使用简单无意义的名字来重命名你的类名、字段名和方法名。经过以上操作的jar文件会变得更小,并很难进行逆向工程。这里提到了ProGuard的主要功能是压缩、优化和混淆,下面我就先介绍一下这些概念,然后再介绍ProGuard的基本使用方法。1、 什么是压缩: Java源代码(.java文件)通常被编译为字节码(.class文件)。而完整的程序或程序库通常被压缩和发布成Java文档(.jar文件)。字节码. 阅读全文
posted @ 2014-04-08 10:27 duanxz 阅读(28988) 评论(1) 推荐(2)
摘要: Java native关键字 一. 什么是Native Method 简单地讲,一个Native Method就是一个java调用非java代码的接口。一个Native Method是这样一个java的方法:该方法的实现由非java语言实现,比如C。这个特征并非java所特有,很多其它的编程语言都有 阅读全文
posted @ 2014-04-08 10:04 duanxz 阅读(11896) 评论(0) 推荐(0)
摘要: 通常C、C++等编程语言开发的程序都被编译成目标代码,这些目标代码都是本机器的二进制可执行代码。通常所有的源文件被编译、链接成一个可执行文件。在这些可执行文件中,编译器删除了程序中的变量名称、方法名称等信息,这些信息往往是由内存地址表示,例如如果需要使用一个变量,往往是通过这个变量的地址来访问的。因此,反编译这些本地的目标代码就是非常困难的。 Java语言的出现,使得反编译变得非常容易而有效。原因如下:1.由于跨平台的需求,Java的指令集比较简单而通用,较容易得出程序的语义信息;2.Java编译器将每一个类编译成一个单独的文件,这也简化了反编译的工作;3.Java 的Class文件中... 阅读全文
posted @ 2014-04-08 09:14 duanxz 阅读(5069) 评论(1) 推荐(0)
上一页 1 ··· 60 61 62 63 64 65 66 67 68 ··· 91 下一页