自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

阿凡提的小毛驴专栏

热爱,坚持。前进的路上总是孤独的~

原创 MAC 安装 Protobuf

MAC 安装 Protobuf 1.确认MAC装有g++、make、vim工具 2.安装make工具使用 brew install make 3.安装protobuf     brew install protobuf 4.安装protobuf依赖库 git clone...

2018-04-22 23:29:10 172 0

转载 分布式系统理论基础 - 选举、多数派和租约

选举(election)是分布式系统实践中常见的问题,通过打破节点间的对等关系,选得的leader(或叫master、coordinator)有助于实现事务原子性、提升决议效率。 多数派(quorum)的思路帮助我们在网络分化的情况下达成决议一致性,在leader选举的场景下帮助我们选出唯一lea...

2017-10-24 17:56:00 235 0

原创 jquery遍历—$().each和$.each()

在jquery中,遍历对象和数组,经常会用到$().each和$.each(),两个方法。1. $().each 在dom处理上面用的较多。如果页面有多个input标签类型为checkbox,对于这时用$().each来处理多个checkbox,例如:$(“input[name=’checkbox...

2017-10-08 23:15:53 4393 0

原创 github参与开源项目,fork简介

当我们参与github上开源项目时,因为开源项目,不是每个人都有push权限,所以这时候,我们就需要了解一个操作—fork;fork的意思可以理解为复制,把别人github上的代码,复制到自己github上一份。fork并且更新一个代码库现在有这样一种情形:有一个叫做Joe的程序猿写了一个游戏程序...

2017-10-08 11:30:46 640 0

转载 使用IntelliJ IDEA和Maven创建java web项目

新建 新建maven项目,create from archetype,选择maven-archetype-webapp Next,填写GroupId,ArtifactId和Version Next,这里在Properties中添加一个参数archetypeCata...

2017-09-22 16:08:07 278 0

原创 认识比特币

比特币是什么比特币是一种基于全球网络的电子货币支付系统“比特币”这个概念最初由中本聪(Satoshi Nakomoto)在2009年提出,是一种P2P形式的数字货币。比特币是建立在全球去中心化网络系统上的,没有央行和第三方机构参与发行的,总量固定的电子货币系统。比特币同时具有支付系统特性和货币属性...

2017-09-21 18:17:02 3538 0

转载 slf4j 和 log4j合用的(Maven)配置

简述: 添加logger的日志输出,下面是配置信息供备忘 步骤: 1. 在Maven的porn.xml 文件中添加dependency如下 [html] view plain copy dependency>...

2017-09-08 16:59:54 139 0

原创 Cannot start compilation: the output path is not specified for module…

使用Idea初期,没有设置class的输出路径,在run项目的时候会出现这种错误解决办法定位文件编译路径(project compiler output),在工具栏的File -> Project Structure… -> Project -> Project compiler...

2017-08-11 15:01:39 1494 0

原创 Java集合框架ArrayList的创建原理

public class User { private String name; private String orgId; public String getName() { return name; } public void setName(S...

2017-08-03 21:05:07 300 0

原创 一个程序员对爱情的思考

爱情本来就与职业无关,可是经常会有一些职业与爱情的调侃,其中关于程序员这个职业调侃应该是比较多的,大家总喜欢给我们这个职业贴上一些标签。业外人看来,我们可能是一副不修边幅,不善交际的,身体亚健康的形象,当然了,我们这样的一群人,应该也是找不到女朋友的。我没有女朋友,大多对这些标签一笑而过,偶尔也会...

2017-07-31 00:17:56 379 0

原创 Java基本数据类型在内存中的存储大小实践

探讨的问题  一直比较疑惑如果一个很大的list在内存中存储的话,会占用多少内存空间呢?太大的话,这部分数据会直接进入堆内存,从而可能导致频繁的full gc。下面结合基本数据类型组成的对象,组成的list,通过生成的文件的大小来分析这个问题。//首先构造一个大的list转换成byte[],然后写...

2017-07-27 13:10:05 498 0

转载 JVM学习05——垃圾收集器

HotSpot JVM收集器               上面有7中收集器,分为两块,上面为新生代收集器,下面是老年代收集器。如果两个收集器之间存在连线,就说明它们可以搭配使用。 Serial(串行GC)收集器 Serial收集器是一个新生代收集器,单线程执行,使用复...

2017-07-23 17:02:51 235 0

转载 JVM学习04——垃圾收集算法

跟踪收集器 跟踪收集器采用的为集中式的管理方式,全局记录对象之间的引用状态,执行时从一些列GC  Roots的对象做为起点,从这些节点向下开始进行搜索所有的引用链,当一个对象到GC  Roots 没有任何引用链时,则证明此对象是不可用的。 下图中,对象Object6、Object7、Obj...

2017-07-23 16:58:40 170 0

原创 JVM学习02——对象的创建与访问

对象的创建  虚拟机遇到一条new指令时,首先将去检查这个指令的参数是否能在常量池中定位到一个类的符号引用,并且检查这个符号引用代表的类是否已被加载、解析和初始化过。如果没有,则先执行相应的类加载过程。类加载检查通过后,接下来虚拟机将为新生对象分配内存。为虚拟机分配内存的任务等同于把一块确定大小的...

2017-07-23 16:36:21 182 0

原创 JVM学习03——类加载机制

类加载机制  JVM把class文件加载的内存,并对数据进行校验、转换解析和初始化,最终形成JVM可以直接使用的Java类型的过程就是加载机制。   类从被加载到虚拟机内存中开始,到卸载出内存为止,它的生命周期包括了:加载(Loading)、验证(Verification)、准备(Prepara...

2017-07-12 00:17:27 249 0

原创 互联网创业公司的一年,产品的从0到1

很多时候我们接触的是成熟的互联网产品,我们大多数人其实不会太关注产品的设计过程,我觉得从一个产品的从0到1的过程也是蛮有意思的。下面我结合我在一家互联网创业公司的经历,从一个菜鸟程序员的角度,具体谈谈我参与的产品从0到1的过程。结合业务进行技术选型:博主的公司是做中小企业商旅服务,目前最火的和未来...

2017-06-11 17:59:34 479 1

转载 Java面试必备技能

如果要应聘高级开发工程师职务,仅仅懂得Java的基础知识是远远不够的,还必须懂得常用数据结构、算法、网络、操作系统等知识。因此本文不会讲解具体的技术,笔者综合自己应聘各大公司的经历,整理了一份大公司对Java高级开发工程师职位的考核纲要,希望可以帮助到需要的人。 当前,市面上有《Java XX宝...

2017-06-04 09:44:07 2029 0

原创 Java研发学习之路小回顾

首先,为什么需要写这篇文章,作为一名java后端研发已经两年,两年的时间多多少少看过一些书,学习过一些专题的知识,工作中接触过一些项目。通过回顾学习和工作中技术成长的路线来发觉自己的不足和需要继续增强提高的地方。   对于一些刚工作出来的小白来说,工作一年以内,工作主要内容是一些jsp/serv...

2017-06-03 02:27:41 517 0

原创 JVM常用参数配置与内存溢出

常见的Java内存溢出有如下三种 java.lang.OutOfMemoryError: Java heap space —-JVM Heap(堆)溢出 JVM在启动的时候会自动设置JVM Heap的值,其初始空间(即-Xms)是物理内存的1/64,最大空间(-Xmx)不可超过物理内存。可以利用J...

2017-06-03 00:52:34 389 0

原创 JVM学习01——Java内存区域划分及内存溢出

运行时数据区域Java虚拟机在执行Java程序过程中会把它管理的内存划分为若干个不同的数据区域。这些区域有各自用途,以及创建和销毁的时间,有的区域随着虚拟机进程的启动而存在,有些区域则依赖用户线程的启动和结束而建立和销毁。根据《Java虚拟机规范(Java SE 7版)的规定,Java虚拟机所管理...

2017-06-01 00:17:55 330 0

原创 java数据结构--排序

数据的移动方式,可分为“直接移动”和“逻辑移动”两种。直接移动改变两个数据的位置,而逻辑移动,则是改变数据的指针。 数据移动使用的内存:内部排序,排序的数据量小,可以完全在内存中进行。外部排序,排序的数据量无法直接在内存内进行排序,而必须使用辅助存储器。 排序算法的选择,通常由以下几点决定 算法...

2017-05-30 18:29:44 303 0

原创 数据结构知识点整理(思维导图版)

Java图解数据结构思维导图内容整理

2017-05-29 18:50:53 10629 0

原创 求数组中的第二大的数(不改变数组的顺序)

如果用冒泡排序对数值排序,那么算法的效率比较低。一开始我考虑的先求出数组的最大值和数组的最小值,然后再循环数组,求出数组的第二大的值,这个算法的时间复杂度是O(n)。 private static void secondArray(){ int [] aa = new int...

2017-05-29 17:19:23 874 0

原创 IntelliJ IDEA 快捷键大全

————————————————实用快捷键:Ctrl+/ 或 Ctrl+Shift+/ 注释(// 或者/…/ ) Ctrl+D 复制行 Ctrl+X 删除行 快速修复 alt+enter (modify/cast) 代码提示 alt+/ ctr+G 定位某一行 Shift+F6 重构...

2017-05-26 23:40:45 338 0

原创 java图解数据结构--树状结构

定义书可用来描述有分支的结构,属于一种阶层性的==非线性结构==,是由一个或一个以上的节点所组成的有限集合。 1. 存在一个特殊的节点,称为树根(root). 2. 其余的节点分为n>=0 个互斥的集合,T1,T2,T…Tn,且每个集合称为子树。树的相关名词 度(degree):子树的个...

2017-05-22 22:25:05 1925 0

原创 Idea快捷键

废话少说,常用idea命令大全呈上 双击shift 在项目的所有目录查找,就是你想看到你不想看到的和你没想过你能看到的都给你找出来 ctrl+f 当前文件查找特定内容 ctrl+shift+f 当前项目查找包含特定内容的文件 ctrl+n 查找类 ctrl+shift+n 查找文件 ct...

2017-05-18 21:51:08 255 0

原创 dubbo提供方与消费方的三种连接方式

1、采用zookeeper作为注册中心<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans...

2017-05-14 11:53:27 6593 0

转载 socket与http的区别

1、TCP连接  手机能够使用联网功能是因为手机底层实现了TCP/IP协议,可以使手机终端通过无线网络建立TCP连接。TCP协议可以对上层网络提供接口,使上层网络数据的传输建立在“无差别”的网络之上。建立起一个TCP连接需要经过“三次握手”:  第一次握手:客户端发送syn包(syn=j)到服务器...

2017-05-14 00:36:46 311 0

转载 OSI七层模型详解

http://blog.csdn.net/xw20084898/article/details/39438783 有时间再整理

2017-05-14 00:31:13 302 0

原创 JVM内存详解Java数据的存储(思维导图整理)

文字 详解http://blog.csdn.net/aaa1117a8w5s6d/article/details/8251456

2017-05-11 23:51:39 1329 0

原创 Java设计模式之单类模式

简介  单例类模式确保某个类只有一个实例,而且自行实例化并向整个系统提供这个例。在计算机系统中,线程池、缓存、日志对象、对话框、打印机、显卡的驱动程序对象常常被设计成单例。选择单例模式是为了避免不一致状态。   有如下特点:    1. 单例模式只能有一个实类。 2. 单例类必...

2017-05-09 23:00:47 251 0

原创 Java的代理(Proxy)-静态代理和动态代理

代理的定义  代理模式(Proxy Pattern)是对象的结构型模式,代理模式给某一个对象提供了一个代理对象,并由代理对象控制对原对象的引用;代理模式不会改变原来的接口和行为,只是转由代理干某件事,代理可以控制原来的目标。   Java的动态代理是Java的一大特性,动态代理的优势就是实现无侵...

2017-05-08 01:11:43 306 1

原创 java构造和解析json-使用jsonlib

介绍  JSON-lib包是一个beans,collections,maps,java arrays 和XML和JSON互相转换的包,主要就是用来解析Json数据,在其官网http://www.json.org/上有详细讲解,有兴趣的可以去研究。基本方法介绍 List集合转换成json方法 ...

2017-05-08 00:12:12 296 0

原创 Java构造和解析Json数据-fastjson

阿里巴巴fastjson介绍1.maven引用 <dependency> <groupId>com.alibaba</groupId> <artifactId>fastjson</artifactId>...

2017-05-07 23:58:54 1524 0

原创 UML建模之时序图学习

简介  通过描述对象之间发送消息的时间顺序,显示多个对象之间的动态协作。它可以表示用例的行为顺序,当执行一个用例行为时,时序图中的每条消息对应了一个类操作或状态机中引起转换的触发事件。    时序图包含以下几大元素:角色,对象,生命线,控制焦点,消息。 1. 角色   系统角色,可以是人,...

2017-05-06 19:24:12 429 0

原创 ki4so单点登陆系统

码云地址> https://git.oschina.net/ywbrj042/ki4so简介  ki4so是一个简约、无状态、易扩展、易伸缩的适合于大型互联网web应用场景的单点登陆系统。它功能简单,只实现了统一登录和登出,它最大的特点是将用户的状态写入到cookies中,最大程度减少单点登...

2017-05-06 18:17:45 617 0

原创 nginx基本命令

nginx 服务器重启命令,关闭 nginx -s reload :修改配置后重新加载生效 nginx -s reopen :重新打开日志文件 nginx -t -c /path/to/nginx.conf 测试nginx配置文件是否正确关闭nginx: nginx -s stop ...

2017-05-04 21:16:23 401 0

原创 好用的java图形验证码

工具類validateCodepackage com.jd.jr.faecms.common.validateCode; import javax.imageio.ImageIO; import java.awt.*; import java.awt.image.BufferedImag...

2017-05-04 16:24:14 7227 2

原创 Js复制剪切-兼容所有浏览器

传统的使用JS复制粘贴,例如,独立的js库Zero Clipboard简单实现复制到剪贴板功能,这种依赖于flash的复制粘贴功能,不同浏览器会有版本不兼容的问题,现在我推荐clipboard.js,完美兼容所有浏览器,而且很方便使用。官方文档及下载地址:> https://clipboar...

2017-05-04 14:13:00 472 0

原创 Iptables防火墙配置

Linux 配置防火墙操作实例(启、停、开、闭端口) iptables的存储位置 /etc/sysconfig/iptables 查询iptable的详细信息: [root@localhost ~]# iptables -L -n -v 查询防火墙状态: [root@localhost ~]#...

2017-04-27 12:55:21 368 1

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