自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Jews

01

  • 博客(37)
  • 资源 (7)
  • 收藏
  • 关注

原创 RabbitMQ之生产端(Producer)消息的确认模式(confirm)-Demo

消息的确认模式Confirm DemoDemo以topic为例:引入依赖(版本自选):<!-- https://mvnrepository.com/artifact/com.rabbitmq/amqp-client --><dependency> <groupId>com.rabbitmq</groupId> <artifactI...

2019-04-25 22:51:01 1185

原创 RabbitMQ快速入门Java Demo

RabbitMQ快速入门Demo快速入门Demodirect:fanout快速入门Demo引入依赖(版本自选):<!-- https://mvnrepository.com/artifact/com.rabbitmq/amqp-client --><dependency> <groupId>com.rabbitmq</groupId> &...

2019-04-25 20:14:09 1928

原创 如何进行消息队列的技术选型

- 大纲1、为什么使用消息队列2、消息队列有什么优点和缺点3、kafka、activemq、rabbitmq、rocketmq都有什么优点和缺点1、为什么使用消息队列先说一下消息队列的常见使用场景吧,其实场景有很多,但是比较核心的有3个:解耦、异步、削峰解耦: A系统发送个数据到BCD三个系统,接口调用发送,那如果E系统也要这个数据呢?那如果D系统现在不需要了呢?现...

2019-03-20 10:22:03 309

原创 基于flume+kafka+logstash+es的分布式日志系统

本文将从以下几点讲解的分布式日志系统1.日志埋点2.日志收集3.日志处理分析4.日志查询展示 先看一下日志数据流程图:flume监听日志文件收集每行日志发到kafka,logstash消费kafka中的消息将日志解析成json插入到es,es提供日志查询1.日志埋点由于我们项目结构是网关+dubbo服务实例的分布式系统,埋点主要在http的网关和rpc的服务...

2018-07-23 15:53:29 3927 2

原创 MongoDB Connector For BI配置使用

MongoDB Connector For BI 允许你以关系型数据库连接mongodb,供BI分析之类的工具读取分析数据,它并不存储数据,仅仅只做为一个数据库查询的转换桥梁新版本的mongo-bi从原来的4个组件减少到了2个组件:mongodrdl 生成 DRDL文件, 用于映射collection的表结构 mongosqld 实际的转换器,启动时至少需要一个DRDL文件(或者指定DR...

2018-07-23 15:48:58 7638

原创 mongodb常用配置及维护

配置: 常用配置如下: 配置示例 net:  port: 27017 ##监听端口 systemLog:    destination: file    path: "mongod.log" ##日志文件存放位置    logAppend: true ##追加模式写日志 storage:    engin...

2018-07-23 15:47:23 964

原创 mongodb使用方面的一些建议

所有查询写入尽量都带上一个超时时间 大量写入时,使用批量接口 建索引尽量指定为后台执行 索引建得太多,对写入性能会有一定影响,所以建索引时,以能覆盖大部分数据的几个公共字段为准。确实有需要再加上一些没有覆盖到的字段再建一个新索引。 访问副本集时,确保 MongoDB URI 里包含副本集中的所有机器以实现负载均衡及高可用。 在访问分片集群时,请...

2018-07-23 15:46:47 199

原创 mongodb分片搭建

首先下载安装程序 官方下载地址搭建configserver  由于configserver的重要性,强烈推荐由至少3台机器组成configserver副本集 解压并创建配置文件,并复制到3台机器上 配置文件中增加 配置文件 sharding: clusterRole: configsvr 启动所有实例,并登录其中一台机器,运行mongo程序(如果需...

2018-07-23 15:46:12 243

原创 mongodb分片

mongodb分片共有四个组件:mongos、config server、shard、replica set  mongos,数据库集群请求的入口,所有的请求都通过mongos进行协调,不需要在应用程序添加一个路由选择器,mongos自己就是一个请求分发中心,它负责把对应的数据请求请求转发到对应的shard服务器上。在生产环境通常有多mongos作为请求的入口,防止其中一个挂掉所有的m...

2018-07-23 15:45:14 150

原创 为MongoDB添加身份验证

MongoDB 默认没有开户身份验证,除非不开放外网访问,否则这种模式极不安全,现纪录添加身份验证步骤如下: 配置创建用户的时候,需要关闭:#security:##副本集之间通信用到的认证文件# keyFile: /home/soft/mongodb-linux-x86_64-rhel62-3.4.2-shard2/mongo-key# clusterAuthMode: "key...

2018-07-23 15:44:29 1566

原创 副本集的搭建

  MongoDB 副本集(Replica Set)是有自动故障恢复功能的主从集群,有一个Primary节点和一个或多个Secondary节点组成。副本集的工作模式如下图: 副本集中数据同步过程:        Primary节点写入数据,Secondary通过读取Primary的oplog得到复制信息,开始复制数据并且将复制信息写入到自己的oplog。如果某个操作失败,则备份节点停止...

2018-07-23 15:43:44 284

原创 Redis哨兵架构的相关基础知识的讲解

1、哨兵的介绍sentinal,中文名是哨兵哨兵是redis集群架构中非常重要的一个组件,主要功能如下(1)集群监控,负责监控redis master和slave进程是否正常工作(2)消息通知,如果某个redis实例有故障,那么哨兵负责发送消息作为报警通知给管理员(3)故障转移,如果master node挂掉了,会自动转移到slave node上(4)配置中心,

2017-11-20 17:53:06 480

原创 在项目中部署redis企业级数据备份方案以及各种踩坑的数据恢复容灾演练

企业级的数据备份和各种灾难下的数据恢复,是怎么做得呢?1、企业级的持久化的配置策略在企业中,RDB的生成策略,用默认的也差不多save 60 10000:如果你希望尽可能确保说,RDB最多丢1分钟的数据,那么尽量就是每隔1分钟都生成一个快照,低峰期,数据量很少,也没必要10000->生成RDB,1000->RDB,这个根据你自己的应用和业务的数据量,你自己去决定

2017-11-10 13:36:20 460

原创 分析redis的RDB和AOF两种持久化机制的工作原理

课程大纲1、RDB和AOF两种持久化机制的介绍2、RDB持久化机制的优点3、RDB持久化机制的缺点4、AOF持久化机制的优点5、AOF持久化机制的缺点6、RDB和AOF到底该如何选择我们已经知道对于一个企业级的redis架构来说,持久化是不可减少的企业级redis集群架构:海量数据、高并发、高可用持久化主要是做灾难恢复,数据恢复,也可以归类到高可

2017-11-06 14:24:16 1735

原创 单机版redis的安装以及redis生产环境启动方案

大纲1、安装单机版redis2、redis的生产环境启动方案3、redis cli的使用 ------------------------------------------------------------------------1、安装单机版redis大家可以自己去官网下载,当然也可以用课程提供的压缩包wget http://downloads

2017-11-03 14:13:57 331

原创 在CentOS中都安装Java和Perl(一)

(1)安装JDK 1、将jdk-7u60-linux-i586.rpm通过WinSCP上传到虚拟机中2、安装JDK:rpm -ivh jdk-7u65-linux-i586.rpm3、配置jdk相关的环境变量vi ~/.bashrcexport JAVA_HOME=/usr/java/latestexport PATH=$PATH:$JAVA_HOME/binsource

2017-11-01 14:59:53 487

原创 处理一个字符串多个分隔符

在之前的项目需求中,遇到一个字符串一种字符标识为1种类型。         如字符串: a#aa|b#bb$c#aaa。。。这种其中#号一组的有:[a,aa,bb,aaa]分组为$有:[c]分组|的有:[b].......里面规则是:第一个符号前面没有标识符则列入后面的分组,后面字符串没有标识符则列入前面标识分组,其余中间部分按前面标识符分组如(前无):a 前面没有

2016-05-21 22:51:52 3185

原创 java解析xml文件,返回xml字符串

public static String toStringFromDoc(Document document) { String result = null; if (document != null) { StringWriter strWtr = new StringWriter(); StreamResult strResult = new StreamResult(s

2016-05-04 14:59:29 3747

原创 html+css 图片右上角加删除叉,图片删除

html+css 图片右上角加删除叉,图片删除

2016-03-03 22:41:07 39028 1

原创 Android仿微信/支付宝的方块密码输入框

在用到支付类或者验证类app时,都有一个简密的输入框。百度了下有个不错的帖子   点击打开链接 不过自己也写了个简单的类似的。不废话了。没图说个席八。懒得运行,直接截layout.xml的效果图先。布局文件<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"

2015-10-30 18:30:56 4361 1

转载 MAC OS X10.10上Android开发环境搭建

转载:http://blog.csdn.net/yanzi1225627/article/details/42040629

2015-09-10 21:59:06 506

原创 Java高级个人笔记(可变参数的使用)

Java1.5增加了新特性:可变参数。适用于参数个数不确定,类型确定的情况,java把可变参数当做数组处理。注意:可变参数必须位于最后一项。当可变参数个数多余一个时,必将有一个不是最后一项,所以只支持有一个可变参数。因为参数个数不定,所以当其后边还有相同类型参数时,java无法区分传入的参数属于前一个可变参数还是后边的参数,所以只能让可变参数位于最后一项/** * 可变参数的使用

2015-07-16 16:12:08 466

原创 Java高级个人笔记(java常用集合总结)

1、线程安全线程安全就是说多线程访问同一代码,不会产生不确定的结果。2、List类和Set类List类和Set类是Collection集合接口的子接口。Set子接口:无序,不允许重复。List子接口:有序,可以有重复元素。Set和List对比:Set:检索元素效率低下,删除和插入效率高,插入和删除不会引起元素位置改变。List:和数组类似,List可以动态增长,查找元素效率高,

2015-07-16 15:54:50 610

原创 Java高级个人笔记(NumberUtils、ArrayUtils和RandomUtils工具类用法)

一、NumberUtils工具类/*1.NumberUtils.isNumber():判断字符串是否是数字*/NumberUtils.isNumber("5.96");//结果是trueNumberUtils.isNumber("s5");//结果是falseNumberUtils.isNumber("0000000000596");//结果是true/*2.NumberUtils.i

2015-07-16 15:33:54 1786

原创 Java高级个人笔记(StringUtils工具类用法)

/*1.字符串以prefix开始*/StringUtils.startsWith("sssdf","");//结果是:trueStringUtils.startsWith("sssdf","");//结果是:trueStringUtils.startsWith("sssdf","s");//结果是:trueStringUtils.startsWith("sssdf","ss");//结果是

2015-07-16 15:27:19 1575

原创 Java高级个人笔记(判断List、Map、Set是否为空及效率比较)

//如果object为null,则设置为defaultValueObjectUtils.defaultIfNull(object, defaultValue);//判断集合是否为nullList list=new ArrayList();System.out.println(list.isEmpty()); //trueSystem.out.println(list.size());

2015-07-08 17:52:46 27412 6

原创 Java高级个人笔记(RandomStringUtils工具类)

//产生5位长度的随机字符串,中文环境下是乱码RandomStringUtils.random(5);//使用指定的字符生成5位长度的随机字符串RandomStringUtils.random(5, new char[]{'a','b','c','d','e','f', '1', '2', '3'});//生成指定长度的字母和数字的随机组合字符串RandomStringUtils.r

2015-07-08 17:50:47 12429

原创 Web Service学习笔记(二)[web service的三大技术基础]

web service的三大技术基础              1、WSDL                     -—  Web Service接口                             1、  types(标准的Schenma)                             2、 2N个message(input和output)        

2015-05-12 02:17:32 688

原创 Web Service学习笔记(一)[web service的本质]

调用一次 web service 的本质:客户端把调用方法的参数,转换成xml文档片段(SOAP消息,input消息)   —— —— 该文档片段必须符合WSDL定义的格式通过网络、把XML文档片段传给服务端服务端收到XML文档片段服务端解析XML文档片段,提取其中的数据。并把数据转换调用web service所需要的参数值。服务端执行方法把执行方法得到的返回值,再次转换生成xml文档

2015-05-11 00:08:24 556

原创 Java使用jxl导出Excel表格源码

/** * 导出Excel * * @param list * :结果集合 * @param filePath * :指定的路径名 * @param out * :输出流对象 通过response.getOutputStream()传入 * @param mapFields *

2014-09-02 09:41:44 657

原创 java使用jxl导入Excel

/** * 读取商家列表xls文件 * @param filePath-xls文件路径 * @return 商家的List集合 */ public static List readData(String filePath) { // 用来存储商家 List list = new ArrayList(); try { File file = new File(

2014-08-29 10:59:58 628

转载 Myeclipse10运行web程序时报java.lang.OutOfMemoryError: PermGen space时比较靠谱的解决方法

网上百度一下,很多文章都介绍说是改myeclipse.ini文件中的-Xms128m -Xmx512m -XX:PermSize=128m -XX:MaxPermSize=128m,感觉这些人都是网上抄袭,人云亦云,实际上是解决不了问题的。 比较靠谱解决方案为:Window->Preferences->Myeclipse->Services->Tomcat->Tomcat

2014-08-28 22:30:48 649

原创 作为一个程序员,我是怎样月薪3W的

我对计算机也比较感兴趣,于是大学就报了软件工程专业。    大家都知道软件行业很辛苦,需要学很多东西,而且需要不停的去学习,因为新的技术发展的太快。于是,我认真听课,其实最重要的是要理论和实践结合,于是我就经常泡在机房里做实验。干程序员这一行,首先必须得精通编程语言,C++,JAVA,C#我都有涉猎,Ruby这样的脚本我也尝试过。数据结构这门课也很重要,各种算法、结构必须了然於胸。我平时也比较

2014-08-27 20:37:04 3175 5

原创 SQL查询父类顶级与子级,删除父类顶级,子级也删除

表大致结构:id name  pid

2014-08-19 12:46:06 3343 2

翻译 设计模式六大原则

单一职责原则(Single Responsibility Principle)定义:不要存在多于一个导致类变更的原因。通俗的说,即一个类只负责一项职责。问题由来:类T负责两个不同的职责:职责P1,职责P2。当由于职责P1需求发生改变而需要修改类T时,有可能会导致原本运行正常的职责P2功能发生故障。解决方案:遵循单一职责原则。分别建立两个类T1、T2,使T1完成职责P1功能,T2完成职责

2014-06-04 10:29:26 529

原创 菜鸟面试第二站(不听劝告,坑了一脸的公司)

本人是12年

2014-05-08 10:16:04 1082

原创 SSH整合中电脑有网络正常运行,断网后运行就报错了。

第一次发帖,我把错误发来严重: Exception occurred during processing request: nulljava.lang.reflect.InvocationTargetExceptionat sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)at sun.reflect.Na

2014-01-03 22:20:14 882 1

Java工程师之道-电子书-PDF

目录 第1章 后端技术导言 1.1后端基础设施 1.1.1 请求统一入口——API网关 1.1.2 业务应用和后端基础框架 1.1.3 缓存、数据库、搜索引擎、消息队列 1.1.4 文件存储 1.1.5 统一认证中心 1.1.6 单点登录系统 1.1.7 统一配置中心 1.1.8 服务治理框架 1.1.9 统一调度中心 1.1.10 统一日志服务 1.1.11 数据基础设施 1.1.12 故障监控 1.2 Java后端技术概览 1.2.1 软件开发的核心原则 1.2.2 软件开发的软件过程 1.2.3 日常开发常用工具 1.2.4 应用的运行环境 1.2.5 常用第三方服务 1.2.6 计算机基础科学知识 1.2.7 数据处理相关技能 1.2.8 Java编程知识 1.2.9 系统架构演化 1.2.10 典型的部署架构 1.3 如何学习后端技术 1.3.1 扎实的计算机基础知识 1.3.2 知其然更要知其所以然 1.3.3 动手实践 1.3.4 频繁练习 1.3.5 持续学习 1.3.6 自我总结 1.3.7 如何学习一门新技术 1.3.8 总结 第2章 Java项目与工程化 2.1 项目构建 2.1.1 传统构建工具——Ant 2.1.2 主流构建工具——Maven 2.1.3 新兴构建工具——Gradle 2.2 代码版本控制 2.2.1 集中式代码版本管理——SVN 2.2.2 分布式代码版本管理——Git 2.2.3 提交日志的规范 2.3 代码质量保证 2.3.1 使用单元测试保证代码质量 2.3.2 衡量单元测试的标准 2.3.3 开发规范与建议 第3章 开发框架 3.1 依赖注入 3.1.1 JSR-330依赖注入规范 3.1.2 Guice 3.1.3 PicoContainer 3.1.4 Dagger 3.1.5 Spring Framework 3.1.6 循环依赖问题 3.2 对象关系映射 3.2.1 表元数据的映射 3.2.2 CRUD以及属性的查询 3.2.3 查询缓存的使用 3.2.4 结果的映射 3.2.5 规范SQL书写的语句构建器 3.2.6 使用提示 3.3 日志 3.3.1 JDK Logging 3.3.2 Log4j 3.3.3 Log4j2 3.3.4 Logback 3.3.5 统一日志API的门面框架 3.3.6 统一日志框架的使用 3.4 Web MVC 3.4.1 为什么是Spring MVC 3.4.2 Spring MVC的请求处理流程 3.4.3 典型的配置方式 3.4.4 无XML的配置方式 3.4.5 对MVC应用做单元测试 3.4.6 验证Web请求的参数 3.4.7 使用异步Servlet 3.4.8 使用提示 第4章 Spring 4.1 Spring核心组件 4.1.1 Spring的双亲上下文机制 4.1.2 Spring中的事件机制 4.1.3 Bean的初始化和销毁 4.1.4 Bean的动态构造 4.1.5 注入集合、枚举、类的静态字段 4.1.6 面向方面编程——AOP 4.1.7 进阶XML的配置 4.1.8 无XML的配置方式 4.2 Spring数据操作框架 4.2.1 Spring JDBC 4.2.2 Spring Data Redis 4.2.3 Spring Data MongoDB 4.3 Spring Boot 4.3.1 Spring Boot使用示例 4.3.2 Spring Boot的运行原理 4.3.3 Spring Boot的组成模块 4.3.4 小结 4.4 Spring常用组件 4.4.1 表达式引擎——Spring Expression Language 4.4.2 远程过程访问的支持——Spring Remoting 4.4.3 Spring与JMX的集成 4.4.4 定时任务的支持——Spring Quartz 4.4.5 跨域请求的支持——Spring CORS 4.5 总结 第5章 数据存储 5.1 关系型数据库——MySQL 5.1.1 存储引擎 5.1.2 字符集和校对规则 5.1.3 索引的使用 5.1.4 查询缓存的使用 5.1.5 数据同步中的Binlog 5.1.6 事务机制 5.1.7 大表优化 5.1.8 高可用支持 5.1.9 使用提示 5.2 非关系型数据库 5.2.1 KV数据库 5.2.2 文档数据库——MongoDB 5.2.3 列数据库——HBase 5.3 缓存 5.3.1 本地缓存 5.3.2 分布式缓存——Redis 5.3.3 缓存设计的典型方案 5.4 搜索引擎——Elasticsearch 5.4.1 开源全文检索库——Apache Lucene 5.4.2 关键概念 5.4.3 查询的优化 5.4.4 内存的使用优化 5.4.5 开源日志管理方案——ELK 第6章 数据通信 6.1 RESTful架构风格 6.1.1 支持的操作 6.1.2 返回码 6.1.3 资源概念 6.1.4 数据的安全保障 6.1.5 请求的限流 6.1.6 超文本API 6.1.7 编写文档 6.1.8 RESTful API实现 6.2 远程过程调用——RPC 6.2.1 JDK自带的RPC——RMI 6.2.2 Hessian 6.2.3 Thrift 6.2.4 Dubbo 6.2.5 数据的序列化机制 6.2.6 使用提示 6.3 消息中间件 6.3.1 简单消息中间件——ActiveMQ 6.3.2 通用消息中间件——RabbitMQ 6.3.3 日志消息中间件——Kafka 6.3.4 本地消息队列 第7章 Java编程进阶 7.1 Java内存管理 7.1.1 JVM虚拟机内存 7.1.2 垃圾回收理论 7.1.3 常用垃圾回收器 7.2 Java网络编程 7.2.1 常见网络I/O模型 7.2.2 Java网络编程模型 7.3 Java并发编程 7.3.1 并发原理 7.3.2 并发思路 7.3.3 并发工具 7.3.4 并发编程建议 7.4 Java开发利器 7.4.1 Apache工具库——Apache Commons 7.4.2 Google工具库——Guava 7.4.3 最好用的时间库——Joda Time 7.4.4 高效JSON处理库——FastJson 7.4.5 高效Bean映射框架——Orika 7.5 Java新版本的特性 7.5.1 Java 7 7.5.2 Java 8 7.5.3 Java 9 7.6 总结 第8章 性能调优 8.1 调优准备 8.1.1 HotSpot虚拟机体系结构 8.1.2 操作系统的性能调优 8.1.3 系统常用诊断工具 8.1.4 JDK常用诊断工具 8.2 性能分析 8.2.1 CPU分析 8.2.2 内存分析 8.2.3 I/O分析 8.2.4 其他分析工具 8.3 性能调优 8.3.1 CPU调优 8.3.2 内存调优 8.3.3 I/O调优 8.3.4 其他优化建议 8.3.5 JVM参数配置 8.3.6 JVM性能增强 第9章 安全技术 9.1 Java加密 9.1.1 单向加密算法 9.1.2 对称加密算法 9.1.3 非对称加密算法 9.2 安全HTTP——HTTPS 9.2.1 安全协议——SSL/TLS 9.2.2 证书中心——CA 9.2.3 请求交互过程 9.2.4 性能优化 9.3 Web安全 9.3.1 跨站点脚本攻击 9.3.2 跨站点请求伪造 9.3.3 SQL注入攻击 9.3.4 基于约束条件的SQL攻击 9.3.5 分布式拒绝服务攻击——DDOS 9.3.6 会话固定攻击——Session fixation 附录A 代码构建常用命令 附录B Git常用命令 附录C MySQL常用命令 附录D MongoDB常用命令 附录E Java调优常用命令 Ps:我自己也有再看,挺好的书。分享给各位道友

2018-08-15

单机版redis的安装以及redis生产环境启动方案中相应文件

liunx redis-3.2.8压缩包,tcl8.6.1-src压缩包。 包括redis的生产环境启动方案的配置文件:redis.conf和redis_6379 具体的安装步骤参考博客:http://blog.csdn.net/u011311514/article/details/78434925

2017-11-03

Libgdx初级盲点:异步加载资源

Libgdx实现异步加载网络图片并保存到SD卡或者data/data目录下边,当本地有图片的时候,直接从本地读取图片,如果本地没有图片,将从服务器异步加载图片

2015-03-20

Tomcat插件

解决Eclipse使用Tomcat插件没有5.x版本

2014-03-07

Tomcat启动报错 bin\tcnative-1.dll

自己电脑是64位的,JDK也是64的。结果myeclipse报错 java.lang.UnsatisfiedLinkError: C:\tomcat7.0\bin\tcnative-1.dll: Can't load AMD 64-bit .dll on a IA 32-bit platform 解决方案:下载该附件,覆盖tomcat\bin\tcnative-1.dll 文件

2013-12-21

java与模式

java与模自认为非常不错。有需要提高设计的可以看,很不错的一本书

2013-11-25

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除