- 博客(66)
- 资源 (3)
- 收藏
- 关注
原创 DruidDataSource配置
<bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource" init-method="init" destroy-method="close"> <!-- 基本属性 url、user、password --> <property name="url" value="${jdbc_url}" ...
2020-02-04 11:00:29
330
转载 云原生-备份(原文地址:https://www.infoq.cn/article/fA42rfjV*dYGAvRANFqE)
今天和大家一起聊一聊云原生这个话题,内容来自蚂蚁金服中间件服务与容器团队。由于内容比较多,我们分为上下两个半场。前言特别指出:这次分享主要是希望起到抛砖引玉的作用,让大家更多的参与到云原生这个话题的讨论,希望后面有更多更好的分享。我们笨鸟先飞,起一个头。内容主要围绕这几个问题,上半场我们将围绕前三个问题。如何理解云原生?第一个话题:如何理解“云原生”?之所以将这个话...
2019-07-12 09:56:26
811
原创 maven 札记
Failed to execute goal org.apache.maven.plugins:maven-gpg-plugin:1.5:sign (sign-artifacts) on project *** 加 -Dgpg.skip=true
2018-09-06 11:50:21
639
原创 mysql innodb优化导致的慢查询
现象:同样一段sql,由于时间条件不同,导致执行的时间相差1个数量级 1、执行sql 1:select DISTINCT x.x_id, x.x_record_id, x.aid, y.z_id, x.gmt_created, x.user_id, x.xx_id, x.xx_no, x.operatorfrom x, y , zwhere x.x_id = y.x_id...
2018-08-13 09:35:23
1270
转载 非一致性内存架构(NUMA)
仅为备份:https://blog.youkuaiyun.com/vanbreaker/article/details/7492886
2018-07-24 17:39:36
515
原创 mysql中TIMESTAMP和DATETIME
一、TIMESTAMP create table test_time ( time1 TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, time2 TIMESTAMP NOT NULL, time3 DATETIME default null, time4 DATETIME defau
2017-08-31 15:12:12
536
原创 Postman支持带cookie登陆的调用
1、chrome安装Postman Interceptor插件; 2、配置Interceptor:Filter requests参数进行正则配置,如:配置test表示只拦截本包括test的url( www.test.com:8081)。默认的配置.*配置拦截所有请求,可以使用默认配置不用修改。 3、在Postman中启用Interceptor;
2017-08-10 14:06:43
1934
转载 mysql trim标签用法
trim标记是一个格式化的标记,可以完成set或者是where标记的功能,如下代码: 1、 select * from user AND name=#{name} AND gender=#{gender} 假如说name和gender的值都不为null的话打印的SQL为:select * from user where name = 'xx' and gender
2017-06-28 10:01:51
1208
原创 delete from和truncate table的区别
在mysql中,删除表的常见方式有两种:(1)delete from语句,(2)truncate table语句。delete from语句可以和条件查询的where配合使用,用于筛选需要删除的内容(例如:delete from test_zxk where id > 8 order by id desc limit 2;),总的来说delete from的语句更加灵活。
2017-05-22 16:40:34
9690
原创 java线程持锁状态下出现异常会释放锁
线程持锁状态下出现异常是否会释放锁?于是做了个实验:public class LockTest {public static class ThreadTest implements Runnable { private ReadWriteLock lock; private Lock readLock; private Lock writeLock; private i
2017-05-18 10:49:10
1100
1
原创 mysql 如果数据不存在,则插入新数据,否则更新的实现方法
CREATE TABLE `table_test` ( `my_key` int(11) NOT NULL default '0', `value` varchar(21) NOT NULL default '', `count` int(11) NOT NULL default '0', PRIMARY KEY (`ikey`) ) ENGINE=InnoDB DEFAULT
2017-05-09 13:41:15
19118
原创 mysql扎记
1、mysql表创建后修改列位置:例如:将rel_id这一列设置在task_name之后:alter table test_task modify column `rel_id` varchar(128) DEFAULT NULL COMMENT '关联id' after task_name; 2、mvcc以时间换空间的典型案例...
2017-05-05 15:16:49
292
原创 一些扎记
一些扎记:1、Disruptor开源的并发框架:http://ifeve.com/disruptor/2、Opentracing:调用追踪:https://wu-sheng.gitbooks.io/opentracing-io/content/3、histore 海量高性能列式数据库:http://jm.taobao.org/2016/06/16/histore-in...
2017-04-21 00:24:22
335
原创 范型擦除中的原始类型类型接口--个人见解记录,非官方
java.lang.reflect.Type:java语言中所有类型的公共父接口,一大作用是表示范型擦除后的原始数据类型表示,即当经过java编译器编译之后,代码中的范型会被“打回原形”成为Object, 而原来的类型又不能全统一到Class类中,这些类型如何表示?问题就产生了,而Type类型及相关子接口可以解决这一问题,其子接口主要如下:arameterizedType: 表示一种参数化的类
2017-04-12 19:01:00
366
转载 【js】JSON.stringify 语法实例讲解
尊重原创,尊重产权!此处为个人备份!原文地址:http://www.cnblogs.com/ningvsban/p/3660654.html语法: JSON.stringify(value [, replacer] [, space]) value:是必选字段。就是你输入的对象,比如数组,类等。 replacer:这个是可选的。它又分为2种方式,一种是数组,第二种是
2017-04-07 15:09:02
292
原创 ssh配置记录
#ssh 登陆别名Host gateway#实际登陆主机名HostName gw.example.com#实际登陆用户User XXX#重用链接ControlMaster autoControlPath ~/tmp/ssh_mux_%h_%p_%r#链接保持时间ControlPersist 24h
2017-03-29 18:08:22
321
原创 java中Long和Integer在hashmap判断key是否存在的问题
1、HashMap中是否存在key的判断方法如下,归根结底是判断key的hashcode方法:public boolean containsKey(Object key) { return getEntry(key) != null;}final EntryK,V> getEntry(Object key) { if (size == 0) {
2017-03-23 18:58:39
9382
1
原创 ibatis琐碎记录
1、like查询 and title like CONCAT('%', #{nteTitle, jdbcType=VARCHAR}, '%')
2017-03-13 12:33:23
360
原创 mysql中实现按字段部分升序,部分降序的方法
mysql order排序时可以通过asc参数实现升序,desc参数实现降序。例如:升序排序:select * from 表名 order by 字段 asc (mysql默认是升序排列)降序排序:select * from 表名 order by 字段 desc如果希望查询结果,对一个字段进行升序,一个进行降序,则可以通过以下方式实现:order by
2017-03-09 09:47:02
9110
原创 mysql时间戳存储
利用时间戳来区分数据库中的两条不同数据时,时间冲突是一个简单而又麻烦的东西,不管是高并发还是低请求的系统,时间冲突的概率依然存在,只是高低的问题。一般而言,对于时间冲突概率高的系统,一般是提高时间的精度来区分两条数据,甚至加上如随机数、进程id、服务器id等。使用mysql数据库时,可以利用mysql现有的timestamp和datetime常用的两种数据类型,但是精度只能到秒级。另外一种
2017-02-23 17:34:33
6931
1
原创 spring quartz 集群bean注入初始化
SchedulerFactoryBean: 1、public void afterPropertiesSet() throws Exception 2、// Create SchedulerFactory instance. SchedulerFactory schedulerFactory = (SchedulerFactory) Bean
2017-02-06 16:50:09
477
原创 C4 垃圾回收
C4:Concurrent Continuously Compacting Collector参考地址:http://www.importnew.com/2410.html
2017-02-05 18:24:29
703
原创 GC root
说到java的垃圾回收,避不开GC root就是GC(Garbage Collector) roots,垃圾收集器(Garbage Collector)的对象,GC时会收集那些不是GC roots并且没有被GC roots引用的对象。一个对象可以属于多个root,GC root有几下种:Class - 由系统类加载器(system class loader)加载的对象:这些类是不能够被
2017-02-04 21:42:53
423
原创 linux shell脚本 && 和 ||及变量说明
一、&& 和|| 在shell脚本中用于命令执行控制的功能。例如:当下一个执行的命令依赖于上一个命令执行的结果时,可以通过&&和||实现。语法格式:command1 && command2 [&& command3 …] command1 || command2 [|| command3 …] 1、命令之间使用 && (||)连接,实现逻辑与(或)的功能。 2、对于&&,只有在 && 左边的命令
2017-02-03 18:13:16
10613
原创 linux shell脚本之 shift (n)命令
linux shell脚本中 shift(shift 1) 命令每执行一次,入参变量个数($#)减一,而且遵循FIFO的原则,即shift之前的1变量被销毁,shift之后的1变量被销毁,shift之后的2就变成了$1,变量值提前一位。 shift n后,前n位参数都会被销毁。example1: test1.sh/#!/bin/bash while [ $# != 0 ];do echo “
2017-02-03 17:27:32
1253
原创 shell脚本运行方式和对环境变量的影响
test2.sh: export var1=”hello”;脚本一 test1-1.sh :source test2.sh echo ${var1}脚本二 test1-2.sh:sh test2.sh echo ${var1}这两个脚本的运行结果分别为: test1-1.sh:hello test1-2.sh:原因是:test1-2.sh中调用sh test2.sh来执行shell是
2017-02-03 11:12:04
1014
原创 反向代理为何叫反向
大家都知道代理一般分为正向代理和反向代理,但为何有这种叫法的区别呢,下图比较形象的说明:如图,代理一般用于跨网之间的访问,例如内网的客户端需要访问外网时通过一个代理server将需要的外网资源通过代理服务器取回,这种场景下,代理server称之为正向代理server,作用仍然是一个客户端。从结构上来看,客户端和代理服务器可以划为组成一部分,外网的资源server为另一部分。而反向代理是客户端直接访问
2017-02-01 21:45:41
908
原创 SSL四次握手
SSL类似于TCP的三次握手,在HTTP链接建立之前进行四次握手,从而客户度和服务端沟通好HTTP传输时对称加密的密钥,大致过程如下图:1、客户端请求建立SSL链接,并向服务端发送一个随机数–Client random和客户端支持的加密方法,比如RSA公钥加密,此时是明文传输。 2、服务端回复一种客户端支持的加密方法、一个随机数–Server random、授信的服务器证书和非对称加密的公钥。
2017-02-01 15:05:15
8984
原创 maven项目web配置文件多环境配置
web.xml配置servlet> servlet-name>appServletservlet-name> servlet-class>org.springframework.web.servlet.DispatcherServletservlet-class> init-param> param-name>contextConfigLocationparam
2017-01-31 16:58:13
3396
原创 HashMap在非线程安全下的死循环
众所周知,HashMap是非线程安全的,需要线程安全一般选择ConcurrentHashMap或者Hashtable,但是往往常识性的东西容易出问题,比如最近有个同事在线上就碰到这个问题,以前也知道HashMap的这问题,但是最近放假,花点时间整理下:觉得画图耗费时间,就直接手绘再上传照片,下面直接对着下面的图说明下图一1、HashMap基础数据结构是一个链表数组,假设hash方式是模2,对于余数
2017-01-31 14:20:47
394
原创 jetty 源码编译
1、git上拉代码:https://github.com/zhongxiankui/jetty.project.git2、cd到代码目录jetty.project,mvn install,期间会碰到诸如:[ERROR] Failed to execute goal on project cdi-websocket: Could not resolve dependencies
2017-01-26 18:23:02
1151
原创 java虚假唤醒
虚假唤醒就是一些obj.wait()会在除了obj.notify()和obj.notifyAll()的其他情况被唤醒,而此时是不应该唤醒的解决方法:pthread_cond_wait的通常使用方法:pthread_mutex_lock();while(condition_is_false) pthread_cond_wait();pthread_mutex_u
2017-01-07 22:49:40
832
原创 从线程状态看乐观锁和悲观锁
1-1、众所周知线程有几种主要的状态即:新建、就绪、运行、阻塞、死亡状态。2-1、悲观锁(Pessimistic Lock), 顾名思义,就是很悲观,每次去拿数据的时候都认为别人会修改,所以每次在拿数据的时候都会上锁,这样其他线程想获取这个数据就会block直到它拿到锁。当存在竞争时,想获取到锁的线程状态从运行变为阻塞。2-2、乐观锁(Optimistic Lock), 顾名思
2016-12-28 22:46:33
1183
原创 mysql使用记录
1、mysql并没有提供直接的方法来实现批量更新,但是有点小技巧:http://www.jb51.net/article/41852.htm
2016-12-14 12:02:40
259
转载 事务存储结构的实现
事务存储结构的实现(Transectional Memory)张铎 唐玉华 所光(国防科学技术大学 计算机学院,湖南 长沙 410073)摘 要 多核处理技术将成为计算机的主流技术,基于多核开发线程级并行已至关重要,事务的引入能够解决目前线程所不能完成的功能,同时能够简化编程模型,事务存储能很好地实现事务特性。本文首先介绍了TM的基本原理,接着分
2016-12-12 10:07:06
544
转载 Java代码质量检测工具记录
原文:http://zihai367.iteye.com/blog/23057931. PMD from http://pmd.sourceforge.net/ PMD能够扫描Java 源代码,查找类似以下的潜在问题: 可能的bug——try/catch/finally/switch语句中返回空值。 死代码——未使用的局部变量、参数、私有方法。
2016-12-05 10:11:03
415
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人