自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

二师兄

人生不能有目的,因为目的是空的。人生不能没目的,因为人生是空的。

  • 博客(73)
  • 资源 (1)
  • 收藏
  • 关注

原创 OpenDDS Java开发(2)——基于Windows10的OpenDDS测试

话接上文,由于Perl的问题,我并没有通过测试程序run_test.pl测试成功。我在Git上找了个测试程序,很丰富,点赞,非常感谢作者。https://github.com/WeiKangJian/OpenDDSapplication我没有直接编译运行他的代码,而是试着自己摸索编译。将他的外卖程序简单修改一下Supermarket.idl:module Supermarket { #pragma DCPS_DATA_TYPE "Supermarket::UpdateInf" #pra

2021-05-20 16:28:38 1032 3

原创 OpenDDS Java开发(1)——基于Windows10的OpenDDS编译安装

OpenDDS安装比较复杂,需要安装配置很多软件:VS、Perl、ACE+TAO,如果需要Java支持,还需要安装Java,因为OpenDDS支持Java的安装是基于CORBA通信的,JDK1.8之后就没用这个包了,所以需要在JDK1.8下编译安装。1、下载安装包Visual Studio 2017,并安装Windows SDK本人不了解VS,看网上基本上都选了C++桌面开发和Windows通用开发,还有右侧的SDK。题外话:到这个网站下载微软的软件很...

2021-05-20 15:23:46 2114 4

原创 vue浅尝-搭建vue-element-admin

最近公司想把一老项目做成前后端分离的,遂研究了一下vue等前端的东西。在自己的计算机上搭建了一下。一、环境(1). windows10-64位(2). node-v10.15.0(3). npm-6.4.1(4). python-2.7.13二、步骤(0). 首先得在NPM官网(https://www.npmjs.com/) 注册账号,要不然有些插件不能下载。...

2019-10-24 11:52:01 951

原创 踩到了不可见字符\u200B的坑(0长度的字符)

接收前端输入的时候,由于前端是富文本,去掉空格后,发现还是有字符串,但是看到的却是"",长度是1,但是人眼看到的是没有字符(0长度的),一直找不到原因。后来网上查找资料发现了。原来是\u200b ((Zero width space) characters)遂去除。js去除:str.replace(/\u200B/g,’’);...

2019-02-18 17:39:46 26922

原创 JVM监控命令总结(jps、jstat、jmap、jhat、jstack)

最近遇到了jvm调优的事情,用到了一些工具(jvisualvm、jconsole),墙裂推荐JProfiler(非免费)。也用到了一些jvm监控命令,遂想总结一下,以备后用。期间参考了不少资料,比如:https://blog.csdn.net/wisgood/article/details/25343845一、jps(Java Virtual Machine Process Statu...

2018-09-28 16:18:55 861

转载 kafka direct 跟receiver 方式接收数据的区别

Receiver是使用Kafka的高层次Consumer API来实现的。receiver从Kafka中获取的数据都是存储在Spark Executor的内存中的,然后Spark Streaming启动的job会去处理那些数据。然而,在默认的配置下,这种方式可能会因为底层的失败而丢失数据。如果要启用高可靠机制,让数据零丢失,就必须启用Spark Streaming的预写日志机制(Write Ahe

2017-12-29 15:35:16 2423

转载 Elasticsearch之集群脑裂

集群脑裂是什么?  所谓脑裂问题(类似于精神分裂),就是同一个集群中的不同节点,对于集群的状态有了不一样的理解。   由于某些节点的失效,部分节点的网络连接会断开,并形成一个与原集群一样名字的集群,这种情况成为集群脑裂(split-brain)现象。这个问题非常危险,因为两个新形成的集群会同时索引和修改集群的数据。            

2017-11-01 11:12:48 720

转载 如何防止ElasticSearch集群出现脑裂现象

什么是“脑裂”现象?由于某些节点的失效,部分节点的网络连接会断开,并形成一个与原集群一样名字的集群,这种情况称为集群脑裂(split-brain)现象。这个问题非常危险,因为两个新形成的集群会同时索引和修改集群的数据。如何避免脑裂问题?避免脑裂现象,用到的一个参数是:discovery.zen.minimum_master_nodes。这个参数决定了要选举一个Master需

2017-11-01 11:05:07 781

转载 HTTP的请求方法OPTIONS

HTTP请求方法并不是只有GET和POST,只是最常用的。据RFC2616标准(现行的HTTP/1.1)得知,通常有以下8种方法:OPTIONS、GET、HEAD、POST、PUT、DELETE、TRACE和CONNECT。HTTP请求方法并不是只有GET和POST,只是最常用的。据RFC2616标准(现行的HTTP/1.1)得知,通常有以下8种方法:OPTIONS、GET、HEAD、POST

2017-10-28 10:39:56 69744

原创 Cassandra的timestamp类型

timestamp类型的值可以有两种:1、64位有符号表示的毫秒数(基准时间称为新纪元的整数:1970 1月1日00:00:00 GMT)2、如下格式的字符串(ISO 8601格式):yyyy-mm-dd HH:mmyyyy-mm-dd HH:mm:ssyyyy-mm-dd HH:mmZyyyy-mm-dd HH:mm:ssZyyyy-mm-dd'T'HH:mmyyyy-mm

2017-10-27 13:28:48 5211

转载 HBase vs. MongoDB vs. MySQL vs. Oracle vs. Redis,三大主流开源 NoSQL 数据库的 PK 两大主流传统 SQL 数据库

HBase vs. MongoDB vs. MySQL vs. Oracle vs. Redis,三大主流开源 NoSQL 数据库的 PK 两大主流传统 SQL 数据库类别HBaseMongoDBMySQLOracleRedis描述基于 Apache Hadoop 并提供 BigTable 能力的列存储最受欢迎的文档存储数据库之一广泛

2017-10-19 13:58:20 502

转载 springBoot注解大全

一、注解(annotations)列表 @SpringBootApplication:包含了@ComponentScan、@Configuration和@EnableAutoConfiguration注解。其中@ComponentScan让spring Boot扫描到Configuration类并把它加入到程序上下文。@Configuration 等同于spring的XML配置文件;使

2017-10-19 09:30:41 384

原创 几种远程调用接口协议简单比较

协议dubbormihessianhttpwebservice连接个数单连接多连接 多连接 多连接 多连接 连接方式长连接短连接短连接短连接短连接传输协议TCPTCPHTTPHTTPHTTP

2017-09-20 09:51:50 5799

原创 List<String>为何不能赋值给List<Object>

今天有个同事让我实现一个接口,这个接口里的一个方法类似于:set(List param),也即参数类型是List我有几个方法要调用这个接口,实参类型都类似于:List、List。结果调用发现报错,参数类型不匹配。纳闷了好久,一开始猜想的是Object类型虽然是String  Long的父类,但是List param不是List、List的父类,结果上网一查果然验证猜想是正确

2017-08-12 15:56:53 5259

转载 缓存穿透与缓存雪崩

缓存穿透什么是缓存穿透?一般的缓存系统,都是按照key去缓存查询,如果不存在对应的value,就应该去后端系统查找(比如DB)。如果key对应的value是一定不存在的,并且对该key并发请求量很大,就会对后端系统造成很大的压力。这就叫做缓存穿透。 如何避免?1:对查询结果为空的情况也进行缓存,缓存时间设置短一点,或者该key对应的数据insert了之后清理缓存。2

2017-08-11 14:21:57 379

转载 java系统高并发解决方案(转载)

转载博客地址:http://blog.csdn.NET/zxl333/article/details/8454319转载博客地址:http://blog.csdn.net/zxl333/article/details/8685157一个小型的网站,比如个人网站,可以使用最简单的html静态页面就实现了,配合一些图片达到美化效果,所有的页面均存放在一个目录下,这样的网站对系统

2017-08-11 13:54:14 415

转载 《Effective Java》—— 读后总结

这本书在Java开发的行业里,颇有名气。今天总算是粗略的看完了...后面线程部分和序列化部分由于心浮气躁看的不仔细。这个月还剩下一周,慢慢总结消化。转自:http://www.cnblogs.com/xing901022/p/5903629.html

2017-08-10 09:31:13 464

原创 Java常用集合排序

1、list排序List list = new ArrayList(Arrays.asList("Clinton","Bush", "Trump", "Plata"));//可以控制是升序还是降序Collections.sort(list, new Comparator() { public int compare(String o1, String o2) {

2017-08-08 16:11:07 256

原创 常用排序算法性能比较

排序算法平均时间最坏情况空间需求直接插入排序   冒泡排序   简单选择排序   希尔排序   快速排序   堆排序

2017-08-01 21:08:32 422

原创 算法常用的时间复杂度(log(n),sqrt(x),n,n*log(n),n^2,n^3,2^n)的函数坐标图

今天偶然看到了一个有趣的网站http://zh.numberempire.com/graphingcalculator.php,可以绘制各种数学函数坐标图。突发奇想,用它绘制一下算法的时间负责度(log(n),sqrt(x),n,n*log(n),n^2,n^3,2^n)的函数坐标图挺不错的,很直观。绘制了两幅,一副小图,一副大图,感觉大图更具参考意义,毕竟现实中n的取值是比较大的

2017-08-01 20:52:34 12040

转载 Cassandra经常被问到的问题(三)

14、是不是单个seed意味着单点故障?即便没有seed节点,集群也可以运行和重启,但是不能再往集群里增加节点。还是推荐在生产系统中配置多个种子节点。15、为什么不可以在jconsole里调用某个jmx方法呢?一些JMX操作的参数是个数组,而Jconsole并不支持数组型参数。对于那些不能用jconsole调用的操作(在jconsole里点击按钮无效)。有需要自己写一个JM

2017-07-25 13:48:42 2547

转载 Cassandra经常被问到的问题(二)

9 我可以通过批量提交加速我的大量写入吗?不,使用批量提交只会带来延迟尖峰,使用异步的INSERT来代替,或者使用真正的“批量载入”对同一个分区key的批量更新是一个例外,只要一个批量的大小保持在合理范围内,还是有好处的,但是要记住不要任何时候都盲目使用批量。10、在Red Hat企业版(RHEL)中,节点无法加入到集群中。查看SELinux是否开启了,把它关掉。1

2017-07-25 13:44:43 1828

转载 Cassandra经常被问到的问题(一)

1、为什么不可以设置listen_address为0.0.0.0(意思是监听所有地址)?Cassandra是一个基于gossip协议的分布式系统,监听地址是用来告诉其它节点来访问的,告诉别的节点说“连接我任何地址都可以”,是一个糟糕的想法,如果集群中不同的节点使用了不同方式的地址,悲剧的事情就要发生了。如果你不想为你集群中的每个节点单独配置ip(非常可以理解),你可以不配,空着它,

2017-07-25 13:41:43 3965

原创 Cassandra nodetool常用操作

nodetool 是cassandra中非常常用的命令,其中包含很多条子命令,本来想一条一条的翻译出来,但是工作量显然很大,所以就只写出简要的而且常用的。其实,nodetool大部分都是  nodetool -h host -u username -pw password [option]  的格式。

2017-07-25 11:34:54 13112

翻译 Cassandra 常用命令之 nodetool repair

nodetool repair 顾名思义就是修复,这是nodetool中一个非常重要的操作。当我们对数据有修改或删除动作时,或定期执行repair操作,以保持各个节点的一致性。基本格式nodetool [(-h | --host )] [(-p | --port )]     [(-pw password | --password password)]     [(-p

2017-07-25 11:31:05 6763

原创 cassandra关于集合类型的操作

Cassandra的几种集合类型(list、set、map)增强了数据库的表现力,这几种数据类型用的很方便。我简单总结了一下这几种类型的使用方法。社会我二哥,人狠话不多,直奔主题

2017-07-18 09:02:48 4322

原创 mybatis配置常用参数及默认值

设置参数描述有效值默认值cacheEnabled该配置影响的所有映射器中配置的缓存的全局开关。true | falseTRUElazyLoadingEnabled延迟加载的全局开关。当开启时,所有关联对象都会延迟加载。 特定关联关系中可通过设置fetchType属性来覆盖该项的开关状态。true | f

2017-06-09 09:52:45 11577

原创 Log4j详细配置

1.log4j的几种级别分为OFF、FATAL、ERROR、WARN、INFO、DEBUG、ALL或者您定义的级别,这些级别是从高到低的级别。Log4j建议只使用四个级别,优先级从高到低分别是 ERROR、WARN、INFO、DEBUG。通过在这里定义的级别,您可以控制到应用程序中相应级别的日志信息的开关。比如在这里定义了INFO级别, 则应用程序中所有DEBUG级别的日志信息将不被打印出来。

2017-06-07 17:06:44 3682

转载 Log4j配置

Log4J的配置文件(Configuration File)就是用来设置记录器的级别、存放器和布局的,它可接key=value格式的设置或xml格式的设置信息。通过配置,可以创建出Log4J的运行环境。1. 配置文件Log4J配置文件的基本格式如下: #配置根Loggerlog4j.rootLogger = [ level ] , appenderName1 , a

2017-06-07 15:48:22 323

转载 MySQL binlog三种模式

1.1 Row Level 行模式  日志中会记录每一行数 据被修改的形式,然后在slave端再对相同的数据进行修改 优点:在row level模式下,bin-log中可以不记录执行的sql语句的上下文相关的信息,仅仅只需要记录那一条被修改。所以rowlevel的日志内容会非常清楚的记录下每一行数据修改的细节。不会出现某些特定的情况下的存储过程或function,以及trigger的调用和

2017-06-06 11:02:24 1830

转载 Intellij IDEA 快捷键整理(史上最全)

【常规】Ctrl+Shift + Enter,语句完成 “!”,否定完成,输入表达式时按 “!”键 Ctrl+E,最近的文件 Ctrl+Shift+E,最近更改的文件 Shift+Click,可以关闭文件 Ctrl+[OR ],可以跑到大括号的开头与结尾 Ctrl+F12,可以显示当前文件的结构 Ctrl+F7,可以查询当前元素在当前文件中的引用,然后按 F3 可以选择 Ct...

2017-06-02 09:18:38 79799 4

转载 rabbitMQ、activeMQ、zeroMQ、Kafka、Redis 比较

Kafka作为时下最流行的开源消息系统,被广泛地应用在数据缓冲、异步通信、汇集日志、系统解耦等方面。相比较于RocketMQ等其他常见消息系统,Kafka在保障了大部分功能特性的同时,还提供了超一流的读写性能。针对Kafka性能方面进行简单分析,相关数据请参考:https://segmentfault.com/a/1190000003985468,下面介绍一下Kafka的架构和涉及到的名词

2017-06-02 09:11:08 1421

转载 Linux中/proc目录下文件详解

/proc 目录包括很多系统当前状态的参数proc目录中的值可以进行动态的设置,若希望永久生效,可以修改/etc/sysctl.conf文件,并使用下面的命令确认: #sysctl -p/proc/sys/fs/file-max #系统总限制/proc/sys/fs/file-nr #整个系统目前使用的文件句柄数量/proc/cpuinfo #CPU 的信息(型号, 家族,

2017-05-25 16:32:46 1215

原创 解决Too many open files问题

当用linux做高并发服务器时,会遇到"Too many open files"的错误。Linux是有文件句柄限制的(open files),而且Linux默认不是很高,一般都是1024,做高并发生产服务器用其实很容易就达到这个数量。在linux中执行ulimit -a 即可查询linux相关的参数,如下所示:ulimit -acore file size (blo

2017-05-25 16:02:23 20004 1

转载 redis-JedisPoolConfig配置

JedisPoolConfig poolConfig = new JedisPoolConfig(); //连接耗尽时是否阻塞, false报异常,ture阻塞直到超时, 默认true poolConfig.setBlockWhenExhausted(false); //设置的逐出策略类名, 默认DefaultEvictionPolicy(当连接

2017-05-25 14:24:49 807

原创 Cassandra账号设置

1、配置文件修改cd apache-cassandra-3.7/conf/vim cassandra.yaml #默认是不需要账号即可访问的authenticator: PasswordAuthenticator #默认AllowAllAuthenticator authorizer: CassandraAuthorizer             #默认AllowAllA

2017-05-25 10:57:29 2095

原创 Cassandra的安装及配置

一、认识两个网站1、http://cassandra.apache.org/ (cassandra apache官网地址)2、http://www.datastax.com/ (cassandra发行商网站,datastax和cassandra的关系就像redhat和linux的关系)二、准备工作1、安装jdk我的安装环境是CentOS 7.2、JDK 1.8.0。因为

2017-05-24 18:33:38 7705

原创 一个完整的标准的cassandra连接代码(java版)

String[] hosts = new String[]{"192.168.1.1", "192.168.1.2", "192.168.1.3"};//cassandra主机地址 //认证配置 AuthProvider authProvider = new PlainTextAuthProvider("ershixiong", "123456");

2017-05-24 17:59:28 6506

转载 mysql语句优化总结(一)

Sql语句优化和索引1.Innerjoin和左连接,右连接,子查询A.     inner join内连接也叫等值连接是,left/rightjoin是外连接。SELECT A.id,A.name,B.id,B.name FROM A LEFT JOIN B ON A.id =B.id;SELECT A.id,A.name,B.id,B.name FROM A RI

2017-05-24 10:11:10 441

翻译 Cassandra 常用命令之 nodetool info

nodetool info 提供节点信息,如负载和正常运行时间。感觉是status的详细版。

2017-05-18 19:18:10 1736

gbkreadersetup.exe

功能很强大的阅读器,而且很好用 支持ceb\xeb\pdf\htm\html

2009-08-01

空空如也

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

TA关注的人

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