- 博客(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
2618
原创 2016年终总结及2017计划
自从2010年高三毕业以后, 发觉每一年都过的飞快, 有种刚刚开始便已经结束的怅然.到现在已经出来工作两个半年头了, 因为投身快速变化的互联网行业,自身的压力从学习的压力也加上了工作与生存的压力,当然还有父母催婚的压力(:逃. 回望2016, 主要做了以下事情: 1. 搭建了Hadoop, Hbase,对其有了大概的了解 2. 学习了zookeeper,但是对paxos算法还不是很了解 3
2017-01-01 12:09:50
587
原创 Java运行时常量池与final修饰符的关系
概述Java运行时常量池是JVM运行时内存模型的重要部分.我对常量池的理解大都来自于周志明大大的《深入理解Java虚拟机》, 书中对常量池有较多的描述与解释, 在内存管理, 类文件结构等部分章节中都有说明. 正如我之前的博文–JVM内存管理对常量池描述的一样,常量池会存储字面量和符号引用,但我有个疑问: 常量池与final修饰符的关系是怎么样的?Codepublic class Test{
2016-12-24 15:03:36
1599
原创 Spring IOC容器启动过程
IOC容器启动过程资源定位(classpath,filesystem等)载入,将bean定义转换为内部数据结构BeanDefintion向IOC容器注册bean资源定位定位配置文件,通过BeadDefinetionReader读入配置refresh方法实现IOC容器启动方法是ConfigurableApplicationContext中定义的refresh方法,在AbstractApplic
2016-12-18 13:41:52
2853
原创 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
2327
原创 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
441
原创 异常控制流
概述这是读《深入理解计算机系统》中异常控制流的读书笔记.控制流当创建一个进程时,程序计数器假设是一个值序列,a0…an-1, 其中ak是相应指令Ik的地址,每次从ak到ak+1的过渡称为控制转移。 这样的控制转移序列叫做控制流。异常控制流(Exception Control Flow, ECF)现代操作系统通过使控制流发生突变来对系统状态变化做出反应,这些突变称为异常控制流。异常控制流的表现形式异
2016-12-07 23:57:44
576
原创 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
435
原创 JVM 内存管理
概述这篇文章是我学习周志明大大《深入理解Java虚拟机》内存管理章节的学习笔记.运行时内存模型程序计数器虚拟机栈本地方法栈方法区(永久代)堆(年轻代和老年代)直接内存(NIO堆外内存)内存分配比例年轻代 : 老年代 : 永久代 = 8 : 1 : 1.(这是我们一般的分配比例)程序计数器程序计数器记录下一条需要执行的指令,分支, 循环, 跳转, 异常处理, 线程回复依赖此计数器程序
2016-12-05 23:46:45
423
原创 负载均衡(一)
概述负载均衡是一种常见的技术,我相信在互联网公司里面都会使用到。这篇文章我想详细,全面的讲讲互联网服务接入层的负载均衡,也算是自己对负载均衡技术的总结。 负载均衡按网络层次来划分,可以分为数据链路层负载均衡,网络层负载均衡,应用层负载均衡。在实际使用负载均衡技术时,并不是只使用一种技术,往往是多种技术搭配一起使用的,这样才能做到更高的SLA。 负载均衡技术一览硬件负载均衡(如F5)LVSNg
2016-11-30 23:46:45
466
翻译 GraphQL简介(译)
简介GraphQL是一种API查询语言,是一个对自定义类型系统执行查询的服务端运行环境。GraphQL没有绑定任何的数据库或者存储引擎,反而是基于现存的代码和数据。GraphQL服务通过定义类型和属性来创建,然后为在这些类型上的每个属性创建函数。例如,GraphQL服务告诉我们记录在user上的是(me),同时,用户的名字看起来像这样:type Query { me: User}type Us
2016-10-26 20:58:47
1780
转载 服务容灾(转)
【纲要】常见事故及如何容灾逻辑层容灾数据层容灾容灾判定负载均衡,过载保护【常见事故及如何容灾】服务器故障死机 ——备份(硬件方案,软件方案)服务雪崩——负载均衡,过载保护网络环境恶劣——多运营商,异步部署就近服务程序core,负责人无法联系 —– 自动拉起服务,备份负责人…【设计方案*逻辑层容灾】*容灾模型1+1 容灾;1+n 容灾;n+1容灾*切换方式主要有冷切,热切,双在线这三种方式冷切:主
2016-10-26 20:31:25
3160
原创 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
376
原创 堆排序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
371
原创 程序员需要懂的常用数据结构
我用脑图列出常用的数据结构(有一些并不常用),可以用来检查自己对哪些常用的数据结构还不熟悉。当需要面试时,也可以当做复习索引。 我所列的可能不太全,如果有补充的,欢迎评论补充。我在这里也发布了
2016-05-22 14:28:36
1512
原创 Java数据库连接池比较及使用场景
我们在连接数据库的时候,由于创建数据库连接代价很大(销毁连接的代价也很大),需要消耗很多资源,因此引入数据库连接池。数据库连接池是一种池化技术,预先创建好数据库连接,保存在内存中,当需要连接时,从中取出即可,使用完后放回连接池。下面我们介绍Java中常用的数据库连接池,主要介绍的内容有以下几点: 1. 优点及不足 2. 如何使用 3. 在哪些库或者框架中被使用。常用的五种数据库连接池T
2016-05-21 13:48:38
2382
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
12427
原创 Springboot入门(使用指南)
Springboot简介Springboot适合用来构建微服务,是典型的约定优于配置,Springboot没有像Spring FrameWork一样,需要配置一堆的文件,一切都是默认配置的,当然如果有需要,Springboot还是提供了而外的配置文件,毕竟生产环境,毕竟复杂多样的需求全部用默认配置是满足不了的。 Springboot的主要特点如下:内嵌servlet容器,可选Tomcat
2016-05-18 23:11:16
781
原创 数据库性能优化
数据库性能优化是个大话题,从大的方面讲,可以从硬件,软件上优化,此文讲的都是从软件上的优化。 主要有三个方面: - 表结构优化 - 数据类型优化 - 索引优化 - 查询优化一、表结构优化 我们设计表的时候,第一个会想到的规范就是范式,这里先回顾一下什么是范式: 第一范式 不存在表中有表,是指字段不可再分、 第二范式 不存在传递依赖 第三范式 不存在部分依赖 BC范
2015-07-18 22:38:15
367
原创 我对JavaScript原型的理解
js是基于原型的语言,java,c++是基于类的语言。基于原型的特性给了js极大的灵活性。1. 原型是什么每个Function类型的对象都有一个prototype属性, 而每个prototype又是一个Object类型的对象。在构造对象的时候,会根据原型去构造(可能是直接复制原型对象)。每个function的prototype默认是个空对象{}。2. 原型链原型
2015-05-15 11:57:04
388
原创 你真的懂原型继承(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
386
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人