- 博客(59)
- 收藏
- 关注
原创 linux系列之-xsel
xsel 剪切板操作指令:title: linux下直接复制文件内容到剪切板date: 2017-11-23 17:00:06tags:categories: Linux首先安装xsel.xsel --input --clipboard #copy to clipboardxsel --output --clipboard # get from clipboard...
2019-04-01 11:05:14
5832
1
原创 Linux系列之-chkconfig
chkconfig命令主要用来更新(启动或停止)和查询系统服务的运行级信息。谨记chkconfig不是立即自动禁止或激活一个服务,它只是简单的改变了符号连接。使用语法:chkconfig [--add][--del][--list][系统服务] 或 chkconfig [--level <等级代号>][系统服务][on/off/reset]chkconfig在没有参数运行时,...
2019-04-01 11:01:08
690
转载 JDK动态代理解析
动态代理,这个词在Java的世界里面经常被提起,尤其是对于部分(这里强调“部分”二字,因为有做了一两年就成大神的,实力强的令人发指,这类人无疑是非常懂动态代理这点小伎俩的)做了一两年新人来说,总是摸不清楚来龙去脉,一两年是个坎,为什么是一两年,才入门的新人可能对这东西没什么感觉,没到这一步,做了很久开发的人显然是明白这其中原理的,而做了一两年的,知其然而不知其所以然,所以一两年工作经验的人很多是很...
2019-02-21 15:28:37
261
转载 Java Web Servlet 生命周期
Servlet运行在Servlet容器中,其生命周期由容器来管理。Servlet的生命周期通过javax.servlet.Servlet接口中的init()、service()和destroy()方法来表示Servlet的生命周期包含了下面4个阶段:1.加载和实例化2.初始化3.请求处理4.服务终止 Web服务器在与客户端交互时Servlet的工作过程是:...
2019-02-11 16:59:32
12708
原创 JAVA基础之:reflection和introspector 简单介绍
接触JAVA语言后就会发现这样两个词:反射(Reflection)和内省(Introspector),经常搞不清楚这到底是怎么回事,在什么场合下应用以及如何使用?今天把这二者放在一起介绍,因为它们二者是相辅相成的。反射 相对而言,反射比内省更容易理解一点。用一句比较白的话来概括,反射就是让你可以通过名称来得到对象(类,属性,方法)的技术。例如我们可以通过类名来生成一个类的实例;知道了方...
2019-02-06 13:49:39
262
原创 JDK1.8源码解读之WeakHashMap解读
WeakHashMap 继承:AbstractMap 实现:Map 1、key value皆可以为null 2、非线程安全的,线程安全可以使用Collections#synchronizedMap方式获得 3、本Map中被Weak的是key,value还是强引用的,在实现的源码中,调用get resize getTable方式时候通过expungeStale...
2019-01-23 18:06:11
690
原创 Java基础之四种引用
Java四种引用包括强引用,软引用,弱引用,虚引用。强引用:只要引用存在,垃圾回收器永远不会回收Object obj = new Object();//可直接通过obj取得对应的对象 如obj.equels(new Object());而这样 obj对象对后面new Object的一个强引用,只有当obj这个引用被释放之后,对象才会被释放掉,这也是我们经常所用到的编码形式。软引用...
2019-01-19 12:23:18
286
原创 分布式事务处理方案示例
问题的起源在电商等业务中,系统一般由多个独立的服务组成,如何解决分布式调用时候数据的一致性? 具体业务场景如下,比如一个业务操作,如果同时调用服务 A、B、C,需要满足要么同时成功;要么同时失败。A、B、C 可能是多个不同部门开发、部署在不同服务器上的远程服务。在分布式系统来说,如果不想牺牲一致性,CAP 理论告诉我们只能放弃可用性,这显然不能接受。为了便于讨论问题,先简单介绍下数据一致性的基础理...
2018-04-25 18:35:02
3659
原创 幂等性
Programming.log - a place to keep my thoughts on programming理解HTTP幂等性基于HTTP协议的Web API是时下最为流行的一种分布式服务提供方式。无论是在大型互联网应用还是企业级架构中,我们都见到了越来越多的SOA或RESTful的Web API。为什么Web API如此流行呢?我认为很大程度上应归功于简单有效的HTTP协议。HTTP...
2018-04-25 18:32:49
205
原创 分布式事务处理分析
1.问题解析 要想做架构,必须识别出问题,即是谁的问题,什么问题。明显的,分布式架构解决的是高并发的问题,高并发下服务高可用和数据一致性问题问题;当规模规模较小时,单库HA即可满足请求,当业务规模持续增加,单库已经无法满足业务需求,业界主流做法,是对业务进行分表、分库,那么原来的有些业务,现在则要在一个事务中,保证两个库同时操作成功或操作不成功(一个库成功,一个库失败,要么重新尝试失败库操作...
2018-04-25 18:29:50
236
原创 Linux命令系列之htpasswd
htpasswd命令是Apache的Web服务器内置工具,用于创建和更新储存用户名、域和用户基本认证的密码文件。语法htpasswd(选项)(参数)选项-c:创建一个加密文件;-n:不更新加密文件,只将加密后的用户名密码显示在屏幕上;-m:默认采用MD5算法对密码进行加密;-d:采用CRYPT算法对密码进行加密;-p:不对密码进行进行加密,即明文密码;-s:采用SHA算法对密码进行加密;...
2018-04-23 17:00:18
1735
原创 分布式事务浅析
前言最近很久没有写博客了,一方面是因为公司事情最近比较忙,另外一方面是因为在进行 CAP 的下一阶段的开发工作,不过目前已经告一段落了。接下来还是开始我们今天的话题,说说分布式事务,或者说是我眼中的分布式事务,因为每个人可能对其的理解都不一样。分布式事务是企业集成中的一个技术难点,也是每一个分布式系统架构中都会涉及到的一个东西,特别是在微服务架构中,几乎可以说是无法避免,本文就分布式事务来简单聊一...
2018-04-20 17:24:48
250
原创 Zookeeper系列之原理及应用
Zookeeper简介Zookeeper 分布式服务框架是 Apache Hadoop 的一个子项目,它主要是用来解决分布式应用中经常遇到的一些数据管理问题,如:统一命名服务、状态同步服务、集群管理、分布式应用配置项的管理等等。Zookeeper基本概念zk角色Zookeeper中的角色主要有以下三类,如下表所示:zookeeper角色zk service网络结构Zookeeper的工作集群可以简...
2018-04-20 17:22:58
336
原创 Redis系列之Cluster LRU算法
LRU算法作为内存管理的一种有效算法,其含义是在内存有限的情况下,当内存容量不足时,为了保证程序的运行,这时就不得不淘汰内存中的一些对象,释放这些对象占用的空间,那么选择淘汰哪些对象呢?LRU算法就提供了一种策略,告诉我们选择最近一段时间内,最久未使用的对象将其淘汰,至于为什么要选择最久未使用的,可以想想,最近一段时间内使用的东西,我们是不是可能一会又要用到呢~,而很长一段时间内都没有使用过的东西...
2018-04-20 16:41:51
320
转载 数据结构系列之B树、B+树、B*树
第一节、B树、B+树、B*树1.前言:动态查找树主要有:二叉查找树(Binary Search Tree),平衡二叉查找树(Balanced Binary Search Tree),红黑树(Red-Black Tree ),B-tree/B+-tree/ B*-tree (B~Tree)。前三者是典型的二叉查找树结构,其查找的时间复杂度O(log2N)与树的深度相关,那么降低树的深度自然会提高查找...
2018-04-20 15:03:57
319
转载 Java 系列之性能优化建议
1.没有必要时请不用使用静态变量 使用Java的开发者都知道,当某个对象被定义为stataic变量所引用,这个对象所占有的内存将不会被回收。有时,开发者会将经常调用的对象或者变量定义为static,以便提高程序的运行性能。因此,不是常用到的对象或者变量,不要定义为static类型的变量,尤其是静态类对象的定义,一定要仔细考虑是否有必要。例如 public class X{ ...
2018-04-17 16:53:43
189
原创 java 线程状态
一. 线程状态类型1. 新建状态(New):新创建了一个线程对象。2. 就绪状态(Runnable):线程对象创建后,其他线程调用了该对象的start()方法。该状态的线程位于可运行线程池中,变得可运行,等待获取CPU的使用权。3. 运行状态(Running):就绪状态的线程获取了CPU,执行程序代码。4. 阻塞状态(Blocked):阻塞状态是线程因为某种原因放弃CPU使用权,暂时停止运行。直到...
2018-04-17 16:51:46
142
原创 java JVM栈和堆
JAVA的JVM的内存可分为3个区:堆(heap)、栈(stack)和方法区(method)堆区:1.存储的全部是对象,每个对象都包含一个与之对应的class的信息。(class的目的是得到操作指令)2.jvm只有一个堆区(heap)被所有线程共享,堆中不存放基本类型和对象引用,只存放对象本身栈区:1.每个线程包含一个栈区,栈中只保存基础数据类型的对象和自定义对象的引用(不是对象),对象都存放在堆...
2018-04-17 16:51:09
264
原创 linux系列之nethogs(网络流量监控)
Nethogs 是一个终端下的网络流量监控工具,它的特别之处在于可以显示每个进程的带宽占用情况,这样可以更直观获取网络使用情况。它支持 IPv4 和 IPv6 协议、支持本地网卡及 PPP 链接。 安装: centos:yum install nethogs -y 安装包安装: 依赖:yum install libpcap-devel nc...
2018-04-17 10:19:05
1456
原创 Linux系列之iftop(流量访问监控)
Linux中查看网卡流量工具有iptraf、iftop以及nethogs等,iftop可以用来监控网卡的实时流量(可以指定网段)、反向解析IP、显示端口信息等。安装: 1、centos:yum install iftop -y 2、安装包安装: 依赖:yum install flex byacc libpcap ncurses ncurse...
2018-04-17 09:59:44
690
原创 Java wait和sleep的异同
首先,要记住这个差别,“sleep是Thread类的方法,wait是Object类中定义的方法”。尽管这两个方法都会影响线程的执行行为,但是本质上是有区别的。Thread.sleep不会导致锁行为的改变,如果当前线程是拥有锁的,那么Thread.sleep不会让线程释放锁。如果能够帮助你记忆的话,可以简单认为和锁相关的方法都定义在Object类中,因此调用Thread.sleep是不会影响锁的相关...
2018-04-17 09:47:48
169
原创 Gradle系列之Zip打包
/** * 执行zip打包操作 */task zip(type: Zip,dependsOn:copyToZip) { from 'build/libs/zip' destinationDir file('build/temp2')}依赖的copyToZip task为复制需要的文件到指定目录,然后执行zip task,生成zip包,可以使用destinationDir来指定生成zip...
2018-04-12 15:35:23
11850
原创 Gradle系列之 复制文件(copy任务)
复制文件你可以使用复制任务( Copy )去复制文件. 复制任务扩展性很强,能够过滤复制文件的内容, 映射文件名.使用复制任务时需要提供想要复制的源文件和一个目标目录,如果你要指定文件被复制时的转换方式,可以使用 复制规则. 复制规则被 CopySpec 接口抽象,复制任务实现了这个接口. 使用 CopySpec.from() 方法指定源文件.使用 CopySpec.into() 方法指定目标目录...
2018-04-12 14:47:08
30237
1
原创 Linux命令系列之-- nohub 和 &
1、nohub用途:不挂断地运行命令。语法:nohup Command [ Arg … ] [ & ] 无论是否将 nohup 命令的输出重定向到终端,输出都将附加到当前目录的 nohup.out 文件中。 如果当前目录的 nohup.out 文件不可写,输出重定向到 $HOME/nohup.out 文件中。 如果没有文件能创建或打开以用于追加,那么 Command 参数指定的命令不...
2018-04-11 15:50:07
5422
转载 JS判断pc mobile几种方式
方法一:function IsPC(){ var userAgentInfo = navigator.userAgent; var Agents = new Array("Android", "iPhone", "SymbianOS", "Windows Phone", "iPad", "iPod"); var flag = true;
2018-04-11 15:33:59
2008
原创 HTML5 JS常见问题汇总
1、Form表单中Button按钮,点击刷新整个页面 button,input type=button按钮在IE和w3c,firefox浏览器区别: a、当在IE浏览器下面时,button标签按钮,input标签type属性为button的按钮是一样的功能,不会对表单进行任何操作。 b、但是在W3C浏览器,如Firefox下就需要注意了,button标签按钮会提交表单,而in...
2018-04-08 13:33:25
298
转载 Kafka整体框架详细原理
KafkaKafka是最初由Linkedin公司开发,是一个分布式、支持分区的(partition)、多副本的(replica),基于zookeeper协调的分布式消息系统,它的最大的特性就是可以实时的处理大量数据以满足各种需求场景:比如基于hadoop的批处理系统、低延迟的实时系统、storm/Spark流式处理引擎,web/nginx日志、访问日志,消息服务等等,用scala语言编写,Link...
2018-03-26 13:41:18
3647
翻译 Elasticsearch6.2.2说明文档--Mapping
环境: Elasticsearch: 6.2.2 Kibana: 6.2.2 os: centos 7原文链接:https://www.elastic.co/guide/en/elasticsearch/reference/current/mapping.html原文链接:https://www.elastic.co/guide/en/elasticsearch...
2018-03-13 17:46:09
2306
翻译 Elasticsearch6.2.2说明文档--数据操作(Document操作)
环境: Elasticsearch: 6.2.2 Kibana: 6.2.2 os: centos 7 原文参考地址:https://www.elastic.co/guide/en/elasticsearch/reference/current/_modifying_your_data.html 原文参考地址:https://www.elastic.co/gui...
2018-03-13 15:33:01
1570
翻译 Elasticsearch6.2.2说明文档--index操作
环境: Elasticsearch: 6.2.2 Kibana: 6.2.2 os: centos 7 原文地址:https://www.elastic.co/guide/en/elasticsearch/reference/current/_index_and_query_a_document.html 原文地址:https://www.elastic.co/...
2018-03-13 13:51:00
1890
原创 Elasticsearch6.2.2说明文档--基本概念
环境: Elasticsearch: 6.2.2 Kibana: 6.2.2 os: centos 7参考文档:https://www.elastic.co/guide/en/elasticsearch/reference/current/_basic_concepts.html1 索引含义:1.1 在ES中索引包含两层意思:一种是名词:类似传统数据库的库,一种...
2018-03-13 10:06:17
562
1
翻译 Elasticsearch6.2.2说明文档--集群健康监测
环境: Elasticsearch: 6.2.2 Kibana: 6.2.2 os: centos 7原文地址:https://www.elastic.co/guide/en/elasticsearch/reference/current/_cluster_health.html 一个基础的健康监测,可以为我们提供我们的ES集群当前的状态,我们可以使用c...
2018-03-13 09:47:18
679
翻译 Elasticsearch分片优化
原文地址:https://qbox.io/blog/optimizing-elasticsearch-how-many-shards-per-index大多数ElasticSearch用户在创建索引时通用会问的一个重要问题是:我需要创建多少个分片?在本文中, 我将介绍在分片分配时的一些权衡以及不同设置带来的性能影响. 如果想搞清晰你的分片策略以及如何优化,请继续往下阅读.为什么要考虑分片数分片分配...
2018-03-12 14:57:02
2196
原创 ES(ElasticSearch) 索引创建
环境:ES 6.2.2os:Centos 7kibana:6.2.21、创建新的索引(index) PUT indexTest001 结果:2、索引设置 ES 默认提供了好多索引配置选项,参考https://www.elastic.co/guide/en/elasticsearch/reference/5.6/index-modules.html,这些配置选项都有经过优化的...
2018-03-12 14:52:38
96442
1
原创 Java ConcurrentHashMap 解析
继承: AbstractMap<K,V>接口:ConcurrentMap<K,V>, Serializable1、所有的操作都是线程安全的2、线程安全不是通过synchroned实现,同样GET、PUT、REMOVE操作也不会产生锁。3、key value不能为null4、...
2018-03-12 08:34:20
150
原创 java8 Hashtable 解析
实现接口:Map<K,V>, Cloneable, java.io.Serializable继 承:Dictionary1、线程安全,通过方法synchronized实现2、key 、value均不能为空3、两个重要参数initial capacity(初始化容量)、load factor(扩容因子) 这两个参数对性能影响很大,决定了对时间和空间的使用,默认值分别为16、0....
2018-03-09 17:06:00
326
原创 Google Java代码规范
原文地址:https://google.github.io/styleguide/javaguide.htmlGIthub上GoogleCode风格的配置文件(支持Eclipse IDE和IntelliJ IDE):https://github.com/codeset/google-java-styleguide1简介本文档作为Java编程语言中源代码的Google编码标准的完整定义。当且仅当它遵...
2018-03-09 16:09:59
8209
1
原创 AWK命令
AWK是一种处理文本文件的语言,是一个强大的文本分析工具。之所以叫AWK是因为其取了三位创始人 Alfred Aho,Peter Weinberger, 和 Brian Kernighan 的Family Name的首字符。语法awk [选项参数] 'script' var=value file(s)或awk [选项参数] -f scriptfile var=value file(s)选项参数...
2018-03-09 16:04:15
179
转载 Java 内存模型以及垃圾收集
一、JVM体系结构程序计数器:是一块较小的内存空间,可以看作是当前线程所执行的字节码的行号指示器。虚拟机栈:是描述java方法执行的内存模型,每个方法在执行的同时都会创建一个栈帧(Stack Frame)用于存储局部变量表、操作数栈、动态链接、方法出口等信息。每一个方法从调用直至执行完成的过程,就对应着一个栈帧在虚拟机栈中入栈到出栈的过程。本地方法栈:跟虚拟机栈类似,虚拟机栈是为虚拟机执行java...
2018-03-09 15:46:20
164
转载 dubbo-spring-boot-starter
资源地址:https://github.com/alibaba/dubbo-spring-boot-starterDubbo Spring Boot Starter。支持jdk版本为1.6或者1.6+(在修改源码前,请导入googlestyle-java.xml以保证一致的代码格式)dubbo-spring-boot-starter 很简单,也很方便使用,它同时集成了dubbo 的 provid...
2018-03-09 15:34:33
1816
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人