摘要:
过去的10多年里,很多大公司都在使用蓝绿部署,安全、可靠是这种部署方式的特点。蓝绿部署虽然算不上”Sliver Bullet“,但确实很实用。在有关于“微服务”、“DevOps”、“Cloud-native”的讨论中,蓝绿部署、A/B测试、灰度发布,这三种部署方式往往同时出镜。 那么问题来了,蓝绿部
阅读全文
posted @ 2019-05-26 22:25
zhjh256
阅读(2060)
推荐(1)
摘要:
在阿里云上选择ECS的时候,发现有动态BGP和静态BGP区分,静态的要便宜些,搜了下区别如下: 静态BGP路由是指由网络运营商手动配置的路由信息。当网络的拓扑结构或链路的状态发生变化时,运营商需要手动去修改路由表中相关的静态路由信息。静态路由信息在默认情况下是私有的,不会传递给其他的路由器。静态路由
阅读全文
posted @ 2019-05-26 22:14
zhjh256
阅读(2878)
推荐(0)
摘要:
Ajax: Ajax 即“Asynchronous Javascript And XML”(异步 JavaScript 和 XML),是指一种创建交互式网页应用的网页开发技术。 $.ajax({ type: 'POST', url: url, data: data, dataType: dataTy
阅读全文
posted @ 2019-05-26 21:40
zhjh256
阅读(2508)
推荐(1)
摘要:
package javatest; import java.io.FileOutputStream; import java.io.IOException; import org.apache.poi.xssf.usermodel.XSSFCell; import org.apache.poi.xs
阅读全文
posted @ 2019-05-26 21:29
zhjh256
阅读(10372)
推荐(0)
摘要:
Thumbnailator 是一个为Java界面更流畅的缩略图生成库。从API提供现有的图像文件和图像对象的缩略图中简化了缩略过程,两三行代码就能够从现有图片生成缩略图,且允许微调缩略图生成,同时保持了需要写入到最低限度的代码量。同时还支持根据一个目录批量生成缩略图。 比任何现有自己基于jdk库写要
阅读全文
posted @ 2019-05-26 21:26
zhjh256
阅读(1357)
推荐(0)
摘要:
一开始测试的时候发现都还可以,只是出于后续考虑,选择了ckeditor,但是有时候会莫名出现Cannot read property 'XXX' of undefined,如下: Uncaught TypeError: Cannot read property 'getEditor' of unde
阅读全文
posted @ 2019-05-24 19:50
zhjh256
阅读(281)
推荐(0)
摘要:
To apply ORDER BY or LIMIT to an individual SELECT, place the clause inside the parentheses that enclose the SELECT,as follows
阅读全文
posted @ 2019-05-24 19:48
zhjh256
阅读(5147)
推荐(0)
摘要:
几个月前,我们有个产品的开发反馈了个问题,说有个组织结构的查询很慢,几千行的复杂关联需要1秒钟,表示太慢了,原语句如下: 够复杂的,看了下执行计划,确实有个子句没有物化导致i/o访问次数下不来,于是对该子查询使用with重写如下: 因为mariadb的with子句会强制物化为临时表,改写后,0.2秒
阅读全文
posted @ 2019-05-22 16:26
zhjh256
阅读(867)
推荐(0)
摘要:
查询1-n的递归 mysql> WITH RECURSIVE cte (n) AS( SELECT 1 /* seed query */UNION ALLSELECT n + 1 FROM cte WHERE n < 5 /* recursive query */)SELECT * FROM cte
阅读全文
posted @ 2019-05-21 17:44
zhjh256
阅读(1296)
推荐(0)
摘要:
一般情况下,JIT是默认开启的,所以这里只存在如何关闭的问题。 在启动JVM的时候,只需增加-Xint或者-Djava.compiler=NONE选项即可: java -Xint your_main_class_file_name java -Djava.compiler your_main_cla
阅读全文
posted @ 2019-05-17 18:52
zhjh256
阅读(299)
推荐(0)
摘要:
解决方法: 设置DeserializationConfig.Feature.ACCEPT_SINGLE_VALUE_AS_ARRAY。问题解决。
阅读全文
posted @ 2019-05-15 17:19
zhjh256
阅读(4219)
推荐(0)
摘要:
因为oracle jdk从jdk8u201之后就不提供免费下载了,所以最近在看openjdk的分支实现,网上搜了下,有下列选择和比较(我们目前主要在跑的是open jdk,不少人推荐的zulu openjdk还没有跑过)。 JVM有许多不同的选择。哪个最好用?比较几种JVM性能; Zulu Open
阅读全文
posted @ 2019-05-15 08:07
zhjh256
阅读(3015)
推荐(0)
摘要:
输出如下: 6 --原生调用498 --MVEL2表达式 239 -- MVEL2 编译后18 --反射 还差一个基于Unsafe直接访问的,后面补上。。。。 可见用表达式的性能是非常低下的,即使是编译后。如果真的什么时候需要用表达式的话,可以采用动态编译java类的方式实现。(它可以通过调用jav
阅读全文
posted @ 2019-05-15 08:04
zhjh256
阅读(2740)
推荐(0)
摘要:
调用最简单的JNI没有出错,但是涉及到OCI时就会异常退出,分析后基本确定是OCI 11g中的signal所致,参考ora-24550 signo=6 signo=11解决。 但是这个相同的so库直接被其它c++应用调用就一直正常,但是java通过jni调用就会挂掉,而且很有规律。如果是单个线程循环
阅读全文
posted @ 2019-05-05 11:36
zhjh256
阅读(1582)
推荐(0)
摘要:
高级进阶必读 你所不知道的系列,高级开发必掌握。 JavaScript这门语言简单易用,很容易上手,但其语言机制复杂微妙,即使是经验丰富的JavaScript开发人员,如果没有认真学习的话也无法真正理解。本套书直面当前JavaScript开发人员不求甚解的大趋势,深入理解语言内部的机制,全面介绍了J
阅读全文
posted @ 2019-05-05 11:30
zhjh256
阅读(797)
推荐(2)
摘要:
微服务系列 官方文档是最好的资料了。 spring cloud官方文档:https://cloud.spring.io/spring-cloud-static/Greenwich.RELEASE/single/spring-cloud.html spring boot官方文档:https://doc
阅读全文
posted @ 2019-05-05 11:30
zhjh256
阅读(872)
推荐(0)
摘要:
实际上目前Linux下C开发一般都是C++实现下的C,而不是最纯粹的C,使用g++而不是gcc编译,所以直接学习C++的过程性C部分是更加高效的。 C++ Primer(中文版 第5版)C++学习头牌 全球读者千万 C++标准库(第2版) C++编程思想(两卷合订本) C语言接口与实现 创建可重用软
阅读全文
posted @ 2019-05-05 11:25
zhjh256
阅读(5502)
推荐(0)
摘要:
Hadoop系列 Cloudera出品的各种官方文档 入门必备 https://www.cloudera.com/documentation.html Cloudera Hadoop大数据平台实战指南 入门科普系列 Spark in Action 入门必备(虽然Impala很强大了,但是Impala
阅读全文
posted @ 2019-05-05 11:20
zhjh256
阅读(684)
推荐(0)
摘要:
卓有有效的管理者 管理的本质 只有偏执狂才能生存 格鲁夫给经理人的第一课 影响力: 你为什么会说“是” 关键影响力:如何调动团队力量 执行 如何完成任务的学问
阅读全文
posted @ 2019-05-05 11:19
zhjh256
阅读(951)
推荐(0)
摘要:
Oracle THE ORACLE HACKER'S HANDBOOK 讲redo格式和TNS协议 Oracle编程艺术 深入理解数据库体系结构(第3版) 链接:https://pan.baidu.com/s/1k5qrcjwrhOkyJRZIOwhGBQ 密码:9lq0 oracle concep
阅读全文
posted @ 2019-05-05 11:18
zhjh256
阅读(6613)
推荐(3)
摘要:
一:explain演示 1. 构建数据 为了方便演示,我需要create ten dayyy to inventory,而且还是要在no index 的情况下,比如下面这样: 1 db.inventory.insertMany([ 2 { "_id" : 1, "item" : "f1", type
阅读全文
posted @ 2019-05-01 20:53
zhjh256
阅读(774)
推荐(0)
摘要:
fields[j].set(obj, val); 报: 解决方案:添加一行代码:fields[j].setAccessible(true);
阅读全文
posted @ 2019-04-27 20:29
zhjh256
阅读(2773)
推荐(0)
摘要:
在演示事务的read only mode 的时候,因为一个错误有了这个意外的收获。场景是这样的: 在session 1 中执行了如下的语句。 SQL> set transaction read only; Transaction set. SQL> select count(*) from empl
阅读全文
posted @ 2019-04-26 08:45
zhjh256
阅读(1484)
推荐(0)
摘要:
四个最主要的配置文件(原生版本位于$HADOOP_HOME\etc\hadoop目录):mapred-site.xmlcore-site.xmlhdfs-site.xmlyarn-site.xml 在CDH发行版(特别需要注意的是,CDH的发行版和apache hadoop开源版还是有较大差异的,不
阅读全文
posted @ 2019-04-25 22:33
zhjh256
阅读(3181)
推荐(0)
摘要:
MapReduce应用广泛的原因之一就是其易用性,提供了一个高度抽象化而变得非常简单的编程模型,它是在总结大量应用的共同特点的基础上抽象出来的分布式计算框架,在其编程模型中,任务可以被分解成相互独立的子问题。MapReduce编程模型给出了分布式编程方法的5个步骤: 下面就简要总结一下编程模型中用到
阅读全文
posted @ 2019-04-23 12:17
zhjh256
阅读(664)
推荐(0)
摘要:
根据对各种生态组件的分析,较好的一种架构是: 存储层:使用HDFS for Parquet/Kudu/Hbase(HDFS for Parquet和Kudu各有利弊,HBase作为补充) 资源调度层:YARN(也成为MR2) 批处理:Hive(2.0中,beeline代替了hive控制台)或MapR
阅读全文
posted @ 2019-04-20 13:56
zhjh256
阅读(629)
推荐(0)
摘要:
安装包下载 1、CM软件包下载 从http://archive.cloudera.com/cm5/redhat/7/x86_64/cm/5.16.1/RPMS/x86_64/下载rpm包,如下: 其实不需要下载j2sdk的,因为cm安装过程中会自动安装的,自己下载了也没用(这个网上的一些文章说法是不
阅读全文
posted @ 2019-04-20 13:49
zhjh256
阅读(5470)
推荐(0)
摘要:
CDH 5.x搭建请参考CentOS 7离线安装CDH 5.16.1完全指南(含各种错误处理)。 如果使用的是cloudera quickstart vm,则只能在linux服务器中使用eclipse提交,无法远程访问(主要是quickstart绑定的所有ip都是localhost所致,所以最好还是
阅读全文
posted @ 2019-04-20 13:18
zhjh256
阅读(804)
推荐(0)
摘要:
引入事务管理器 @Autowired TransactionTemplate transactionTemplate; @Autowired PlatformTransactionManager transactionManager; 使用方式1: boolean result = transact
阅读全文
posted @ 2019-04-20 09:18
zhjh256
阅读(653)
推荐(0)
摘要:
有时候经常需要返回2个值或多个值的一个序列,比如数据表的一条记录,文件的一行内容等。除了使用数组Array、集合(List、Set、Map)这些容器类型之外,在Java中我们就必须创建一个Class来作为返回类型。但很多时候我们只需要两三个字段,这个时候非要定义一个class就很烦琐了,所以这肯定不
阅读全文
posted @ 2019-04-19 19:59
zhjh256
阅读(1468)
推荐(0)
摘要:
现在AOP的场景越来越多,所以我们有必要理解下和AOP相关的一些概念和机制。基础知识和原理类大家搜索spring aop/aspectj,有大量现成的可以参考,基本上只要理解了jdk动态代理、cglib字节码动态生成代理就足够了,而且必须知道这个代理类是spring托管的(如果是自己创建的代理类,是
阅读全文
posted @ 2019-04-19 09:05
zhjh256
阅读(47992)
推荐(4)
摘要:
最近遇到个场景,需要在使用@Bean注解定义bean的时候为对象设置一些属性,比如扫描路径,因为路径经常发布新特性的时候需要修改,所以就计划着放在配置文件中,然后通过@ConfigurationProperties或@Value结合@PropertySource注入,类似如下: 但是只要在Confi
阅读全文
posted @ 2019-04-19 08:33
zhjh256
阅读(6122)
推荐(0)
摘要:
java反射之获取类或接口上的所有方法及其注解(包括实现的接口上的注解) 测试结果输出: public ResultModel auditresult.service.BonusAuditResultServiceImpl.insertNonXATrans():[org.springframewor
阅读全文
posted @ 2019-04-19 07:36
zhjh256
阅读(3419)
推荐(0)
摘要:
SpringData支持两种关系数据存储技术: JDBCJPA ● SpringData 方法定义JPA规范: 1. 不是随便声明的,而需要符合一定的规范2. 查询方法以find | read | get开头3. 涉及条件查询时,条件的属性用条件关键字连接4. 要注意的是:条件属性首字母需要大写5.
阅读全文
posted @ 2019-04-17 08:38
zhjh256
阅读(3845)
推荐(0)
摘要:
默认情况下,当继承MongoRepository的CRUD在@SpringBootApplication的子包下时,xxxRepository是能够自动被扫描和创建代理的。但是如果不在默认路径下,就无法注入了,即使是扫描路径加到了@ComponentScan也一样。 解决方法: 在springboo
阅读全文
posted @ 2019-04-17 08:31
zhjh256
阅读(1106)
推荐(0)
摘要:
因为各种三方库依赖的log4j实现不同,所以可能会出现找到多个log4j实现的警告,但是不影响程序(logback是会影响的),如下: SLF4J: Class path contains multiple SLF4J bindings. SLF4J: Found binding in [jar:f
阅读全文
posted @ 2019-04-17 08:25
zhjh256
阅读(2301)
推荐(0)
摘要:
很多的基础类设计会采用泛型模式,有些应用在使用的时候处于隔离考虑,会进行继承,此时子类如何继承泛型类就很讲究了,有些情况下需要类型擦除,有些情况下不需要类型擦除,但是大多数情况下,我们需要的是保留父类的泛型特性。因为类型被擦除后,得到的对象会是Object,此时会导致编码或反序列化失败。如下所示:
阅读全文
posted @ 2019-04-12 11:52
zhjh256
阅读(662)
推荐(0)
摘要:
本文整理了在hadoop学习过程中遇到的各种问题。 windows下开发环境搭建 大部分情况下,我们都是在windows下开发,hadoop则一般部署于linux服务器(无论是CDH还是原生hadoop,也无论是单机伪分布式还是完全分布式)。很多教程的做法都是打成jar,然后上传到linux服务器,
阅读全文
posted @ 2019-04-11 11:30
zhjh256
阅读(8768)
推荐(0)
摘要:
微服务这个概念一直很火,现在ServiceMesh概念更火,最近我经手的多个项目也都采用微服务的方式开发。但实践发现,当一个RD同时开发超过2个微服务的时候,出现bug或故障的概率会提升。 我现在看项目的时候会不自觉的关注工程服务拆分个数和研发人数的比值。虽然这么做,我却说不出来个所以然,也没有找到
阅读全文
posted @ 2019-04-07 18:01
zhjh256
阅读(592)
推荐(0)
摘要:
在设计系统时,应该多考虑 墨菲定律: 任何事物都没有表面看起来那么简单。 所有的事都会比你预计的时间长。 可能出错的事总会出错。 如果你担心某种情况发生,那么他就更有可能发生。 在划分系统时,应该多考虑 康威定律: 系统架构是公司组织架构的反映。 应该按照业务闭环进行系统拆分/组织架构划分,实现闭环
阅读全文
posted @ 2019-04-07 18:01
zhjh256
阅读(439)
推荐(0)