自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

sichenglain的专栏

勤于思考,更要勤于动手

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

原创 Java EE8

概述自Java EE 7在2013年6月发布以来,过了三年多的时间,Java EE 8也开始做调研,准备制定新一代的标准, 我也对此有着较大的期待,虽然我们现在用着Spring,用着redis, 用着rabbitmq,用着mybatis, jdbctemplate,似乎感觉不到Java EE标准对我们的影响。Java EE8技术调研在此次调研中, 有大约4500个有效数据, 对20多个技术重要性进行

2017-01-18 21:34:37 2541

原创 AMQP

概述参考资料AMQP Version 1.0

2017-01-16 19:56:27 352

原创 2016年终总结及2017计划

自从2010年高三毕业以后, 发觉每一年都过的飞快, 有种刚刚开始便已经结束的怅然.到现在已经出来工作两个半年头了, 因为投身快速变化的互联网行业,自身的压力从学习的压力也加上了工作与生存的压力,当然还有父母催婚的压力(:逃. 回望2016, 主要做了以下事情: 1. 搭建了Hadoop, Hbase,对其有了大概的了解 2. 学习了zookeeper,但是对paxos算法还不是很了解 3

2017-01-01 12:09:50 531

原创 Java运行时常量池与final修饰符的关系

概述Java运行时常量池是JVM运行时内存模型的重要部分.我对常量池的理解大都来自于周志明大大的《深入理解Java虚拟机》, 书中对常量池有较多的描述与解释, 在内存管理, 类文件结构等部分章节中都有说明. 正如我之前的博文–JVM内存管理对常量池描述的一样,常量池会存储字面量和符号引用,但我有个疑问: 常量池与final修饰符的关系是怎么样的?Codepublic class Test{

2016-12-24 15:03:36 1547

原创 Spring IOC容器启动过程

IOC容器启动过程资源定位(classpath,filesystem等)载入,将bean定义转换为内部数据结构BeanDefintion向IOC容器注册bean资源定位定位配置文件,通过BeadDefinetionReader读入配置refresh方法实现IOC容器启动方法是ConfigurableApplicationContext中定义的refresh方法,在AbstractApplic

2016-12-18 13:41:52 2785

原创 Java NIO详解(一): FileChannel

概述FileChannel是用来读,写,映射, 操作文件的channel(概念参见我的另一篇Java NIO概述). A channel for reading, writing, mapping, and manipulating a file.获取FileChannel对象有三种方式:FileInputStream.getChannel();FileOutputStream.getCh

2016-12-09 13:03:53 2245

原创 mongodb数组和嵌入文档操作

增加字段

2016-12-08 19:54:22 3990

原创 python基础(一):python语法一览

python语法一览# mymodule.pyfrom package_name import modulefrom module import global_variablefrom module import class# it is discouraged, it will import all into current module namespacefrom module impo

2016-12-08 00:00:49 415

原创 异常控制流

概述这是读《深入理解计算机系统》中异常控制流的读书笔记.控制流当创建一个进程时,程序计数器假设是一个值序列,a0…an-1, 其中ak是相应指令Ik的地址,每次从ak到ak+1的过渡称为控制转移。 这样的控制转移序列叫做控制流。异常控制流(Exception Control Flow, ECF)现代操作系统通过使控制流发生突变来对系统状态变化做出反应,这些突变称为异常控制流。异常控制流的表现形式异

2016-12-07 23:57:44 532

原创 Java NIO概述

概述JAVA NIO是IO复用模型( POSIX定义的五种IO模型: 阻塞IO, 非阻塞IO, IO复用, 异步IO, 信号驱动IO )的实现.在Linux系统中,复用IO用三种实现: select, poll, epoll.selectselect实现有2个问题,文件描述符的限制以及需要对所有监听的channel进行遍历pollpoll实现解决的是描述符限制, 依然还需要进行channel遍历ep

2016-12-07 23:26:01 371

原创 JVM 内存管理

概述这篇文章是我学习周志明大大《深入理解Java虚拟机》内存管理章节的学习笔记.运行时内存模型程序计数器虚拟机栈本地方法栈方法区(永久代)堆(年轻代和老年代)直接内存(NIO堆外内存)内存分配比例年轻代 : 老年代 : 永久代 = 8 : 1 : 1.(这是我们一般的分配比例)程序计数器程序计数器记录下一条需要执行的指令,分支, 循环, 跳转, 异常处理, 线程回复依赖此计数器程序

2016-12-05 23:46:45 354

原创 负载均衡(一)

概述负载均衡是一种常见的技术,我相信在互联网公司里面都会使用到。这篇文章我想详细,全面的讲讲互联网服务接入层的负载均衡,也算是自己对负载均衡技术的总结。 负载均衡按网络层次来划分,可以分为数据链路层负载均衡,网络层负载均衡,应用层负载均衡。在实际使用负载均衡技术时,并不是只使用一种技术,往往是多种技术搭配一起使用的,这样才能做到更高的SLA。 负载均衡技术一览硬件负载均衡(如F5)LVSNg

2016-11-30 23:46:45 426

翻译 GraphQL简介(译)

简介GraphQL是一种API查询语言,是一个对自定义类型系统执行查询的服务端运行环境。GraphQL没有绑定任何的数据库或者存储引擎,反而是基于现存的代码和数据。GraphQL服务通过定义类型和属性来创建,然后为在这些类型上的每个属性创建函数。例如,GraphQL服务告诉我们记录在user上的是(me),同时,用户的名字看起来像这样:type Query { me: User}type Us

2016-10-26 20:58:47 1731

转载 服务容灾(转)

【纲要】常见事故及如何容灾逻辑层容灾数据层容灾容灾判定负载均衡,过载保护【常见事故及如何容灾】服务器故障死机 ——备份(硬件方案,软件方案)服务雪崩——负载均衡,过载保护网络环境恶劣——多运营商,异步部署就近服务程序core,负责人无法联系 —– 自动拉起服务,备份负责人…【设计方案*逻辑层容灾】*容灾模型1+1 容灾;1+n 容灾;n+1容灾*切换方式主要有冷切,热切,双在线这三种方式冷切:主

2016-10-26 20:31:25 3097

原创 unix网络编程源代码环境搭建

源代码下载解压unix网络编程-卷1unix网络编程-卷2编译静态库 卷1 1. ./configure 2. cd lib 3. make 4. 在unpv13e下就有libunp.a, 拷贝到/usr/lib, 执行(在unpv13e目录下)cp libunp.a /usr/lib卷2在unpv22e目录下, 执行./configure,提示不能执行./config.sub, 这是

2016-08-20 11:03:01 336

原创 堆排序Java实现

public static void heapSort(int[] data,int start){ for(int j=0;j<data.length-1;j++){ createMaxHeap(data,j); } } public static void createMaxHeap(int[] data,int start)

2016-05-24 17:23:22 346

原创 程序员需要懂的常用数据结构

我用脑图列出常用的数据结构(有一些并不常用),可以用来检查自己对哪些常用的数据结构还不熟悉。当需要面试时,也可以当做复习索引。 我所列的可能不太全,如果有补充的,欢迎评论补充。我在这里也发布了

2016-05-22 14:28:36 1473

原创 Java数据库连接池比较及使用场景

我们在连接数据库的时候,由于创建数据库连接代价很大(销毁连接的代价也很大),需要消耗很多资源,因此引入数据库连接池。数据库连接池是一种池化技术,预先创建好数据库连接,保存在内存中,当需要连接时,从中取出即可,使用完后放回连接池。下面我们介绍Java中常用的数据库连接池,主要介绍的内容有以下几点: 1. 优点及不足 2. 如何使用 3. 在哪些库或者框架中被使用。常用的五种数据库连接池T

2016-05-21 13:48:38 2329 1

原创 springboot数据库连接池使用策略

springboot官方文档介绍数据库连接池的使用策略如下: Production database connections can also be auto-configured using a pooling DataSource. Here’s the algorithm for choosing a specific implementation: We prefer

2016-05-21 12:18:15 12369 1

原创 Springboot入门(使用指南)

Springboot简介Springboot适合用来构建微服务,是典型的约定优于配置,Springboot没有像Spring FrameWork一样,需要配置一堆的文件,一切都是默认配置的,当然如果有需要,Springboot还是提供了而外的配置文件,毕竟生产环境,毕竟复杂多样的需求全部用默认配置是满足不了的。 Springboot的主要特点如下:内嵌servlet容器,可选Tomcat

2016-05-18 23:11:16 746

原创 数据库性能优化

数据库性能优化是个大话题,从大的方面讲,可以从硬件,软件上优化,此文讲的都是从软件上的优化。 主要有三个方面: - 表结构优化 - 数据类型优化 - 索引优化 - 查询优化一、表结构优化 我们设计表的时候,第一个会想到的规范就是范式,这里先回顾一下什么是范式: 第一范式 不存在表中有表,是指字段不可再分、 第二范式 不存在传递依赖 第三范式 不存在部分依赖 BC范

2015-07-18 22:38:15 350

原创 我对JavaScript原型的理解

js是基于原型的语言,java,c++是基于类的语言。基于原型的特性给了js极大的灵活性。1. 原型是什么每个Function类型的对象都有一个prototype属性, 而每个prototype又是一个Object类型的对象。在构造对象的时候,会根据原型去构造(可能是直接复制原型对象)。每个function的prototype默认是个空对象{}。2. 原型链原型

2015-05-15 11:57:04 345

原创 你真的懂原型继承(JavaScript)吗?

如果你还不了解原型和原型链,请看。请看一个关于原型继承的例子。function Person(){  this.name = 'father';}function Son(){  console.log(name); // 这里打印为空 console.log(Son.prototype.name); // 这里打印为father}Son.protot

2015-05-15 10:25:27 357

原创 centos 6.4 下搭建redis3.0.0

在centos6.4下搭建redis3.0.0

2015-04-22 21:08:22 400

原创 struts2总结

对strut2总体框架的一个总结,与大家共享交流。

2013-09-15 09:57:47 455

java工程师标准

java工程师标准。看看你是否达到了要求,没达到的话,就可以有方向的继续的努力了。

2013-07-24

空空如也

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

TA关注的人

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