- 博客(28)
- 资源 (43)
- 收藏
- 关注
原创 架构设计(四)另类系统间通讯及传输
另类系统间通讯及传输: MQ消息队列支持协议、集群化和调用方式1、 消息、消息协议、消息队列 a. 消息: 是消息的载体b. 消息协议: 为了让消息发送者和消息接收者都能够明白消息所承载的信息(消息发送者需要知道如何构造消息;消息接收者需要知道如何解析消息),他们就需要一种统一的格式描述信息,称为消息协议。有效的消息一定具有某一种格式,而没有格式的消息是没有意义的c. 消息队列: 消息从发送者到达
2017-09-29 22:36:44 193
原创 Apache Thrift原理(一)
Apache Thrift1、 主要特点: 支持多语言、并发性能高为了支持多种语言,thrift有一套自己的接口定义语言,并且通过thrift代码生成程序,能够生成各种编码语言的代码2、 使用步骤: a. 安装thrift代码生成器 b. 编写IDL文件:主要是编写service服务接口 c. 使用代码生成器生成依赖代码: thrift-0.10.exe -gen java .\thrift
2017-09-29 22:25:06 624
原创 zookeeper原理学习
zookeeper:1、 定义: zookeeper是一个分布式、开源的分布式应用程序协调服务。2、 zookeeper的信息记录方式: 1). zk采用树形结构目录结构记录信息。树的深度没有限制(但实际中,不可能建立很深的树结构),每一个节点称为node2). 每个znode都有一个名称,为了避免出现字符集编码问题,不要使用中文作为znode的名称,另外,同一个znode下的子级znode名称
2017-09-29 22:10:03 371
原创 storm学习(二)
Storm前提: 全内存查询服务: 直接提供数据读取服务,定期转存到磁盘或数据库进行持久化 半内存查询服务: 使用Redis、Memcache、MongoDB、BerkeleyDB等内存数据库提供数据实时查询服务,由这些系统进行持久化操作 全磁盘查询服务: 使用Hbase等以分布式文件系统(HDFS)为基础的Nosql数据库,对于KeyValue内存引擎,关键是设计好Key的分布1、 定义:
2017-09-29 00:21:56 363
原创 架构设计(三)分布式与集群概念
分布式与集群概念:1、 分布式 答: 最简单的思想就是多进程,其实类似于在系统分隔过程中的一种垂直分隔,将不同业务的系统分布在不同的节点上运行,他们彼此互不干扰,而多进程的申请、释放资源各方面的开销都很大,而且占用资源并非CPU级别的。2、 集群 答: 一般是指同一个机组下多个节点(同一台机器也可以部署多个节点),这些节点几乎去完成同样的事情,或者说类似的事情,与多线程类似。集群可以分为APP集
2017-09-28 22:36:45 241
原创 架构设计(二)系统间通信管理
系统间通信管理一、基于消息方式实现系统间通信 1. Java自身技术: TCP/IP + BIO、TCP/IP + NIO、UDP/IP + BIO、 UDP/IP + NIO开源项目: mina二、 基于远程调用方式实现系统间通信 1. java自身技术: RMI 和 WebService开源项目: Spring rmi 和 cxf具体如下:一、RMI 1、 rmi定义: RMI(
2017-09-26 15:30:14 340
原创 java重构(一)
java代码重构总结:一、方案落地 1、 在现实生活中,能找到许多与软件行为相似的场景,比如项目重构与房子重建比较类似,简单例子如下: 比如,一道参差不齐的墙,怎么变成整齐的墙,一般来说有以下两种方案: 方案一: 直接推到,新买砖,重新砌墙,通常会遇到难以找到合适砌墙边的砖头,砌墙工通常会破坏新砖来达到目的 方案二: 拆墙,把墙砖一个个分解,重新利用,再加上新买少量砖,完美解决难以对齐的问题
2017-09-25 23:07:44 4439
原创 freemarker用法
freemarker用法1、 freemarker定义: 模板引擎: 一种基于模板的、用来生成输出文本的通用工具 基于java的开发包和类库2、 freemarker组成部分a. 文本: 直接输出部分b. 注释: <#-- ...--> 格式部分,不会输出c. 插值:即 ${...} 或 #{...}格式的部分,将使用数值模型中的部分替代输出d. FTL指令: freemarker指令,
2017-09-25 22:53:18 429
原创 java基础(九)--------- java安全管理器_securityManager
java基础(九)——— java安全管理器_securityManager1、 java安全: 总的来说,java安全应该包括两个方面的内容: 一是java平台(即java运行环境)的安全性;二是java语言开发的应用程序的安全性。java平台的安全性由java本身语言的开发者维护,而第二个安全性则需要自己维护。一般可以通过安全管理器机制来完善安全性,安全管理器是安全的实施者,可对此类进行扩展。
2017-09-22 16:20:53 486
原创 Java基础(七)---- 反射与框架的问题
反射与框架的问题:1、 框架与框架要解决的核心问题: 我做房子卖给用户住,由用户自己安装门窗和空调,我做的房子是框架,用户需要使用我的框架,把门窗插入进我提供的框架中。框架与工具类有区别,工具类被用户的类调用,而框架则是调用用户提供的类2、 框架要解决的核心问题: a. 我在写框架(房子)时,你这个用户可能还在上小学,还不会写程序呢? 我写的框架程序怎样能调用到你以后写的类(门窗)呢?b. 因为
2017-09-22 10:54:35 216
原创 java之配置文件加载
java之配置文件加载1、 通过FileInputStream方式加载: 配置文件放置在项目根目录的下一级目录下// 方法一InputStream in = new FileInputStream("config.properties");Properties props = new Properties();props.load(in);is.close();2、 通过类加载器加载// 方
2017-09-22 10:53:05 197
原创 架构设计(一)架构设计之常用信息格式
架构设计之常用信息格式:1、 常用信息格式: a. xml 可扩展标记语言。适合做网络通信的信息描述格式(一般是”应用层”协议)。xml的更广泛使用场景是对系统环境进行描述(因为它会造成较多的不必要的内容传输)。例如服务器的配置描述、spring的配置描述、Maven仓库描述等。b. JSON JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。它和x
2017-09-21 19:39:37 303
原创 数据库基础知识(二)数据库分表技术
数据库分表技术:1、 分表技术 a). 水平分割(分表) 将一个大表按照一定的规则分解成多张具有独立存储空间的实体表,我们可以称为子表,每个表都对应三个文件,MYD数据文件,MYI索引文件,frm表结构文件。这些子表可以分布在同一块磁盘上,也可以在不同的机器上。app读写的时候根据事先定义好的规则得到对应的子表名,然后取操作它 简单理解: 将一张大表,分割成多个数据类型与大表相同的子表,在访问
2017-09-21 19:26:18 356
原创 调优(二) 减少if语句的使用
程序中减少if语句的使用: 注: if语句通常会让代码更加负载,但这不代表要完全抛弃if语句1、 if语句的问题 a. 通常出现if语句的代码很容易越改越糟 b. 复制时会有问题,即if语句缺失domain的概念 c. 开发者必须在头脑中模拟执行实际情况,造成脑细胞浪费2、 替代if语句的方案: 1). 布尔参数(Boolean Params) 背景: 有方法在修改行为时,使用了b
2017-09-21 17:29:50 800
原创 java多线程(二)---------------ThreadLocal总结
ThreadLocal1、 理解: 很多地方叫做线程本地变量,也叫做线程本地存储。ThreadLocal为变量在每个线程中创建了一个副本,那么每个线程可以访问自己内部的副本变量2、 总结: a. 实际的通过ThreadLocal创建的副本是存储在每个线程自己的threadLocals对象中的 b. 为何ThreadLocals的类型ThreadLocalMap的键值为ThreadLocal
2017-09-21 17:18:32 179
原创 JSP基础(三)
1、 前台请求资源的时候,会请求favicon.ico, 这个favicon.ico是什么? 简单点就是 浏览器标题上的图标 所谓favicon,即Favorites Icon的缩写,顾名思义,便是其可以让浏览器的收藏夹中除显示相应的标题外,还以图标的方式区别不同的网站。当然,这不是Favicon的全部,根据浏览器的不同,Favicon显示也有所区别:在大多数主流浏览器如FireFox和Inte
2017-09-20 16:27:18 223
原创 Java基础(八) -------- UML图
Java基础(八) ——– UML图1、 定义: Unified Modeling Language (UML)又称统一建模语言或标准建模语言 UML规范用来描述建模的概念有,类(对象的)、对象、关联、职责、行为、接口、用例、包、顺序、协作,以及状态2、 五类十种模型图 1). 用例图(use case): 从用户角度描述系统功能,并指各功能的操作者 2). 静态图: 包括类图,包图,对象图
2017-09-15 10:27:01 616
原创 Slf4j (一) HelloWorld示例
import org.slf4j.Logger;import org.slf4j.LoggerFactory;public class Test { Logger logger = LoggerFactory.getLogger(Test.class); logger.info("Hello World"); // 等于调用logger.debug("Fuck" + you
2017-09-09 15:09:10 332
原创 Hadoop基础 (一) 基础介绍
Hadoop基础 (一) 基础介绍1、 组成 a. HDFS (Hadoop Distributed File System) : 海量数据的存储b. MapReduce引擎: 海量数据的离线分析 JobTrackers TaskTrackers2、 HDFS介绍: master-slave模式 client: 从NameNode读取信息,读取DataNode信息 Block: 一个文
2017-09-09 15:04:50 457
原创 Java_GC (二) GC配置说明及一般的配置规则
Java_GC (二) GC配置说明及一般的配置规则 1、 GC配置说明-Xmn: 年轻代大小-Xss: 每个线程的堆栈大小. 以前为 256k-Xms和-Xmx相等,是为了避免每次垃圾回收完成后重新分配内存,从而影响性能-XX: NewRatio=4: 设置年轻代(Eden和两个Survivor区)与年老代比值-XX: SurvivorRatio=4: 设置年轻代中Eden区与Surv
2017-09-09 14:46:23 1274
原创 Java_GC (一) 随笔
Java_GC (一) 随笔1、 对象是否存活算法 a. 引用计数器算法: 每个对象被引用一次,自身的计数器就加1;引用结束,计数器就减1。当计数器为0,就表明对象不存活,可以进行回收b. 可达性分析算法: 从程序的跟节点,到对象所在的节点。如果从任何跟节点都无法到达对象节点,则表明对象不可达,可以进行回收。2、 分代回收 年轻代: 停止-复制算法。 GC回收器: Serial
2017-09-09 14:45:29 226
原创 离职和就职的原因(一)
你们公司太让人激动了。 希望换一个环境(比如过去在律所,现在想去公司)。 - 公司破产,而且不是因为我的原因(“我现在的公司快破产了,公司叫 Lehman Brothers.”) - 现在职位薪水太低,或无法实现个人价值。原则一:外交语言跳槽的目的,对你来说应该是加薪、晋级、换行追求更好的事业发展你“张先生,请问你离职的原因是什么呢?”你直接回答“追求更好的职业发展”即可;对方再追问:“离职总
2017-09-08 22:49:48 4255 2
原创 Java基础(七)---- 反射 reflect
package com.test;import java.lang.reflect.Constructor;import java.lang.reflect.Field;import java.lang.reflect.Method;public class ReflectTest { public static void main(String[] args)throws Except
2017-09-06 13:35:06 235
原创 邮箱服务器(三) 邮件基本格式与编码、复合邮件结构、整体架构代码
1、 基本格式和编码 格式: RFC822邮件格式 mime编码: base64和quoted-printable(括上的可打印项目) base64原理: 将一组连续的字节数据按6个bit位进行分组,然后对每组数据用一个ASCII字符表示。6个bit位最多能表示64(2*6)个数值,因此可以用64个ASCII字符来对应这64个字符。64个字符为: A~Za~z0~9+/
2017-09-04 16:11:03 2045
原创 邮箱服务器(二) javamail - api
1、 通过java mail 生成邮件 java mail按功能划分成三大类: a. 创建和解析邮件: message类 b. 发送邮件信息: Transport类 c. 接收邮件: Storesession类:用于定义整个应用程序所需的环境信息2、 需要的jar包 dsn.jar、imap.jar、mailapi.jar、pop3.jar、smtp.jar3、 框架: activatio
2017-09-04 15:33:26 484
原创 robot 自动化(一) 安装使用sshlibray
robot 自动化(一) 安装使用sshlibray1、 安装sshlibray依赖的模块: sshlibray => paramiko (>=1.8) => ecdsa ( >= 0.11) && pycrypt (!=2.4 & >= 2.1)2、 安装步骤: 先安装ecdsa 和 pycrypt 然后安装 paramiko 最后安装 sshlibrary
2017-09-04 14:18:30 362
原创 Spring (三)注入依赖对象、注入集合类型的属性
参考 比较详细1、 注入依赖对象 a. 基本类型对象注入:<bean id="serviceDao" class="ServiceDaoBean" > <constructor-arg index="0" type="java.lang.String" /> // 构造器注入 <property name="name" value="zhao" /> // 属性se
2017-09-02 11:28:39 2118
原创 Spring (二)依赖注入原理 , bean 作用域, 其他配置
Spring (二)依赖注入原理 , bean 作用域, 其他配置1、 依赖注入原理public class JmiracleClassPathXmlApplicationContext { private List<BeanDefinition> bds = new ArrayList<BeanDefinition>(); private Map<String, Object> s
2017-09-01 09:41:01 220
windows自动安装器
2018-02-26
oracle中的classes12.jar文件
2018-01-06
com.genuitec.eclipse.export.wizard_9.0.0.me201203160414
2017-12-26
NC(源码)_M.rar )
2017-11-05
MySQL中文参考手册.chm
2017-10-23
Spring+SpringMVC+Mybatis框架整合例子(SSM)
2017-10-17
jol-cli-0.9-全部jar包.rar
2019-12-26
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人